
Scanner para CVE-2020-0796 - Um RCE de SMBv3.1.1 + compressão SMB
Este repositório contém meu script de verificação que permite saber se seu servidor usa SMBv3.1.1 e tem compressão SMB ativada. Em última análise, isso significa que você está vulnerável ao CVE-2020-0796. Neste momento, um patch de segurança foi lançado, por favor, certifique-se de atualizar!
Ele também oferece uma estrutura de pacote totalmente documentada que pode ser utilizada para investigações futuras direcionadas ao protocolo SMB.
Lembre-se de que este scanner apenas informará se você tem SMBv3.1.1 e compressão SMB ativadas ou não. Ele marcará um sistema corrigido como vulnerável também!
O módulo possui logging extensivo e requer a biblioteca hexdump, que pode ser instalada com pip3 install --user hexdump. Se você não quiser logging, pode usar o script em logless_scanner.py.
python3 .\scanner.py 127.0.0.1 445
NetBIOS (4): 000000c0
Header (64): fe534d42400000000000000000001f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Negotiation (128): 24000800010000007f000000000000000000000000000000000000007800000002000000020210022202240200030203100311030000000001002600000000000100200001000100000000000000000000000000000000000000000000000000000000000000000003000a000000000001000000010000000100000000000000
Packet (196): 000000c0fe534d42400000000000000000001f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000800010000007f000000000000000000000000000000000000007800000002000000020210022202240200030203100311030000000001002600000000000100200001000100000000000000000000000000000000000000000000000000000000000000000003000a000000000001000000010000000100000000000000
Algumas saídas foram omitidas para um README mais limpo. Se você estiver vulnerável, o script exibirá o seguinte texto:
SMB version 0x311 with context 0x2 was found which indicates SMBv3.1.1 is being used and SMB compression is enabled, therefore being vulnerable to CVE-2020-0796!

Se você não conseguir instalar o patch de segurança fornecido pela Microsoft, considere desabilitar a compressão SMB usando o seguinte comando:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 1 -Force
No entanto, isso não o protegerá de ser explorado se você for o cliente se conectando a uma máquina explorada.