Tabla de Contenidos

Metasploit para novatos

Estos ejemplos son para una versión de Metasploit preinstalada en sistemas kali linux.

1. Inicialización de la base de datos y primer arranque de metasploit

Para el uso de metasploit se recomienda inicializar la base de datos la primera vez que se arranque con el comando:

msfdb init

Una vez que se inicialice la base de datos, cada vez que se quiera usar metasploit se puede arrancar con el siguiente comando:

msfdb run

2. Escaneo de máquina objetivo

Lo primero que debemos hacer es escanear los puertos de la máquina objetivo para identificar que servicios tiene arrancados y si alguno de estos es vulnerable.

2.1 NMAP

Primero se puede comenzar realizando un escaneo de namp desde metasploit con el siguiente comando:

db_nmap <ip_maquina_objetivo>

Como resultado deberíamos recibir un listado de puertos abiertos indicando que servicio provee cada uno:

2.2 Metasploit port scanner

Alternativamente también se puede usar el módulo de escaneo de metasploit, para ello podemos seleccionarlo con el siguiente comando:

use auxiliary/scanner/portscan/tcp

Una vez seleccionado el módulo, hay que configurar sus parámetros, podemos ver los parámetros disponibles con el siguiente comando.

show options

Para configurar los parámetros se debe usar el comando set:

set <parámetro> <valor>

Por ejemplo, en este caso se debe establecer un valor para RHOST para indicarle a metasploit que máquina de la red debe escanear:

Una vez configurados los parámetros se puede ejecutar el módulo con el comando run:

2.3 Escaneo Profundo

Podemos realizar un escaneo profundo de la máquina en cuestión con el siguiente comando:

db_nmap -sV <ip_máquina_objetivo>

Si además queremos más información podemos añadir el flag -A:

db_nmap -sV -A <ip_maquina_objetivo>

3. Explotando vulnerabilidades

Ahora que sabemos los puertos abiertos y servicios de la máquina, podemos proceder a explotar las vulnerabilidades de esta.

3.1 Localización de exploits con searchsploit

Para localizar si alguno de los servicios de la máquina tiene exploits disponibles podemos usar searchsploit. Si queremos buscar por título del exploit podemos usar el comando searchsploit con el flag -t:

searchsploit -t <nombre_del_servicio>

Por ejemplo, si queremos buscar una vulnerabilidad para el servicio UnrealIRCd:

Si quisieramos buscar un exploit en función a un CVE podemos usar el comando con el flag –cve seguido de la fecha seguida de un guion y el identificador:

searchsploit --cve <fecha>-<identificador>

Por ejemplo, para buscar los exploits asociados al CVE-2010-2075:

Con los resultados obtenidos podemos ver que hay al menos 2 exploits que se podrían aplicar a esta máquina aprovechando las vulnerabilidades del servicio UnrealIRCd.

3.2 Exploit Automático con metasploit

Para ejecutar el exploit de forma automática contra la máquina objetivo debemos primero saber donde está ubicado el módulo automático para cargarlo en metasploit. Para ello podemos buscar el CVE en google seguido de metasploit, donde nos aparecerán páginas, como la de rapid7 con la ubicación de este:

Ahora que sabemos donde está el módulo podemos cargarlo usando el comando use:

use <ubicación_del_modulo>

Una vez cargado usamos el siguiente comando para ver los parámetros del módulo

show options

Y establecemos como RHOST la máquina objetivo:

set RHOST <IP_maquina_objetivo>

Tras eso cargamos la payload, en este caso cmd/unix/reverse:

y procedemos a configurar el parámetro LHOST con nuestra ip:

Finalmente ejecutamos el exploit con el comando run y si todo sale bien y la máquina es vulnerable tendremos acceso a esta: