Introducción
Metasploit Framework es una potente herramienta de código abierto utilizada para pruebas de penetración e investigación de seguridad. Está construido en torno al concepto de módulos, que son piezas de código intercambiables que realizan tareas específicas. Comprender los diferentes tipos de módulos es fundamental para utilizar Metasploit de manera efectiva.
En este laboratorio, explorará los tipos de módulos principales dentro de Metasploit:
- Exploits: Código que aprovecha una vulnerabilidad del sistema.
- Auxiliary: Módulos para escaneo, fuzzing y otras acciones que no son exploits directos.
- Post-Exploitation: Módulos utilizados después de obtener acceso a un sistema objetivo.
- Payloads: Código que se ejecuta en el sistema objetivo después de un exploit exitoso.
Aprenderá a listar e identificar estos módulos utilizando la consola de Metasploit (msfconsole).
Listar módulos de exploit disponibles
En este paso, aprenderá a listar todos los módulos de exploit disponibles en Metasploit Framework. Los módulos de exploit están diseñados para aprovechar un fallo o vulnerabilidad específica en un sistema, servicio o aplicación para obtener acceso no autorizado.
Primero, necesita iniciar la consola de Metasploit Framework. Utilizaremos la bandera -q para suprimir el banner de inicio y obtener una interfaz más limpia. Una vez dentro de la consola, puede usar el comando show exploits.
Abra su terminal y ejecute el siguiente comando para iniciar msfconsole:
msfconsole -q
Una vez que aparezca el prompt de msfconsole (msf6 >), escriba el siguiente comando para listar todos los módulos de exploit:
show exploits
Verá una larga lista de exploits disponibles, junto con su fecha de divulgación, rango y una breve descripción. El rango indica la fiabilidad del exploit.
msf6 > show exploits
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/aix/local/ibstat_exec 2009-07-27 excellent No AIX ibstat Command Execution
1 exploit/aix/local/invscout_priv_esc 2012-03-30 excellent Yes AIX invscout Privilege Escalation
2 exploit/aix/rpc_catd 1995-01-01 great No AIX CDE ToolTalk rpc.catd Command Execution
...
2300 exploit/windows/smb/ms17_010_psexec 2017-03-14 excellent Yes MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution
...
Después de revisar la lista, puede salir de la consola de Metasploit escribiendo exit:
exit
Listar módulos auxiliares disponibles
En este paso, listará los módulos auxiliares. A diferencia de los exploits, los módulos auxiliares no resultan directamente en la obtención de acceso a un sistema. En su lugar, se utilizan para una amplia gama de tareas como el escaneo de puertos abiertos, la identificación de servicios, fuzzing, ataques de denegación de servicio y recopilación de información.
Al igual que en el paso anterior, inicie la consola de Metasploit y luego utilice el comando show.
Inicie msfconsole nuevamente desde su terminal:
msfconsole -q
En el prompt msf6 >, utilice el comando show auxiliary para ver todos los módulos auxiliares disponibles:
show auxiliary
La salida mostrará una lista completa de módulos utilizados para reconocimiento y otras actividades que no son exploits.
msf6 > show auxiliary
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/admin/2wire/xslt_password_reset normal No 2Wire Cross-Site Scripting and Password Reset
1 auxiliary/admin/appletv/appletv_display_image normal No AppleTV Display Image
...
450 auxiliary/scanner/http/http_login normal No HTTP Login Utility
451 auxiliary/scanner/http/http_put normal Yes HTTP PUT File Upload Utility
...
Una vez que haya terminado, salga de la consola:
exit
Listar módulos de post-explotación disponibles
En este paso, explorará los módulos de post-explotación. Estos módulos se utilizan después de haber comprometido con éxito un sistema objetivo. Su propósito es ayudarle a mantener el acceso, recopilar información sensible, escalar privilegios y pivotar a otros sistemas dentro de la red.
El proceso para listar estos módulos es similar a los pasos anteriores.
Inicie la consola de Metasploit:
msfconsole -q
En el prompt, escriba show post para listar todos los módulos de post-explotación:
show post
Verá una lista de módulos categorizados por el sistema operativo objetivo (por ejemplo, Windows, Linux, OSX) y la función que realizan (por ejemplo, gather, manage, escalate).
msf6 > show post
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 post/android/capture/screen normal No Android Screen Capture
1 post/android/gather/contacts normal No Android Gather Contacts
...
250 post/linux/gather/enum_configs normal No Linux Gather Configurations
251 post/linux/gather/enum_protections normal No Linux Gather Protection Mechanisms
...
400 post/windows/gather/credentials/total_commander normal No Windows Gather Total Commander FTP Passwords
...
Recuerde salir de la consola cuando haya terminado de explorar la lista:
exit
Listar módulos de payload disponibles
En este paso, listará los módulos de payload disponibles. Un payload es el código que un exploit entrega al sistema objetivo. Una vez que el exploit compromete con éxito el sistema, el payload se ejecuta, otorgando control al atacante. Los payloads pueden variar desde simples shells de comandos hasta el avanzado Meterpreter, que proporciona un control extenso sobre la máquina víctima.
Listémoslos usando la msfconsole.
Inicie la consola de Metasploit:
msfconsole -q
En el prompt msf6 >, utilice el comando show payloads:
show payloads
La salida mostrará una variedad de payloads, a menudo categorizados por el tipo de conexión que establecen (por ejemplo, reverse shell, bind shell) y la arquitectura objetivo.
msf6 > show payloads
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 payload/aix/ppc/shell_bind_tcp normal No AIX PowerPC Command Shell, Bind TCP Inline
1 payload/aix/ppc/shell_find_port normal No AIX PowerPC Command Shell, Find Port Inline
...
500 payload/linux/x86/meterpreter/reverse_tcp normal No Linux Meterpreter, Reverse TCP Stager
...
1000 payload/windows/x64/meterpreter/reverse_tcp normal No Windows Meterpreter (Reflective Injection), Reverse TCP Stager (x64)
...
Finalmente, salga de la consola:
exit
Diferenciar entre un exploit y un payload
En este paso final, solidificaremos su comprensión de la diferencia crucial entre un exploit y un payload. Si bien trabajan juntos, cumplen propósitos distintos.
- Exploit: Este es el "vehículo de entrega". Su único trabajo es aprovechar una vulnerabilidad para llevar el payload al sistema objetivo. Piense en él como la llave que abre una puerta.
- Payload: Esta es la "carga". Es el código que se ejecuta después de que el exploit tiene éxito. Define lo que puede hacer en el sistema comprometido. Piense en ello como lo que hace después de haber abierto la puerta y entrado.
Un exploit no puede funcionar sin un payload, y un payload no puede ser entregado sin un exploit.
Para demostrar su comprensión, cree un archivo de texto simple llamado difference.txt en su directorio de proyecto que resuma este concepto.
Ejecute el siguiente comando en su terminal:
echo "Exploit: Gains access. Payload: Runs after access." > /home/labex/project/difference.txt
Puede verificar que el archivo se creó correctamente con el comando cat:
cat /home/labex/project/difference.txt
Debería ver la siguiente salida:
Exploit: Gains access. Payload: Runs after access.
Este simple ejercicio ayuda a reforzar la relación central entre estos dos componentes fundamentales de Metasploit.
Resumen
¡Felicitaciones por completar este laboratorio! Ha explorado con éxito los tipos de módulos fundamentales dentro del Metasploit Framework.
Aprendió que:
- Los módulos de exploit se utilizan para aprovechar las vulnerabilidades y obtener acceso inicial.
- Los módulos auxiliares se utilizan para escaneo, reconocimiento y otras acciones que no son exploits.
- Los módulos de post-explotación se ejecutan en un sistema después de que ha sido comprometido.
- Los módulos de payload son el código entregado por un exploit que se ejecuta en el objetivo.
Lo más importante es que ahora comprende la distinción crítica entre un exploit (el método de entrada) y un payload (el código que se ejecuta después de la entrada). Este conocimiento fundamental es esencial para realizar pruebas de penetración efectivas con Metasploit.


