SMBGhost la vulnerabilidad que se apodera de tu Windows 10
¿Qué es SMBGhost y como funciona?
El exploit SMBGhost o tambien conocido como CoronaBlue se aprovecha de que un usuario no autenticado puede adquirir la capacidad de ejecutar código de forma remota en el servidor de SMB o en el Cliente Destino sobre la versión actual de SMB3.La vulnerabilidad ha estado en el dominio público desde el 10 de marzo. Un ataque podría comprometer otros equipos sin necesidad de interacción por parte del usuario, tal como el Ransomware WannaCry o NotPetya. Recordar que el Ransomware WannaCry explotaba un fallo bastante similar en la versión SMBv1.
Es una vulnerabilidad “wormable” dada su capacidad potencial para replicarse o extenderse a través de recursos compartidos de red utilizando la última versión del protocolo (SMB 3.1.1). El error se introdujo muy recientemente en las rutinas de descompresión para cargas de datos SMBv3. El código que implementa esto se implementó en abril de 2019 para la versión 1903 y noviembre de 2019 para la versión 1909.
La vulnerabilidad se produce durante el procesamiento de un mensaje comprimido mal formado. El encabezado del mensaje sigue este formato: (de [MS-SMB2] )
Versiones de Windows afectadas:
- Windows 10 versión 1903 para sistemas de 32 bits
- Windows 10 versión 1903 para sistemas basados en ARM64
- Windows 10 versión 1903 para sistemas x64
- Windows 10 versión 1909 para sistemas de 32 bits
- Windows 10 versión 1909 para sistemas basados en ARM64
- Windows 10 versión 1909 para sistemas x64
- Windows Server, versión 1903 (instalación Server Core)
- Windows Server, versión 1909 (instalación Server Core)
¿Qué tan vulnerable es México?
Durante una investigaron en distintos sitios recopiladores de información hay un aproximado de 48 mil equipos que pueden tener esta vulnerabilidad, y más tomando en cuenta que el parche para esta vulnerabilidad se hace de forma manual.
¿Como saber si soy vulnerable?
Por el momento la forma de saber si se es vulnerable, es mediante herramientas de código abierto como este escáner:
https://github.com/ollypwn/SMBGhost
La manera de como funciona utiliza el mismo código que usa el exploit para aprovechar la vulnerabilidad y ejecuta el comando whoami, al regresar una respuesta nos dice si es vulnerable.
Para usar este escáner es necesario tener una versión actual de python de preferencia python3.
Descargamos el script:
wget https://raw.githubusercontent.com/ollypwn/SMBGhost/master/scanner.py
lo ejecutamos con python 3:
python3 ./scanner.py IP
Cuando el script se ejecute correctamente nos dirá “vulnerable o “Not Vulnerable”.
Dato:Puede que algunos casos el escáner falle de forma remota, pero si se ejecuta en el equipo puede dar positivo, esto se debe a el firewall.
¿Cómo protegerse ante esta vulneravilidad?
1. Deshabilitar la compresión SMBv3
Puede deshabilitar la compresión para impedir que los atacantes no autenticados aprovechen la vulnerabilidad contra un servidor SMBv3 con el siguiente comando de PowerShell:
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters” DisableCompression -Type DWORD -Value 1 -Force
2. Bloquear el puerto 445/TCP en el Firewall perimetral
Desde tú firewall perimetral bloquear el puerto 445/tcp, este puerto se usa para iniciar una conexión con el componente SMB afectado. Bloquear este puerto en el firewall perimetral protegerá los sistemas que están detrás de este firewall de los intentos de aprovechar esta vulnerabilidad. Sin embargo, los sistemas aún podrían ser vulnerables a los ataques desde el perímetro de su empresa.
¿Cómo Explotarlo?
Mediante una larga investigación, hemos dado con un exploit de ejecución local que aprovecha la misma vulnerabilidad de forma local para escalar de privilegios, el exploit remoto desapareció de todos los repositorios existentes. Para hacer uso del siguiente exploit solo es necesario tener microsoft visual studio y compilar el proyecto y automáticamente el exe que nos de al abrirlo nos abrirá una terminal con permisos de administrador
https://github.com/danigargu/CVE-2020-0796