Laboratorio Metasploit, Nessus, Nmap,UNIDOS! Exploits, msfconsole, módulos externos…

metasploit-logo.png

Hola de nuevo…

Para esta ocasión, quiero mostrarles algunas herramientas que tiene Metasploit, las cuales se complementan con archivos exportados desde Nessus o de Nmap.

Comencemos con el laboratorio,

Utilizaremos dos maquinas virtuales, una de Kali Linux (Analista, Atacante, etc…) y una de Windows Server 2003 (Victima, objetivo, cliente XD)

Comencemos…

MSFCONSOLE-NESSUS-NMAP

Primero, debemos colocar como ya he explicado en anteriores post, nuestras interfaces de red de las MV en modo Bridge (no es obligatorio, nat funciona).

Lo primero que debemos hacer es iniciar nuestro servicio de Postresql y Metasploit en Kali.

# services postgresql start

# services metasploit start

0.png

Después iniciamos nuestro framework de Metasploit o consola de metasploit

# msfconsole

1.png

Una vez adentro, validamos la conexión entre el servicio de postgresql y metasploit con el siguiente comando

msf > db_status

2.png

Ahora, comenzaremos con la combinación o unión de las diferentes herramientas que hemos venido utilizando:

NESSUS:

Una vez, realizamos el scanner de vulnerabilidades NESSUS a nuestro host victima, en la parte superior izquierda de nuestra herramienta nos aparecerá la opción de exportar, realizamos esta opción, señalando que deseamos que sea importando en un archivo con extensión .NESSUS

3.png

Una vez hecho esto utilizamos el comando db_import de la consola de metasploit seguido de la ruta del archivo:

msf > db_import «ruta de archivo»

4.png

Hecho esto, utilizando los comandos hosts, services, vulns, visualizamos lo que importamos en el paso anterior, a continuación…

hosts

5.png

En la imagen anterior podemos ver como el scanner que realizó NESSUS nos trajo como información el Nombre del Sistema operativo, entre otras.

services

6.png

En la imagen anterior vemos como el comando services nos muestra el estado de los puertos y el servicio que se esta ejecutado en cada uno de ellos, todo esto gracias al scanner realizadó por NESSUS.

vulns

7.png

Aquí vemos las múltiples, para este ejemplo, vulnerabilidades que fueron detectadas por NESSUS durante su ejecución.

NMAP

Para exportar el resultado de una scaning realizado por nmap utilizamos la opcion -oX «nombre de archivo».xml

#nmap «direccion ip objetivo» -oX «nombre_de_archivo».xml

A continuación vemos un ejemplo:

8.png

para el ejemplo anterior ante puesto al nombre del archivo, añadimos una ruta donde deseamos que fuese guardado dicho archivo (Desktop/Escritorio)

De la misma manera que fue importado para NESSUS lo hacemos para nmap

msf > db_import «ruta de archivo»

9.png

Posteriormente podemos realizar el mismo proceso utilizando los comandos hosts y services, para visualizar los resultados.

NOTA: Podemos realizar el proceso de scanning desde la consola de metasploit para ahorrarnos el proceso de importación, utilizando el siguiente comando:

msf> db_nmap «direccion(es) ip»

MANEJO DE MÓDULOS AUXILIARES DE METASPLOIT PARA REALIZAR DIFERENTES PROCESOS DE SCANNING:

Antes de comenzar, veamos que módulos auxiliares nos para scanning de puertos nos ofrece la consola de metasploit, utilizando el siguiente comando, veremos los módulos disponibles:

msf > search portscan

10.png

En muchas ocasiones o momentos es conveniente o Útil, usar algunas herramientas automatizadas que nos brinda el framework de metasploit, a continuación usaremos los módulos de TCP y SYN Scan:

TCP Scan:

Para indicarle a la consola que modulo queremos utilizar, con el comando use seguido de la ruta del archivo vista en la imagen anterior, es decir, la busqueda realizada:

msf > use «ruta de auxiliar/exploit/payload»

11.png

para visualizar las opciones o parametros que se le deben pasar al auxiliar para poder ser ejecutado, utilizaremos el comando:

msf auxiliary(tcp) > show options

12.png

En la imagen anterior vemos los diferentes parametros que debemos/podemos añadir o modificar en los que vienen predefinidos para ejecutar nuestro auxiliar, los mas importantes para nuestro caso seran:

  • RHOST: Dirección IP del Host objetivo.
  • PORTS: Puerto o Rango de puertos a  los cuales se les realizara el scanning (default 1-10000)

En nuestro ejemplo, el único parametro que hace falta es el RHOST, para asignar algun parametro en nuestros auxiliares y en general en las diferentes herramientas (Exploits, Payloads) se hace de la siguiente manera:

msf auxiliar/exploit/payload > set «parametro» «valor_a_asignar»

a continuación asignamos el RHOST a nuestro auxiliar:

13.png

En la imagen anterior vemos como utilizamos el comando de asignación del RHOST, posteriormente muestro nuevamente el show options en el cual vemos que ya fue asignad.

Despues de realizado este proceso procedemos a ejecutar el auxiliar con el comando run

msf auxiliary(tcp) > run

14.png

En la ejecución del auxiliar, vemos como realiza el scanning de los puertos en nuestro host objetivo.

SYN Scan:

Para este ejemplo se trabaja exactamente igual que el anterior, únicamente cambia la ruta del auxiliar, para salir del auxiliar anterior, utilizamos el comando back, luego utilizamos el comando use «ruta de auxiliar»,

msf > use auxiliary/scanner/portscan/syn

Despues de asignar los parametros requeridos ejecutamos el comando run para ejecutar nuestro auxiliar:

15.png

IMPORTANTE:

Recordemos que aunque parezca obtener los mismos resultados, en un post anterior, explique que el SYN Scan es menos «ruidoso» dentro de una red, a comparación del TCP Scan, esto nos ayuda a no ser detectado por diferentes dispositivos encargados de esta tarea.

Ejecutando nuestro Primer Exploit…

A continuación, realizaremos la ejecución de un exploit, pero ¿ como saber cual usar ?… Bueno, para esto las fases anteriores de scanning y de identificación de vulnerabilidades… nos habran dado una guia, para saber que camino tomar… Para neustro ejemplo, NESSUS nos indico que nuestro host victima cuenta con la siguiente vulnerabilidad:

16.png

Para ejecutar el exploit que deseamos utilizar, primero debemos realizar las configuraciones del mismo, asi como se realizó para correr el auxiliar en el ejemplo anterior.

Como vemos en la imagen anterior Existe una vulneravilidad que se denota como MS08-067, para lo cual buscaremos utilizando el comando search de la consola de metasploit dicho nombre.

17.png

Como podemos observar, la busqueda nos muestra que existe un exploit para esta vulnerabilidad, nos indica la ruta en la cual se encuentra el exploit, de la misma manera que se trabajo para los auxiliares, con el comando use mas la ruta del exploit, indicamos cual deseamos utilizar:

msf > use exploit/windows/smb/ms08_067_netapi

18.png

Siguiendo el ejemplo realizado con el auxiliar, mostraremos las opciones o parametros que se deben configurar para ejecutar nuestro exploit, show option.

19.png

Como vemos nos hace falta asignar el RHOST a la configuración del exploit, también podríamos realizar el cambio del puerto el cual va a ser atacado, sin embargo, como vimos en la imagen de NESSUS, la vulnerabilidad esta en el puerto 445.

Procederemos a añadir el RHOST y posteriormente ejecutaremos los siguientes comandos que nos serán de mucha utilidad.

show targets

> show targets

Este comando nos muestra una lista de los Sistemas Operativos, que son vulnerables a este exploit.

info

> info

Nos permite obtener una descripción e información relevante del exploit, como por ejemplo el creador, las opciones, targets, entre otros…

 show payloads

> show payloads

Nos muestra en pantalla los codigos de tipo PAYLOAD que pueden ser usados para este exploit

Asignando un Payload.

Antes de continuar, definamos o conozcamos primero que es un payload, esta definición fue dadá por Juan David Berrio, directo de DSTEAM, academia y empresa que dicta diferentes certificaciones de Seguridad Informática, el laboratorio que estan realizando hace parte del curso de el… es genial, se los recominedo… visitenlo…

Un Payload, es la porción de código en el exploit que tiene como objetivo ejecutar una acción concreta y maliciosa en el sistema victima. En la mayoría de los casos el código Payload se usa para realizar una conexión entre el atacante y la victima. Algunos ejemplos de un Payload, seria la conexión a la victima por medio de una Shell de comandos como cmd.exe por ejemplo, o conectarse a la victima usando el protocolo VNC. Un Payload también puede verse representado como una serie de acciones o comandos que se ejecutan en el sistema victima, y que causan una denegación de servicios.

20.png

dicho y visto lo anterior, una vez ejecutamos el comando que nos muestra los payloads disponibles para este exploit, utilizaremos el payload que nos permitirá obtener una terminal CMD de nuestro host objetivo.

El exploit a utilizar será: windows/shell/bind_tcp

Para asignar un payload a nuestro exploit, se hace de la misma manera que hemos venido trabajando las asignaciones:

set PAYLOAD «ruta_payload»

21.png

posteriormente, ejecutaremos NUEVAMENTE el comando show options, la diferencia será, que esta vez nos mostrará los parámetros del exploit que habíamos configurado anteriormente MAS los que debemos configurar en el PAYLOAD, veamos:

22.png

Como podemos ver en la imagen anterior, visualizamos los parametros pendientes del EXPLOIT y del PAYLOAD respectivamente.

Dicho todo esto, tenemos listo nuestro EXPLOIT…

Para ejecutar dicho exploit utilizamos el comando… exploit

msf «exploit» > exploit

23.png

Ejecutado el exploit, podemos ver en la imagen anterior que obtenemos como resultado el prompt : C:\WINDOWS\system32> El cual es de la consola o terminal CMD del windows victima…

Lo que se haga de aqui en adelante….

Responsabilidad de cada uno XD…

FINES ACADÉMICOS… EXCLUSI….VAMENTE….

De esta manera terminamos… nuestro laboratorio…

Espero les guste…

Saludos…

Neox

Deja un comentario