¿Cómo escanear vulnerabilidades con OpenVAS/GVM?
Escaneo de vulnerabilidades con OpenVAS/GVM
Hemos grabado 2 videos relacionados con herramientas para escaneo de vulnerabilidades en nuestro canal de youtube; en el primero se habla de la herramienta Nessus de la compañía Tenable, casi que el estándar de facto (opinión que puede ser polémica) para este tipo de herramientas y, el segundo la herramienta Nexpose, de la compañía Rapid7; muy conocidos por Metasploit.
El día de hoy les voy a hablar sobre una herramienta que aún es open source y que también nos permite realizar escaneo de vulnerabilidades, les estoy hablando ni más ni menos que de OpenVAS o, debería llamarla Greenbone Vulnerability Management (GVM) (?)
En esta entrada explicaré cómo realizar nuestro primer escaneo con la herramienta OpenVAS/GVM
Paso 1 – Iniciar la aplicación
Para iniciar la aplicación se utiliza el comando #gvm-start, ver imagen 1.
Imagen 1
Con la ejecución de la utilidad anterior se deben activar los siguientes servicios:
greenbone-security-assitant.service -Greenbone Security Assistant (gsad), ver imagen 2.
Imagen 2
gvmd.service – Greenbone Vulnerability Manager daemon (gvmd), ver imagen 3.
Imagen 3
opsd-openvas.service – OpenVAS Wrapper of the Greenbone Vulnerability Management, ver imagen 4.
Imagen 4
En la parte de abajo verá un mensaje que indica que se está abriendo la interfaz de usuario (UI) Web en la dirección IP 127.0.0.1 a través del puerto 9392, ver imagen 5.
Imagen 5
Ojo con la dirección “127.0.0.1” ¿Por qué? Si usted modificó la dirección IP de escucha en el archivo “/lib/systemd/system/greenbone-security-assitant.service” , debe acceder a la utilidad mediante la interfaz web, con la dirección IP especificada, ver imagen 6.
Imagen 6
Paso 2 – Iniciar sesión en la aplicación
Abra el navegador de su preferencia e introduzca https://direcciónIPespecificada:9392, para el caso particular se utilizó “https://10.0.0.128:9392”, ver imagen 7.
Imagen 7
ingrese las credenciales respectivas, en el username introduzca “admin” y, en la contraseña, ingrese el password generado por la aplicación, cuando ejecutó la aplicación #gvm-setup, ver imagen 8.
Imagen 8
Una vez se inicia sesión correctamente, verá lo siguiente (imagen parcial), ver imagen 9.
Imagen 9
Paso 3 – Creación del Target
En este paso se configuran el o los objetivos sobre los cuales vamos a efectuar el escaneo; en este caso usted puede definir un host o un rango de hosts
Para crear el “Target”, debe dar clic en “Configuration”, posteriormente en “Targets”, ver imagen 10.
Imagen 10
De clic en “New Target”, ver imagen 11.
Imagen 11
A continuación debe configurar un conjunto de parámetros como:
Name (Nombre): Nombre que le va asignar al objetivo, procure que sea un nombre nemotécnico, ver imagen 12
Imagen 12
Comment (Comentario): Puede hacer un comentario relevante y relacionado con el objetivo, ver imagen 13.
Hosts: En este campo puede ingresar la dirección de un host, ejemplo: 10.0.0.129; un rango de hosts, ejemplo: 10.0.0.10-10.0.0.129, un rango de hosts en formato corto, ejemplo: 192.168.200.10-50; con notación CIDR, ejemplo: 10.0.0.0/24; puede ingresar host names. También soporta direcciones IPv6 y la obtención de los hosts desde un archivo, ver imagen 13.
Imagen 13
Exclude Hosts: Indique en este parámetros los hosts que va a excluir para que no sean tomados como target, ver imagen 14.
Imagen 14
Allow simultaneous scanning via multiple IPs: Con esta opción se busca habilitar o deshabilitar la ejecución de múltiples escaneos desde diversas IP, ver imagen 15.
Imagen 15
Port List: Listado de puertos utilizados para el escaneo, ver imagen 16.
Imagen 16
Alive Test: En esta opción se determina el método para chequear si un objetivo es alcanzable, ver imagen 17.
Imagen 17
Credentials for authenticated checks: En estas opciones se introducen las credenciales para diversos servicios con el fin de realizar un chequeo una vez autenticado, ver imagen 18.
Reverse Lookup Only: En este caso solo se dará el escaneo de dirección IP que puedan ser resueltas en un nombre de dominio, ver imagen 18.
Reverse Lookup Unify: Cuando múltiples direcciones IP se resuelvan en el mismo nombre de dominio, el nombre de dominio sólo será escaneado una vez, ver imagen 18.
Imagen 18
Para el caso particular se configuró como “Target” la subred “10.0.0.0/24”, no se excluye ningún host, se permite el escaneo desde múltiples direcciones IP, se selecciona como listado de puertos la opción “All Iana Assigned TCP”, el método para chequear si un objetivo es alcanzable es “Scan Config Default”, no se realizó ningún chequeo autenticado y, las dos últimas opciones se configuraron en “No”.
Una vez hemos configurado el nuevo Target de acuerdo a lo planeado, guardamos los cambios “Save”, ver imagen 19.
Imagen 19
A continuación pueden ver el “Target” configurado, ver imagen 20
Imagen 20
Paso 4 – Configurar la “Task” (tarea)
La utilidad gestiona la ejecución de un escaneo mediante las “Tasks” (tareas). Voy a crear la tarea para el primer escaneo; a continuación hago una breve descripción de cada uno de los parámetros que se deben configurar al crear la “Task”
Name: Aquí va el nombre de la tarea, elija un nombre nemotécnico, ver imagen 21.
Comment: Escriba un comentario relacionado con la tarea, elija un comentario nemotécnico, ver imagen 21.
Imagen 21
Scan Targets: En esta opción se selecciona un “Target” previamente creado, también puede crear el objetivo dando clic en la opción que aparece al lado de la lista desplegable, ver imagen 22.
imagen 22
Alerts: Aquí puede seleccionar una alerta previamente configurada ¿Para que configurar una alerta? Le puede servir para obtener actualizaciones sobre las tareas, puede crear la alerta dando clic en la opción que aparece al lado de la lista desplegable, ver imagen 23.
imagen 23
Schedule: Una tarea puede ser programada para que se repita periódicamente, también puede hacerse en un momento determinado. En esta opción usted puede seleccionar una programación creada con anticipación o, puede chequear la opción “Once” para hacerlo una vez o, puede crear el “schedule” dando clic en la opción que aparece al lado de la “Once”, ver imagen 24.
imagen 24
Add results to Assets: En esta opción se define si los resultados del escaneo se deben almacenar en “Assets”, ver imagen 25.
Apply Overrides: Cuando se habla de “Override” se hace referencia a la modificación de la severidad de un resultado, la opción es importante para la gestión de resultados que han sido detectados como falsos positivos y a los cuales se les ha dado un severidad que no debería ser, tanto si la severidad es registrada como crítica, pero no debería ser crítica o, viceversa, ver imagen 25.
Min QoD: Aquí se define la calidad de la detección “quality of detection” (QoD, por sus siglas en inglés), el valor puede ser asignado entre 0% y 100%, puede ver una explicación más detallada en el siguiente enlace (ver imagen 25.):
https://docs.greenbone.net/GSM-Manual/gos-20.08/en/reports.html#quality-of-detection-concept
Alterable Task: Se permite la modificación de la tarea, aún cuando ya se hayan creado reportes, ver imagen 25.
imagen 25
Auto Delete Reports: Esta opción puede ser configurada para borrar o, no borrar reportes previamente generados, ver imagen 26.
imagen 26
Scanner: En este caso podemos seleccionar entre dos opciones: “OpenVAS Default” y “CVE”, ver imagen 27
.
imagen 27
Scan Config: La utilidad viene con 7 configuraciones de escaneo preconfiguradas; aquí hay algo importante que debo mencionar: por defecto viene la opción “Full and fast”, la prueba con esta opción de configuración de escaneo, se realizó utilizando dos productos: producto 1, la versión de prueba de la utilidad Greenbone Security Manager (ver imagen 28) y, el producto 2, OpenVAS/GVM (ver imagen 29)..
imagen 28 – producto 1
imagen 29 – producto 2
La máquina vulnerable probada con los dos productos y la opción “Full and fast” fue Metasploitable 2; para cada uno de los dos productos se presentó una situación totalmente diferente, que mereció total atención.
Situación en el producto 1: El escáner halló las vulnerabilidades “correctas” y con el nivel de criticidad esperado.
Situación en el producto 2: El escáner sólo halló “Logs”, lo cual no corresponde con los hallazgos típicos que se deberían dar con Metasploitable, en la imagen se puede ver el resultado (ver imagen 30):
imagen 30
¿Cómo se soluciono lo anterior?
Se decide observar la opción de configuración de escaneo “Full and fast”, para lo cual se clona la propia opción de configuración y se denomina “Full and fast Clone 2”, observe que en la Familia “Port scanners”, no se encuentra chequeada la opción “Select all NVTs” (círculo rojo), ver imagen 31.
imagen 31
Chequee la opción “Select all NVTs”, ver imagen 32
imagen 32
Después de haber hecho el ajuste requerido, la opción seleccionada en “Scan Config” fue “Full and fast Clone 2”, ver imagen 33.
imagen 33
Network Source Interface: Aquí se podría ingresar el nombre de la interfaz de origen, ver imagen 34.
Order for target hosts: En esta opción se selecciona el orden con el cual se procesarán los host objetivos durante las pruebas, ver imagen 34.
Maximum concurrently executed NVTs per host y Maximum concurrently scanned hosts: Se ajusta la velocidad del escaneo por host; ¡Precaución! Hágase las siguientes preguntas (ver imagen 34):
¿La velocidad configurada genera demasiado ruido en la red?
¿Puede la prueba afectar negativamente los sistemas probados?
imagen 34
Si los valores seleccionados están de acuerdo con lo planeado, guarde la Tarea dando clic en el botón “Save”, ver imagen 35
imagen 35
A continuación puede ver la tarea creada en la vista de “Tasks”, ver imagen 36.
imagen 36
Paso 5 – Ejecutar el escaneo
Ejecute el escaneo dando clic en “Start”, ver imagen 37
imagen 37
Paso 6 – Verificar los resultados
Para ver los resultados, puede dar clic en Scans, posteriormente en Results, ver imagen 38.
imagen 38
y se obtiene lo siguiente (ver imagen 39):
imagen 39
La herramienta tiene muchísimas opciones que vale la pena explorar, es una herramienta totalmente recomendable, que se debería utilizar en cualquier compañía, sin importar su tamaño y, es una gran alternativa a las soluciones propietarias.
Recursos
https://docs.greenbone.net/GSM-Manual/gos-20.08/en
https://community.greenbone.net/
https://www.openvas.org/about.html
¿Te gustó este post? por favor déjanos tus comentarios! Sé un buen HackerPro y comparte con tu comunidad! Suscríbete a Behackerpr
Otras Entradas
Introducción a la Seguridad en AI – Parte 2
Después de entender los principales ataques, técnicas, tácticas y procedimientos...
Leer másIntroducción a la Seguridad en AI
Cuando hablamos de Seguridad en AI (Artificial Intelligence o Inteligencia...
Leer más5 pilares para Hackers o Profesionales en Ciberseguridad desde una perspectiva técnica
Después de la master class que realizamos en Be Hacker...
Leer más