Microsoft lanzó un parche.
Nomenclatura de vulnerabilidad: smbghost/deepblue ...
El protocolo Microsoft Server Message Block 3.1.1 (SMBv3) tiene una vulnerabilidad de ejecución remota de código en la forma en que maneja ciertas solicitudes. Puede ejecutar código en el servidor o cliente smb de destino.
Para aprovechar la vulnerabilidad contra el servidor, los atacantes no autenticados pueden enviar paquetes especialmente diseñados al servidor SMBv3 de destino; para explotar la vulnerabilidad contra el cliente, el atacante no autenticado deberá configurar un servidor SMBv3 malicioso e incite a los usuarios a conectarse al servidor.
Nomenclatura de vulnerabilidad: smbghost/deepblue ...
El protocolo Microsoft Server Message Block 3.1.1 (SMBv3) tiene una vulnerabilidad de ejecución remota de código en la forma en que maneja ciertas solicitudes. Puede ejecutar código en el servidor o cliente smb de destino.
Para aprovechar la vulnerabilidad contra el servidor, los atacantes no autenticados pueden enviar paquetes especialmente diseñados al servidor SMBv3 de destino; para explotar la vulnerabilidad contra el cliente, el atacante no autenticado deberá configurar un servidor SMBv3 malicioso e incite a los usuarios a conectarse al servidor.
Rango de influencia:
Windows 10 versión 1903 para sistemas de 32 bits
Windows 10 versión 1903 para sistemas x64
Windows 10 versión 1903 para sistemas basados en ARM64
Windows Server, Versión 1903 (instalación Server Core)
Windows 10 versión 1909 para sistemas de 32 bits
Windows 10 versión 1909 para sistemas x64
Windows 10 versión 1909 para sistemas basados en ARM64
Windows Server, Versión 1909 (instalación Server Core)
Windows 10 versión 1903 para sistemas de 32 bits
Windows 10 versión 1903 para sistemas x64
Windows 10 versión 1903 para sistemas basados en ARM64
Windows Server, Versión 1903 (instalación Server Core)
Windows 10 versión 1909 para sistemas de 32 bits
Windows 10 versión 1909 para sistemas x64
Windows 10 versión 1909 para sistemas basados en ARM64
Windows Server, Versión 1909 (instalación Server Core)
Solo afecta a SMB v3.1.1, 1903 y 1909
Detección de vulnerabilidad:
No se ha encontrado ninguna EXP pública hasta el momento de la publicación.
Herramientas para la auditora:
Versión de Python:
https://github.com/ollypwn/SMBGhost
Comprueba el dialecto SMB 3.1.1 y la capacidad de compresión a través de una solicitud de negociación.
---README.md
También podemos ver la solución al verlo por el trafico.
socket para enviar paquetes:
Entorno win10 x64-1903 Professional Edition, apague el firewall, apague la actualización automática.
Herramientas para la auditora:
Versión de Python:
https://github.com/ollypwn/SMBGhost
Comprueba el dialecto SMB 3.1.1 y la capacidad de compresión a través de una solicitud de negociación.
---README.md
También podemos ver la solución al verlo por el trafico.
socket para enviar paquetes:
pkt = b'\x00\x00\x00\xc0\xfe[email protected]\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$\x00\x08\x00\x01\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x02\x00\x00\x00\x02\x02\x10\x02"\x02$\x02\x00\x03\x02\x03\x10\x03\x11\x03\x00\x00\x00\x00\x01\x00&\x00\x00\x00\x00\x00\x01\x00 \x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\n\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00'
if res[68:70] != b"\x11\x03" or res[70:72] != b"\x02\x00": print(f"{ip} Not vulnerable.") else: print(f"{ip} Vulnerable")Sin embargo, después de parchar:
Entonces, después de aplicar el parche, el script también volverá vulnerable y causará falsos positivos.
Versión de Python con salida de estructura de datos:
https://github.com/ioncodes/SMBGhost
Este script determina si SMBv3.1.1 y la compresión SMB están habilitadas, igual que 1) también informará falsamente.
sudo pip3 install hexdumpTambién juzgue estas dos posiciones:
version = struct.unpack("H", response[68:70])[0] context = struct.unpack("H", response[70:72])[0] if version != 0x0311: print(f"SMB version {hex(version)} was found which is not vulnerable!") elif context != 2: print(f"Server answered with context {hex(context)} which indicates that the target may not have SMB compression enabled and is therefore not vulnerable!") else: print(f"SMB version {hex(version)} with context {hex(context)} was found which indicates SMBv3.1.1 is being used and SMB compression is enabled, therefore being vulnerable to CVE-2020-0796!")Este es el siguiente script:
https://github.com/ClarotyICS/CVE2020-0796/blob/master/python_script/smbv3_compress.py
Versión exe:
http://dl.qianxin.com/skylar6/CVE-2020-0796-Scanner.zip
Son precisos!
Versión de PowerShell:
https://github.com/T13nn3s/CVE-2020-0796
Versión perl:
https://github.com/wneessen/SMBCompScan
También use el socket para enviar paquetes, regrese para juzgar dos posiciones:
if(($byteArray[68] == 17 && $byteArray[70] == 2) || ($byteArray[70] == 2 && $byteArray[72] == 85)) { say 'vulnerable'; } else { say 'not vulnerable'; }Versión nmap:
Llame al script de escaneo del protocolo smb de nmap para verificar si hay smbv3.11
nmap -p445 --script smb-protocols -Pn -n $1 | grep -P '\d+\.\d+\.\d+\.\d+|^\|.\s+3.11' | tr '\n' ' ' | replace 'Nmap scan report for' '@' | tr "@" "\n" | grep 3.11 | tr '|' ' ' | tr '_' ' ' | grep -oP '\d+\.\d+\.\d+\.\d+' if [[ $? != 0 ]]; then echo "There's no SMB v3.11" fiTambién hay algunos scripts nse:
https://github.com/ClarotyICS/CVE2020-0796/tree/master/nse_script
https://github.com/cyberstruggle/DeltaGroup/blob/master/CVE-2020-0796/CVE-2020-0796.nse
https://github.com/pr4jwal/CVE-2020-0796/blob/master/cve-2020-0796.nse
Versión rules:
https://github.com/ClarotyICS/CVE2020-0796/tree/master/snort_rules
https://github.com/cve-2020-0796/cve-2020-0796/blob/master/snort_rule_smbv3.rules
Solución de reparación:
1] Configuración-Actualización y seguridad-Windows Update-Verificar actualizaciones o descargue directamente el parche correspondiente para instalar (KB4551762)
https://www.catalog.update.microsoft.com/Search.aspx?q=KB4551762
2】regedit HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters crea un DWORD llamado DisableCompression con un valor de 1, que prohíbe la compresión SMB.
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 1 -Force3] Bloquea el puerto 445.
NOTA: Después de ms17-010 y cve-2019-0708, hay otra vulnerabilidad RCE a nivel de gusano, ¡parchela lo antes posible!
"El archivo adjunto es srv2.sys y el archivo de tabla de símbolos"
1 Comentarios
deberias hacer un tutorial del uso del nuevo bettercap con los caplets y todo eso... saludos
ResponderBorrar