Laboratorios: Hacking - Técnicas y contramedidas - Escaneo de vulnerabilidades I

Como en todo inicio de un nuevo tema de laboratorio, debemos comenzar por definir el concepto.
Para este caso veamos la definición para el escaneo de vulnerabilidades (Vulnerability Scanner).

“Una vulnerabilidad en seguridad informática hace referencia a una debilidad en un sistema permitiendo a un atacante violar la confidencialidad, integridad, disponibilidad, control de acceso y consistencia del sistema o de sus datos y aplicaciones.

Las vulnerabilidades son el resultado de bugs o de fallos en el diseño del sistema. Aunque, en un sentido más amplio, también pueden ser el resultado de las propias limitaciones tecnológicas, porque, en principio, no existe sistema 100% seguro. Por lo tanto existen vulnerabilidades teóricas y vulnerabilidades reales.

Las vulnerabilidades en las aplicaciones suelen corregirse con parches, hotfixs o con cambios de versión. En tanto algunas otras requieren un cambio físico en un sistema informático.

Las vulnerabilidades se descubren muy seguido en grandes sistemas, y el hecho de que se publiquen rápidamente por todo internet (mucho antes de que exista una solución al problema), es motivo de debate. Mientra más conocida se haga una vulnerabilidad, más probabilidades de que existan instrusos informáticos que quieran aprovecharse de ellas.

Algunas vulnerabilidades típicas suelen ser:

  • Desbordes de pila y otros buffers.
  • Symlink races.
  • Errores en la validación de entradas como: inyección SQL, bug en el formato de cadenas, etc.
  • Secuesto de sesiones.
  • Ejecución de código remoto.
  • XSS.”

Fuente

Por lo tanto, el Escaneo de vulnerabilidades se refiere a la automatización por medio de software especializado para la identificación de dichas fallas (bugs).

Práctica 51 - Escaneo de vulnerabilidades con SAINT
Herramienta:
SAINT
Prerequisitos: Ninguno
Contramedidas: Firewalls, seguridad en las listas de control de acceso (ACLs), Bastion Servers/Workstation (Hardening)
Descripción: SAINT (Security Administrator´s Integrated Network Tool) es una herramienta de evaluación de seguridad basada en SATAN. Entre sus caracteristicas se incluyen la posibilidad de escanear objetivos protegidos mediante Firewalls, actualización de vulnerabilidades y riesgos de seguridad reportadas desde CERT (Computer Emergency Response Team) y los boletines de la CIAC. Jerarquización en cuatro niveles de severidad de vulnerabilidades (rojo= Problemas críticos, amarillo= áreas de preocupación, café = problemas potenciales y verde = servicios). Todo esto es posible llevarlo a cabo desde una interface web que implementa la herramienta. La herramienta SAINT solo se encuentra disponible para sistemas tipo *nix (Linux)
Procedimiento: Descargar, configurar, instalar y ejecutar la herramienta definiendo el/los sistemas objetivos.

Para acceder a la herramienta se hace necesario llevar a cabo un registro en la página web del producto, en ella se nos pedirán datos básicos, sumados a una dirección electrónica donde recibiremos la llave de activación del producto después de haber especificado las IP’s objetivos del análisis. (La versión utilizada para este laboratorio es una versión trial por 15 días, sin la opción de explotación de fallas, además requiere tener previo conocimiento de las 2 IPs objetivo)

Descargamos la herramienta y el archivo saint.key

En la misma página de descarga es posible encontrar unas pequeñas instrucciones de instalación y ejecución de la herramienta

Procedemos entonces a darle los permisos necesarios de ejecución al archivo

Ejecutamos el comando de instalación

Aceptamos los términos de licencia

Continúa el proceso de instalación

Nos pide confirmar algunas opciones

Finaliza la instalación de SAINT

Como vimos en el proceso de instalación, nos pedía autorizar la creación de un acceso directo en el escritorio. Este ya ha sido creado

Para este laboratorio, ejecutaré SAINT desde la línea de comandos, para ello me ubicaré en la carpeta contenedora del aplicativo. “./saint

Inicialización de la herramienta

Primera ejecución del SAINT, es en esta pantalla donde llevaremos a cabo el proceso de activación de la herramienta

Seleccionamos la acción a realizar, para este caso “Configure SAINT Key”

Espacio destinado para incluir la llave de registro

Copiamos y pegamos el contenido del archivo saint.key

Obtendremos la siguiente pantalla de aviso de confidencialidad

Para continuar solo basta con actualizar la página

Aviso de que la llave ha sido registrada con éxito

Después de llevar a cabo el proceso de registro, veamos como realizar un escaneo con SAINT a un sistema objetivo ya definido

Activamos una de las opciones más importantes de SAINT; Soporte para Firewalls

Ejecutemos el escano haciendo clic en el botón Escanear Ahora

Escaneo en ejecución

Después de pocos minutos (dependiendo del tipo de escaneo que se lleve a cabo) obtenemos la posibilidad de generar el reporte y análisis del mismo

Generamos el reporte

En reportes por defecto, seleccionaremos “Escaneo completo”

Luego hacemos clic en continuar

Vista del reporte

Gráfica de barras del reporte según los tipos de riesgos encontrados

  • Problemas críticos: 1
  • Áreas de preocupación: 3
  • Problemas potenciales: 5
  • Servicios activos: 10

Descripción de vulnerabilidades según su tipología

  • Web
  • Mail
  • File Transfer
  • Login/Shell
  • Print Services
  • RPC
  • DNS
  • Databases
  • Networking/SNMP
  • Windows OS
  • Passwords
  • Other

Gráfica de barras según los resultados obtenidos por tipología de la vulnerabilidad

  • Web: 4
  • Login/Shell: 1
  • Print Services: 2
  • Other: 2

Profundización en la información sobre las vulnerabilidades encontradas

ej. Versión 4.4.4 de PHP vulnerable. Información en CVE (Common Vulnerabilities and Exposures)

Información sobre los servicios en ejecución en el sistema objetivo

Termina de esta manera, esta “corta” definición e introducción sobre el uso de la herramienta SAINT para realizar escaneos de vulnerabilidades. Cabe aclarar que este es solo un pequeño paso para llevar a cabo un test de penetración, pues queda el largo camino del análisis de los resultados obtenidos, en el cual se debe verificar la veracidad de los resultados, vulnerabilidades no encontradas, y un largo etc.

Taller individual:
Uso de otras opciones de SAINT
Consultar acerca de como llevar a cabo procesos de hardening de sistemas.

Próxima sesión: Escaneo de vulnerabilidades II

Go up