Comprender los tipos de módulos de Metasploit

Kali LinuxBeginner
Practicar Ahora

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.