Los escáneres de vulnerabilidades y Metasploit
Introducción
Un escáner de vulnerabilidades es una herramienta que permite identificar la presencia de vulnerabilidades en el perímetro de un objetivo, tanto a nivel de una máquina aislada como en toda la red.
El funcionamiento de un escáner de vulnerabilidades sigue siendo relativamente simple. Comienza con las siguientes acciones:
-
Identificar máquinas activas en la red.
-
Realizar un escaneo de puertos TCP/UDP en equipos previamente identificados.
-
Identificar los servicios que se ejecutan en cada puerto.
No hay nada nuevo por el momento. Sin embargo, los escáneres de vulnerabilidades no se detienen ahí. De hecho, una vez que se identifican los servicios, la funcionalidad más importante de estas herramientas es seleccionar módulos específicos del escáner utilizado para explotar varias vulnerabilidades.
Todos estos módulos (o exploits) están empaquetados dentro de escáneres de vulnerabilidades con el objetivo de disponer de una representación clara y comprensible de la posibilidad de explotar la vulnerabilidad o no.
Dado que los escáneres de vulnerabilidades son un software tan complejo como Metasploit, solo se destacan algunos comandos básicos. El lector curioso podrá obtener más información en otros libros dedicados a ellos o mediante una investigación en profundidad en Internet.
Nessus
Nessus, de la empresa Tenable Network Security, es un escáner de vulnerabilidades multiplataforma (Windows, Unix y Mac). Actualmente, Nessus integra no menos de 45 000 CVE (Common Vulnerabilities and Exposures), así como 100 000 plugins, lo que lo convierte en uno de los escáneres de vulnerabilidades más utilizados en las pruebas de penetración automatizadas.
1. Instalar Nessus
Al igual que Metasploit, Nessus tiene varias versiones. En este libro se ha utilizado la versión gratuita (Home), que se puede descargar en la dirección https://www.tenable.com/downloads/nessus
La instalación en Kali Linux se puede hacer directamente a través del archivo binario en formato deb (formato de archivo específico de la distribución Debian en la que se basa Kali Linux):
Incluso como parte de una versión gratuita, es necesario obtener un código de activación.
Una vez obtenido el código de activación, es posible instalar Nessus desde la línea de comandos:
root@kali:/tmp# dpkg -i Nessus-8.3.1-debian6_amd64.deb
Selección del paquete nessus previamente seleccionado.
(Lectura de la base de datos... 339606 archivos y directorios ya
instalados.)
Preparación del unpacking de Nessus-8.3.1-debian6_amd64.deb ...
Unpacking de nessus (8.3.1) ...
Configuración de nessus (8.3.1) ...
Unpacking Nessus Scanner Core Components...
- You can start Nessus Scanner by typing /etc/init.d/nessusd start
- Then go to https://kali:8834/ to configure your scanner
Tratamiento de acciones en segundo plano («triggers»)
para systemd (240-4) ...
Como indican las últimas líneas, cuando se inicia el servidor, Nessus está disponible en la dirección https://kali:8834/. Después de validar el código de activación y descargar todos los plugins, es posible acceder a la interfaz principal de Nessus:
2. Utilizar Nessus
Nessus tiene una interfaz particularmente depurada. De hecho, los principales elementos accesibles son:
-
la realización de un nuevo escaneo (New Scan),
-
la lista de todos los escaneos (My Scans y All Scans),
-
la creación de reglas de escaneo (Policies).
a. Las Policies
Como se explica dentro de Nessus, las policies permiten crear modelos...
Nexpose
Nexpose, en su versión Community Edition, es un escáner de vulnerabilidades comparable a Nessus, desarrollado por la empresa Rapid7, editora del Framework Metasploit.
Observe que, para trabajar en las mejores condiciones, Nexpose requiere ciertos recursos del sistema, como 80 GB de espacio en disco y 8 GB de memoria.
1. Instalar Nexpose
La última versión de Nexpose, en su versión de prueba de 30 días, se puede descargar desde el sitio web oficial, en la dirección https://www.rapid7.com/info/nexpose-trial
Una vez realizado el registro, es posible descargar Nexpose en su versión de 64 bits en Linux para instalarlo en Kali:
root@kali:~# wget
http://download2.rapid7.com/download/InsightVM/Rapid7Setup-Linux64.bin
--2019-01-25 20:18:54--
http://download2.rapid7.com/download/InsightVM/Rapid7Setup-Linux64.bin
Resolving download2.rapid7.com (download2.rapid7.com)...
104.73.156.147
Connecting to download2.rapid7.com
(download2.rapid7.com)|104.73.156.147|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/octet-stream]
Saving to: ‘Rapid7Setup-Linux64.bin'
Rapid7Setup-Linux64.bin [ <=> ]
781.99M 379KB/s in 27m 12s
2019-01-25 20:46:06 (491 KB/s) - ‘Rapid7Setup-Linux64.bin' saved
[819978612]
root@kali:~# chmod +x Rapid7Setup-Linux64.bin
root@kali:~# ./Rapid7Setup-Linux64.bin
[...]
****************************************************************
Installation is complete!
****************************************************************
If you chose to start the Security Console as part of the
installation, then it will be started...
OpenVAS
OpenVAS (Open Vulnerability Assessment System) es un escáner de vulnerabilidades comparable a Nessus, excepto por que tiene una licencia GNU GPL (open source). Se creó después de la interrupción del desarrollo de Nessus en open source en 2005.
El lado open source, así como el uso de una base de datos de vulnerabilidades conocidas (50 000 vulnerabilidades), hacen que OpenVAS sea una herramienta particularmente útil durante las pruebas de intrusión automatizadas.
1. Instalar OpenVAS
Igual que sucede con Nessus, OpenVAS no se instala de forma predeterminada en Kali. Para hacer esto, es necesario ejecutar los siguientes comandos:
root@kali:~# apt-get update
root@kali:~# apt-get install openvas
root@kali:~# openvas-setup
[>] Updating OpenVAS feeds
[*] [1/3] Updating: NVT
[...]
[*] [2/3] Updating: Scap Data
[...]
[*] [3/3] Updating: Cert Data
[...]
[>] Stopping OpenVAS services
[>] Starting openvassd
[>] Migrating openvassd
[>] Rebuilding openvassd
[>] Stopping openvassd
[*] Please wait for the OpenVAS services to start.
[*]
[*] You might need to refresh your browser once it opens.
[*]
[*] Web UI (Greenbone Security Assistant): https://127.0.0.1:9392
[*] Opening Web UI (https://127.0.0.1:9392) in: 5... 4... 3... 2... 1...
[>] Checking for admin user
[*] Creating admin user
User created with password 'de70edc2-284b-49fd-ab8c-972ebd6cf3c9'.
[+] Done
2. Integrar OpenVAS con Metasploit
Como se ha mencionado en la sección Comandos básicos del capítulo Primeros pasos con Metasploit, en Metasploit es posible cargar módulos externos que permiten interactuar con herramientas de terceros. Uno de los módulos en cuestión permite la interacción con OpenVAS:
msf6 > load openvas
[*] Welcome to OpenVAS integration by kost and averagesecurityguy.
[*]
[*] OpenVAS integration requires a database connection. Once the
[*] database is ready, connect to the OpenVAS server using
openvas_connect. ...