2. 2
Objetivos
● ¿Qué es una vulnerabilidad?
● ¿Qué tipos de vulnerabilidades existen?
● ¿Qué herramientas permiten realizar análisis de vulnerabilidad?
● ¿Cómo funciona una herramienta de análisis de vulnerabilidad?
● ¿Qué tipos de análisis de vulnerabilidades existen?
● ¿Cuales son las ventajas y desventajas de estas herramientas?
● ¿Qué tipo de herramientas existen hoy en día en el mercado?
● Una herramienta concreta: Nessus
4. 4
¿Qué es una vulnerabilidad?
● Los sistemas informáticos
usan una diversidad de
componentes.
● Los ataques se pueden
producir en cada eslabón de
esta cadena, siempre y
cuando exista una
vulnerabilidad que pueda
aprovecharse
7. 7
¿Qué es una vulnerabilidad?
● Ingeniería social: el eslabón más débil es el mismo usuario.
Muchas veces es él quien, por ignorancia o a causa de un
engaño, genera una vulnerabilidad en el sistema al brindar
información (la contraseña, por ejemplo) o al abrir un archivo
adjunto. Cuando ello sucede, ningún dispositivo puede proteger
al usuario contra la falsificación: sólo el sentido común, la razón
y el conocimiento básico acerca de las prácticas utilizadas
pueden ayudar a evitar este tipo de errores.
● Puertas trampa: son puertas traseras ocultas en un programa
de software que brindan acceso.
9. 9
¿Qué herramientas permiten estos análisis?
● Escáneres de vulnerabilidades
● Definición: herramienta que permite realizar pruebas o test de
ataque para determinar si una red o equipo tiene fallos de
seguridad.
● Caso especial de detectores de intrusiones. La diferencia radica en:
●
Detección de intrusos: sistema de tipo dinámico → trabaja de
forma continua
●
Escáneres de vulnerabilidades: sistema de tipo estático →
trabaja en intervalos de tiempo determinado
12. 12
Análisis de vulnerabilidades basado en máquina
● Definición: Tipo de análisis que utiliza información del sistema
(ajustes de configuración, contenidos de ficheros, etc) para la
detección de vulnerabilidades. Obtiene esta información a
través de consultas por lo que tiene acceso autorizado.
● Llamada evaluación pasiva o análisis con acreditaciones
● Desventajas:
● el motor del analizador está muy relacionado con el SO
●
mantenimiento costoso
●
administración del escáner complicado en sistemas
heterogéneos
● usar credenciales protegidas para evitar que sean objeto de
ataque
14. 14
Ejemplo análisis de vulnerabilidad basado en máquina
● Un script como el siguiente se encarga de avisar mediante
correo electrónico al administrador del sistema en caso de
encontrar entradas anómalas en el fichero de contraseñas
#!/usr/bin/perl
$count==0;
open(MAIL, "| /usr/lib/sendmail mikal");
print MAIL "To: Administrationn";
print MAIL "Subject: Password Reportn";
open(PASSWORDS, "cat /etc/passwd |");
while(<PASSWORDS>) {
$linenumber=$.;
@fields=split(/:/, $_);
if($fields[1] eq "") {
$count++;
print MAIL "n***WARNING***n";
print MAIL "Line $linenumber has a blank password.n";
print MAIL "Here's the record: @fieldsn";
}
}
close(PASSWORDS);
if($count < 1) print MAIL "No blank password foundn";
print MAIL ".n";
close(MAIL);
17. 17
● Definición: Tipo de análisis que requiere conexión de red con la
máquina a ser evaluada. Realiza ataques contra ella para
deducir sus debilidades. No necesita tener acceso al sistema.
● Llamada evaluación activa o análisis sin acreditaciones
● Técnicas de evaluación:
● “Exploits”: lanza ataques reales, programados mediante lenguajes
de scripts. Una vez lanzado, se espera a recibir una señal
indicando el éxito o fracaso del ataque.
● Método de inferencia: no explotan vulnerabilidades, sino que
buscan indicios de que se realizaron ataques en la máquina.
Análisis de vulnerabilidades basado en red
20. 20
Análisis de vulnerabilidades basado en red
● Tipos de vulnerabilidades basado en red que nos podemos
encontrar usando Exploits:
● Ataque ping de la muerte: Consiste en crear un datagrama IP
cuyo tamaño total supere el máximo autorizado (65.536 bytes).
Cuando un paquete de este tipo se envía a un sistema que
contiene una pila vulnerable de protocolos TCP/IP, éste produce la
caída del sistema.
● Ataque por fragmentación: consiste en saturar el tráfico de la red
(denegación de servicio) para aprovechar el principio de
fragmentación del protocolo IP.
● Ataque LAND: Es un ataque de red que consiste en enviar un
paquete con la misma dirección IP y el mismo número de puerto
en los campos fuente y destino de los paquetes IP.
21. 21
Análisis de vulnerabilidades basado en red
● Tipos de vulnerabilidades basado en red que nos podemos
encontrar usando Exploits:
● Ataque SYN: (también denominado "inundación TCP/SYN")
consiste en saturar el tráfico de la red (denegación de servicio)
para aprovechar el mecanismo de negociación de tres vías del
protocolo TCP.
●
El ataque SYN consiste en enviar una
gran cantidad de solicitudes SYN a
través de un ordenador con una
dirección IP inexistente o no válida. En
consecuencia, el equipo de destino no
puede recibir un paquete ACK
22. 22
Análisis de vulnerabilidades basado en red
● Tipos de vulnerabilidades basado en red que nos podemos
encontrar usando método de inferencia:
● comprobación de versiones del sistema y de las aplicaciones
● comprobación del estado de los puertos
● comprobación de conformidad de protocolo mediante solicitud de
estado.
23. 23
Ventajas e inconvenientes de estas herramientas
● Ventajas:
● Mejoran la seguridad de un sistema, especialmente en entornos
en los que no se cuenta con un sistema de detección de intrusos.
● Proporcionan las pruebas necesarias para documentar el estado
de la seguridad de los sistemas en el comienzo de un proyecto y
sirven para restablecer la base del sistema cuando ocurren
cambios importantes.
● Se utilizan regularmente, pueden detectar cambios en el estado
de la seguridad de un sistema, informando de los problemas que
requieren corrección.
● Reduce eficazmente los fallos de seguridad más comunes de un
sistema. Alarma de forma precisa de muchos problemas de
configuración que se le pueden pasar por alto a un administrador
de sistemas o a un gestor de seguridad.
25. 25
¿Qué tipo de herramientas existen hoy en día?
● GFI LANguard :
● Escanea redes y reporta información como:
● el nivel de service pack de cada máquina, falta de parches de
seguridad, recursos compartidos, puertos abiertos, servicios/
aplicaciones activas en el equipo, datos del registro, passwords
débiles, usuarios y grupos, puntos de acceso wireless,
dispositivos USB ...
● Escanea los resultados y los guarda en documentos HTML, sobre
los que se puede consultar la información
● Existe una versión gratuita que está disponible para su prueba y
uso no comercial durante 30 días
26. 26
¿Qué tipo de herramientas existen hoy en día?
● eEye retina:
● Su función es explorar todas las maquinas de una red e
informar sobre cualquier vulnerabilidad encontrada.
● Esta muy distribuida en el mercado, es sencilla y rápida para el
escaneo de vulnerabilidades, últimamente tiene buenas críticas
27. 27
¿Qué tipo de herramientas existen hoy en día?
● Nikto :
●
● Nikto es un escáner de servidores Web, open source (GPL) que
busca más de 2000 archivos/CGIs potencialmente peligrosos y
problemas en más de 200 servidores.
● Tiene la capacidad de no sólo probar vulnerabilidades de CGI
sino también que lo hace de forma evasiva, evitando los
sistemas de detección de intrusos.
● Viene con una documentación muy completa, la cual es
recomendable revisar antes de ejecutar el programa.
● Es una buena herramienta pero limitada por su uso de Whisker/
libwhisker, debido a la falta de actualizaciones de esta última, por
lo que las vulnerabilidades más críticas no son detectadas
29. 29
● Nessus:
● Es la herramienta de evaluación de vulnerabilidades para UNIX
de mayor renombre.
● Nessus es el mejor escáner de vulnerabilidades "Open
Source" (GPL) que hay disponible en la red y el que mejor
funciona sobre UNIX. Se actualiza constantemente, con más de
11.000 plugins gratuitos.
● Nessus 3 ahora es de código cerrado, pero es de coste gratuito
a menos que desees los plugins más recientes.
¿Qué tipo de herramientas existen hoy en día?
31. 31
Nessus
● Definición: Es una herramienta basada en un modelo
cliente/servidor que cuenta con su propio protocolo de
comunicación. El trabajo correspondiente para explorar y probar
ataques contra objetivos es realizado por el servidor de Nessus,
mientras que las tareas de control, generación de informes y
presentación de los datos son gestionadas por el cliente.
● Consta por tanto de 4 ficheros básicos:
● las librerías del programa
● las librerías NASL (Nessus Attack Scriptitng Language)
● el núcleo de la aplicación
● los plugins (que simularan los ataques)