Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ROP_ROCKET — ROP ROCKET ist ein fortschrittliches Code-Reuse-Angriffsframework mit umfangreichen ROP-Chain-Generierungsfunktionen, einschließlich für neuartige Windows-Syscall-Angriffe, ein neuartiges Heaven's Gate und "shellcodeless" ROP. Das Framework nutzt Emulation und Verschleierung, um die Angriffsfläche zu erweitern. | Kitploit
Tools/GitHubGitHub/bw3ll/rop_rocket
Penetrationstest-FrameworksExploit-FrameworksPayload-GenerierungExploitationReverse EngineeringShellcodeBinary-Exploitation
GitHubbw3ll/rop_rocket

ROP_ROCKET

Repository anzeigen
173296vor 9 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Über

ROP ROCKET ist ein fortschrittliches Code-Reuse-Angriffsframework mit umfangreichen ROP-Chain-Generierungsfunktionen, einschließlich für neuartige Windows-Syscall-Angriffe, ein neuartiges Heaven's Gate und "shellcodeless" ROP. Das Framework nutzt Emulation und Verschleierung, um die Angriffsfläche zu erweitern.

Teilen

Vorstellung der ROP ROCKET

Dieses neue, fortschrittliche ROP-Framework hat auf der DEF CON 31 mit einigen beispiellosen Fähigkeiten sein Debüt gegeben. ROCKET generiert mehrere Arten von Chains und bietet neue Muster oder Techniken.

Bitte beachten Sie, dass dies noch ein Work-in-Progress ist, mit einigen aktualisierten und erweiterten Funktionen, die noch hinzugefügt werden. Updates sollten regelmäßig erfolgen. Wenn Sie auf Probleme stoßen, melden Sie diese bitte über die Issues oder senden Sie mir eine E-Mail, und ich werde sie beheben. Weitere, alternative Methoden zur Generierung bestimmter Gadget-Typen werden ebenfalls hinzugefügt.

Die Arbeit läuft, derzeit werden regelmäßig neue Funktionen hinzugefügt. Bitte schauen Sie regelmäßig vorbei.

image

Leistungsstarke ROP-Funktionen

ROP ROCKET ist sehr leistungsfähig mit einzigartigen Fähigkeiten, die Folgendes umfassen:

  • Es kann Windows-Syscalls für NtAllocateVirtualMemory und NtAllocateVirtualProtect generieren – dies ist die erste bekannte Verwendung direkter Windows-Syscalls in WoW64 ROP.
  • Es kann einen neuartigen Heaven's Gate-Angriff erzeugen, um von x86 zu x64 über ROP zu wechseln. Um damit zu arbeiten, müssen Sie WinDbg x64 verwenden und an einen aktuell laufenden Prozess anhängen (öffnen Sie ihn nicht direkt im Debugger).
  • Es kann einen neuartigen Heaven's Gate-Angriff erzeugen, um von x64 zu x86 über ROP zu wechseln. Dies ist 64-Bit-Code.
  • Es kann shellcodelose ROP-Angriffe für LoadLibrary / GetProcAddress / System und LoadLibrary / GetProcAddress generieren. Mehrere andere sind für zukünftige Veröffentlichungen in Entwicklung. Die Idee hinter 'shellcodelosem' ROP ist es, die Umgehung von DEP zu vermeiden und shellcode-ähnliche Funktionalität direkt aufzurufen.
  • Intern nutzt es Emulation von ROP-Chains – die es auch rekursiv durchführen kann – um Abstände zu bestimmten als Parameter verwendeten Pointern zu bestimmen, z. B. einem Pointer auf einen String oder eine Struktur. Ohne dies wäre eine automatische Chain-Generierung wahrscheinlich nicht durchführbar.
  • Es nutzt Emulation einzelner ROP-Gadgets, um die Angriffsfläche zu vergrößern. (Dies ist noch nicht auf alle vollständig angewendet.) Damit kann jedes ROP-Gadget daraufhin bewertet werden, was möglicherweise überschrieben wird oder nicht usw. Erwarten Sie hier noch viel mehr.
  • Dies ermöglicht die Verwendung von Gadgets unabhängig von Bad Bytes in der Gadget-Adresse. Wenn Sie beispielsweise ein pushad benötigen, aber Bad Bytes in der Adresse vorhanden sind, können wir es codieren und zur Laufzeit decodieren und über push r32 /ret ausführen. (Siehe Obfuscation-Optionen.) Es werden mehrere Arten von Obfuscation bereitgestellt, darunter ein sehr robuster Integer Overflow, der wahrscheinlich nicht fehlschlägt, vorausgesetzt, Gadgets sind verfügbar. (Wenn Sie alle \x00 ausschließen und jedes Gadget solche enthält, kann nichts getan werden.) Register können ebenfalls ausgeschlossen werden, um ein 'Überschreiben' zu verhindern.
  • Alternativer mov-Dereferenzierungs- 'Sniper'-Ansatz für VirtualProtect – für diejenigen, die pushad vermeiden müssen.
  • Sehr robuste Ausschlusskriterien – Ausschluss basierend auf CFG, ASLR, Windows-DLLs, Bad Bytes usw.
  • Persistenz – ROP ROCKET extrahiert beim Start x86-Gadgets. Diese werden in einer .obj-Datei gespeichert, sodass sie bei jedem Öffnen erhalten bleiben und zuvor gefundene Gadgets sofort verfügbar sind. Das Generieren neuer Angriffe sollte zu diesem Zeitpunkt mehr oder weniger sofort erfolgen. Hinweis: Wenn Sie bis zu 0x22 Bytes extrahieren und dann entscheiden, die Anzahl zu verringern, müssen Sie diese löschen und neu erfassen; das Speichern Ihrer Ergebnisse erfolgt automatisch.
  • Config.cfg-Datei für nützliche Einstellungen für einige persönliche Vorlieben.
  • Einige weitere neue und einzigartige Funktionen sind ebenfalls geplant.
  • High Entropy ASLR-Umgehungen

    August 2025: ROP ROCKET verfügt über ein ASLR Bypass Mini-Tool, das am 10. August 2025 auf der DEFCON veröffentlicht wurde und neun ASLR-Umgehungen für 64-Bit High Entropy ASLR generiert.

    r_bypass1

    ASLR Bypass Screenshot

    Installationsanleitung

    Einrichtung

    Dies sollte als lokales Paket installiert werden. Es gibt eine setup.py-Datei. Gehen Sie dazu einfach in das Verzeichnis und geben Sie den folgenden Befehl ein: py -m pip install -e ./ Je nach Ihrer Python-Installation müssen Sie dies möglicherweise leicht variieren. Wenn Sie installierte Pakete anzeigen, sollte ROP-ROCKET erscheinen: py -m pip list Es wird angenommen, dass alle erforderlichen Abhängigkeiten enthalten sind. Sollten jedoch aufgrund der Neuheit dieser Version Probleme auftreten, öffnen Sie einfach ein Issue, und wir werden uns darum kümmern.

    Erstmaliges Ausführen

    Führen Sie es einfach von der Befehlszeile aus: py rop2.py rop_tester_syscall.exe Eine vollständig ausnutzbare rop_tester_syscall.exe ist ebenfalls als ZIP-Datei enthalten. Dies wurde entwickelt, um sicherzustellen, dass alle Gadgets gefunden und nicht übersehen werden.

    Geschichte

    Dieses Tool wurde von dem viel älteren JOP ROCKET inspiriert, das ich als Teil meiner Doktorarbeit geschrieben und 2019 auf der DEF CON 27 veröffentlicht habe. Dies führte zu vielen weiteren Entwicklungen im Bereich JOP und vielen neuen JOP-Funktionen sowie zu einer umfangreichen Dokumentation der Mechaniken und Verwendung von JOP in verschiedenen Artikeln. Dieses Tool ist derzeit etwas veraltet – es ist ein älterer Python-Stil. Mit dieser neuen Forschung ist ein Teil dieser Inspiration der Versuch, etwas Neues und Andersartiges im Bereich ROP zu schaffen. Bisher haben wir dieses Mandat erfüllt. In gewisser Weise ist dieses Tool also von einem JOP-Tool inspiriert, was uns vielleicht ermöglicht, über den Tellerrand hinauszuschauen und auf unkonventionellere Weise zu denken, als wir es normalerweise mit ROP tun. ROP ROCKET hat keine JOP-Fähigkeiten – es widmet sich ausschließlich ROP. Das einzige vollständig dedizierte JOP-Tool ist JOP ROCKET, da alles andere nur einen Platzhalter für zukünftige Arbeiten an JOP hat. Wie auch immer, ich wollte diese historischen Informationen klarstellen, damit die Namensähnlichkeit niemanden verwirrt, da es sich um zwei sehr unterschiedliche und unabhängige Tools handelt.

    Screenshots

    image

    ROCKET hat einen Heaven's Gate x86-zu-x64-Angriff generiert, der auf dem Bildschirm ausgegeben und gespeichert wird.

    image

    ROCKET hat einen Windows-Syscall für NtProtectVirtualMemory für Windows 10/11 generiert, der auf dem Bildschirm ausgegeben und gespeichert wird.

    image

    Dank seiner internen Emulationsfähigkeiten kann ROCKET viele ungewöhnliche Kombinationen von Gadgets berücksichtigen. Das obige Beispiel soll einen Stack-Zeiger (ESP) erfassen und nach ECX verschieben. Es ist in der Lage, alternative Wege zu finden, anstatt nur ein einzelnes ROP-Gadget zu verwenden, das möglicherweise nicht verfügbar ist. Zuerst wird esp nach edi verschoben; edi wird dann nach ebx verschoben; und ebx wird dann nach esi verschoben. ECX wird per Integer Overflow auf Null gesetzt, und dann wird der Wert von esi (unser Stack-Zeiger) zu ecx addiert. Das Ergebnis ist, dass der Stack-Zeiger in ecx ist. Ein äquivalentes, kürzeres Gadget wäre mov ecx, esp # ret – obwohl dies nicht immer möglich ist. ROCKET behandelt auch die zusätzlichen pop-Instruktionen korrekt und erzeugt den richtigen Füller. Beachten Sie, dass ROP ROCKET sorgfältig Register berücksichtigt, die geschützt werden müssen ("excluded registers"), die von Gadget zu Gadget variieren können. Im obigen Beispiel werden keine Register "überschrieben", die wir zu schützen versuchen.

    image

    ROCKET bietet viele Optionen dafür, was und wie Sie Gadgets erfassen. Standardwerte können natürlich in der config.cfg-Datei festgelegt werden. Hier entscheidet der Benutzer, nur Speicherblöcke mit maximal 0xa (15) Bytes untersuchen zu wollen.

    image

    Sie können nicht nur einzelne ROP-Chains ausgeben, sondern auch alle gefundenen Gadgets, sortiert nach Kategorie, wie z. B. mov edx. Es gibt hunderte Möglichkeiten. Sie können die Ergebnisse auch verfeinern, indem Sie die Anzahl der Zeilen pro Gadget ändern.

    image

    Beim Ausgeben der Ergebnisse gibt es viele Optionen für verschiedene Filtertypen, die angewendet werden können, um Gadgets auszuschließen, z. B. ASLR, CFG, Windows-System-DLLs oder einfach nur Bad Bytes. Dies ist alles hochgradig anpassbar.

    image

    Manchmal müssen Sie ein bestimmtes Gadget verschleiern, das aufgrund von Bad Bytes in der Gadget-Adresse sonst möglicherweise nicht verfügbar wäre. Wir haben viele Optionen dafür, und Sie können auch auf der Grundlage von verwendeten Registern oder Bad Bytes ausschließen.

    image

    Hier hat der Benutzer Obfuscation verwendet, um die Adresse für ein xor eax, edi # ret zur Laufzeit dynamisch zu decodieren, das er hypothetisch sonst nicht verwenden könnte. Nach der Decodierung führt das push r32 / ret dazu, dass dieses sofort ausgeführt wird. Dies ist eine großartige Möglichkeit, ansonsten aufgrund von Bad Bytes nicht verfügbare Gadgets zu nutzen. ROCKET erledigt dies in Sekunden. Seine Fähigkeit, dies mit Integer Overflow zu tun, ist so gut wie sicher funktionsfähig, vorausgesetzt, es gibt keine Probleme mit Bad Bytes oder fehlenden verfügbaren Registern (d.h. der Benutzer hat zu viele Register ausgeschlossen).

    Danksagung

    Dieses Tool wurde von Dr. Bramwell Brizendine erstellt und geschrieben, beginnend Anfang 2023.

    Shiva Shashank Kusuma arbeitete für Dr. Bramwell Brizendine als Doktorand, um Muster für ROP ROCKET zu entwickeln. Er hat unschätzbare Arbeit geleistet und war Co-Speaker auf der DEFCON und dem Black Hat Arsenal. Im Jahr 2025 begann Shiva auch, zur Programmierung von ROP ROCKET beizutragen.

    Updates

    09/18/2023 – Verschiedene Erweiterungen; weitere Unterstützung für variantenreiche Methoden zum Leaken des Far Jumps, der zum Windows-Syscall führt.

    3/2024 – Viele wichtige Updates in relativ regelmäßigen Abständen – bitte versuchen Sie, wenn möglich, die aktuellste Kopie zu behalten, wenn Sie ROP ROCKET aktiv nutzen möchten. Einzelne Änderungen werden nicht aufgeführt. Kleinere Änderungen und Updates werden voraussichtlich fortlaufend sein. Nur größere neue Funktionen werden beschrieben. (Einige kleinere neue Funktionen wurden bereits hinzugefügt.)

    Ende März – 3. April 2024 – Umfangreiche Updates der Emulation zur Verbesserung und Steigerung der Effizienz; Unterstützung für viele weitere Möglichkeiten für die Generierung einzelner Gadgets; Behebung von Fehlern; neue Veröffentlichung von VirtualAlloc und VirtualProtect per pushad. Während andere Tools bereits Unterstützung für VirtualProtect und VirtualAlloc geboten haben, weshalb wir dies nicht taten, sind wir nun der Meinung, dass es nachlässig wäre, diese nicht aufzunehmen, insbesondere da diese durch die Fähigkeiten des Tools verbessert werden können. Es wurden vollständige Vorlagen für VirtualAlloc und VirtualProtect per pushad erstellt, die auch Shellcode enthalten (pop a calc).

    5/2024 – Massives Überarbeiten der Windows-Syscalls, um das Auffinden in realen Binärdateien stark zu erweitern. Selbst lange, unerwünschte Gadgets, die das FS-Register leaken (erforderlich für Windows-Syscalls in SysWow64, d.h. 32-Bit), können automatisiert verarbeitet werden. Zahlreiche weitere kleinere Verbesserungen.

    6/28/2025 – Massive Updates, einschließlich Unterstützung für 17 neue WinAPIs, die zuvor nicht in ROP ROCKET enthalten waren. Möglichkeit hinzugefügt, einen anfänglichen Overflow-Betrag zu definieren – dies ist relevant, da es Berechnungen für Strings oder Pointer bei der Emulation beeinflussen kann.

    Tool herunterladen