Como hackear Windows 10 con el exploit SMB GHOST. Tutorial paso a Paso

Una vulnerabilidad de seguridad se hizo popular en los foros clandestinos y en muchos sitios de noticias. Apodada SMBGhost (CVE-2020-0796), esta falla afecta el protocolo de bloqueo de mensajes del servidor que se ejecuta en el puerto 445 o 139 de los sistemas Windows. Este protocolo ayuda a los usuarios de una red a compartir y editar sus recursos en el servidor SMB.

La vulnerabilidad puede reconocerse como un ataque masivo de gusanos; Si los actores de la amenaza lo desean, pueden causar un gran daño a la red de víctimas utilizando esta vulnerabilidad. El error afecta a las versiones de Windows 10 1903 y 1909. Esta vulnerabilidad existe porque el servidor SMB no es capaz de manejar los paquetes maliciosos que causan el desbordamiento del búfer del servidor de destino, que incluso puede afectar a toda la red. El error existía en el desbordamiento de enteros de la función Srv2DecompressData en el controlador del servidor SMB srv2.sys.

Esta vulnerabilidad es la más utilizada en los ataques en todo el mundo y la misma vulnerabilidad fue explotada durante los brotes de ransomware WannaCry y NotPetya en 2017, utilizando el exploit EternalBlue supuestamente desarrollado por la NSA y filtrado por el grupo de piratería Shadow Brokers en abril de 2017.

CÓMO EXPLOTAR LA VULNERABILIDAD SMB

En este artículo, explicaremos cómo puede aprovechar la vulnerabilidad BlueSMB recientemente emergida. ¿Por qué se llama BlueSMB? Solo porque cuando explota esta vulnerabilidad, se muestra una pantalla azul, que se debe a una condición de denegación de servicio (DDoS) causada por un desbordamiento del búfer en el servidor SMB.

Configuración del entorno:

  • El exploit funciona en la versión 1903 o 1909 del sistema operativo Windows. Asegúrese de tener la versión requerida para probar la vulnerabilidad, así como de haber descargado el archivo .iso requerido de Internet.
  • Asegúrese de que python3 esté instalado en su sistema (python2 no es compatible).

PRUEBA DE CONCEPTO

Nota: Inicialmente, los desarrolladores del exploit lo han probado en localhost, pero es posible ejecutar código remoto para la misma vulnerabilidad. Más tarde se creará un exploit.

El exploit que usaremos es el Local Privilege Escalation (LPE) para la vulnerabilidad de SMB. Este exploit se utiliza para escalar privilegios locales en el sistema de objetivo

  • Descargue la carpeta zip del exploit LPE para la vulnerabilidad SMB usando el enlace:

https://github.com/ZecOps/CVE-2020-0796-LPE-POC.git

  • Después de clonar el exploit, descomprímalo
CVE-2020-0796
  • Haga clic en el archivo poc.py. Esto exlpotará la vulnerabilidad y le dará los privilegios de administración
  • En ocasiones, el archivo poc.py no puede ejecutarse y, por lo tanto, necesitamos ejecutar el exploit de un modo alternativo
  • Seleccione y copie la ubicación del archivo poc.py y luego abra el símbolo del sistema
  • En la ventana del shell, escriba cd <location_of_poc.py> y presione Enter
SMB Exploit Running
  • Ha ingresado la ubicación del exploit en la consola; ahora ejecutaremos el exploit aquí
  • Como el exploit está escrito en Python, necesitamos Python para ejecutarlo
  • Escriba python3 poc.py
  • Espere uno o dos minutos
  • Ahora tendrá acceso a la carpeta system32
Got Admin Shell
  • Ha ingresado a system32, lo que significa que se le han otorgado derechos administrativos. Este es el objetivo de este exploit, realizar una escalada de privilegios locales
Got Admin Shell
  • Escriba whoami para verificar su autoridad

CONCLUSIÓN

Aunque inicialmente este exploit se puede utilizar para la escalada de privilegios locales, con más investigación y tiempo también podría desencadenar la ejecución remota de código. Esta vulnerabilidad ya ha sido corregida por Microsoft, por lo que se recomienda:

  • Mantener los servidores y endpoints actualizados a la última versión de Windows
  • Si es posible, deshabilite la compresión de datos SMBv3.1.1 para evitar el disparo utilizando el siguiente comando power shell
  • Si es posible, bloquee el puerto 445 hasta que se implementen las actualizaciones