
Cobalt Strike (CS) Beacon Object File (BOF) für die Kernel-Exploitation mithilfe des AMD Ryzen Master Treibers (Version 17).
Cobalt Strike Beacon Object File zur Kernel-Ausnutzung mit AMDs Ryzen-Master-Treiber (Version 17).
Erstellt von Tijme. Dank an Alex, der es mir beigebracht hat! Ermöglicht durch Northwave Security
Dies ist eine Cobalt Strike (CS) Beacon Object File (BOF) und ein ausführbares Programm, die AMDs Ryzen-Master-Treiber (Version 17) ausnutzen. Es überschreibt lediglich das Token des Beacon-Prozesses mit dem Token des Systemprozesses. Aber, genau wie KernelMii, ist diese BOF hauptsächlich nur eine gute Grundlage für weitere Kernel-Ausnutzung über CS. Sie können sie verwenden, um EDR zu deaktivieren, ETW TI zu deaktivieren, LSASS PPL auszudumpen oder andere unentdeckte bösartige Aktionen durchzuführen.
Ursprünglich habe ich diese Schwachstelle (wenn man sie überhaupt eine Schwachstelle nennen kann, wenn man bedenkt, dass Administrator-zu-Kernel nicht als Sicherheitsgrenze betrachtet wird) während einer Kernel-Treiber-Recherche identifiziert. Ich habe vier Angriffsvektoren in dem Treiber identifiziert. Später stellte ich fest, dass @h0mbre zwei dieser Vektoren bereits 2020 identifiziert hatte (CVE-2020-12928). Damals konnte jeder Benutzer auf dem System Handles auf den symbolischen Link öffnen. AMD hat es 'behoben', indem es den Zugriff auf lokale Administratoren beschränkt hat. Aber aus der Perspektive eines Bedrohungsakteurs und von Red Teaming ist es immer noch sehr nützlich.
Ich habe diesen Exploit unter Windows 10 Pro 22H2 19045.2486 entwickelt und getestet. Das ausführbare Programm ist einigermaßen stabil. Cobalt Strike Beacons haben eine Stack-Begrenzung von 4096 Bytes, daher ist es weniger wahrscheinlich, dass es funktioniert (während der Entwicklung hat es doch immer funktioniert). Das ausführbare Programm sollte immer funktionieren.
Klonen Sie zuerst dieses Repository. Überprüfen Sie dann den Code, kompilieren Sie aus dem Quellcode und verwenden Sie es in Cobalt Strike.
Kompilieren
make
Verwendung
Laden Sie das Skript AMDRyzenMasterDriverV17Exploit.cna mithilfe des Cobalt-Strike-Skriptmanagers. Verwenden Sie dann den folgenden Befehl, um den Exploit auszuführen.
$ amd_ryzen_master_driver_v17_exploit
Alternativ (und zu Testzwecken) können Sie das kompilierte ausführbare Programm direkt ausführen. Dadurch wird eine Eingabeaufforderung als SYSTEM geöffnet.
$ .\AMDRyzenMasterDriverV17Exploit.x64.exe
Probleme oder neue Funktionen können über den Issue-Tracker gemeldet werden. Bitte stellen Sie sicher, dass Ihr Problem oder Ihre Funktion nicht bereits von jemand anderem gemeldet wurde, bevor Sie ein neues einreichen.
Copyright (c) 2022 Tijme Gommers & Northwave Security. Alle Rechte vorbehalten. Die vollständige Lizenz finden Sie in LICENSE.md.