Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ROP_ROCKET — ROP ROCKET è un framework avanzato per attacchi di riutilizzo del codice, con ampie capacità di generazione di catene ROP, inclusi nuovi attacchi Syscall su Windows, un nuovo Heaven's Gate e ROP "shellcodeless". Il framework utilizza emulazione e offuscamento per espandere la superficie d'attacco. | Kitploit
Strumenti/GitHubGitHub/bw3ll/rop_rocket
Frameworks per Penetration TestingFramework di ExploitGenerazione di PayloadExploitReverse EngineeringShellcodeBinary Exploitation
GitHubbw3ll/rop_rocket

ROP_ROCKET

Vedi Repository
173298 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Informazioni

ROP ROCKET è un framework avanzato per attacchi di riutilizzo del codice, con ampie capacità di generazione di catene ROP, inclusi nuovi attacchi Syscall su Windows, un nuovo Heaven's Gate e ROP "shellcodeless". Il framework utilizza emulazione e offuscamento per espandere la superficie d'attacco.

Condividi

Presentazione di ROP ROCKET

Questo nuovo e avanzato framework ROP ha debuttato al DEF CON 31 con alcune capacità senza precedenti. ROCKET genera diversi tipi di chain e fornisce nuovi pattern o tecniche.

Si prega di notare che è ancora un lavoro in corso, con alcune capacità aggiornate e potenziate da aggiungere. Gli aggiornamenti dovrebbero essere regolari. Se si incontrano problemi, si prega di segnalarli su issues o di inviarmi un'email e li risolverò. Verranno inoltre aggiunte modalità alternative per generare determinati tipi di gadget.

Il lavoro è in corso e attualmente vengono aggiunte regolarmente nuove funzionalità. Si prega di controllare periodicamente.

image

Potenti capacità ROP

ROP ROCKET è molto potente con alcune capacità uniche, che includono:

  • Può generare syscall Windows per NtAllocateVirtualMemory e NtAllocateVirtualProtect - questo è il primo uso noto di syscall Windows dirette in WoW64 ROP.
  • Può generare un nuovo attacco Heaven's Gate per passare da x86 a x64 tramite ROP. Per utilizzarlo, sarà necessario usare WinDbg x64 e collegarsi a un processo attualmente in esecuzione (non aprirlo direttamente nel debugger).
  • Può generare un nuovo attacco Heaven's Gate per passare da x64 a x86 tramite ROP. Questo è codice a 64 bit.
  • Può generare attacchi ROP senza shellcode per LoadLibrary / GetProcAddress / System e LoadLibrary/GetProcAddress. Molti altri sono in fase di sviluppo per future release. L'idea del ROP "senza shellcode" è quella di evitare di bypassare DEP e di invocare direttamente funzionalità simili a shellcode.
  • Utilizza internamente l'emulazione delle catene ROP - che può anche fare ricorsivamente - per determinare le distanze verso determinati puntatori usati come parametri, come un puntatore a una stringa o struttura. Senza questo, la generazione automatica delle catene sarebbe probabilmente impossibile.
  • Utilizza l'emulazione dei singoli gadget ROP per ampliare la superficie d'attacco. (Non è ancora completamente implementato su tutti.) Questo può valutare ogni gadget ROP per vedere cosa può essere danneggiato o meno, ecc. Aspettatevi molto altro con questo.
  • Questo permette di utilizzare i gadget indipendentemente dai bad byte nell'indirizzo del gadget. Ad esempio, se hai bisogno di un pushad ma ci sono bad byte nell'indirizzo, possiamo codificarlo e decodificarlo a runtime, eseguendolo tramite push r32 /ret. (Vedi opzioni di offuscamento.) Sono forniti diversi tipi di offuscamento, incluso un overflow intero molto robusto che probabilmente non fallirà, supponendo che ci siano gadget disponibili. (Se si escludono tutti i \x00 e ogni gadget li contiene, non c'è nulla che si possa fare.) È possibile escludere anche i registri, prevenendo il "clobbering".
  • Approccio alternativo "sniper" mov dereference per VirtualProtect - per coloro che hanno bisogno di evitare pushad.
  • Criteri di esclusione molto robusti - escludi in base a CFG, ASLR, DLL di Windows, bad byte, ecc.
  • Persistenza - ROP ROCKET estrarrà i gadget x86 all'avvio. Vengono salvati in un file .obj, quindi rimarranno ogni volta che lo apri, consentendo ai gadget trovati in precedenza di essere immediatamente disponibili. Generare nuovi attacchi dovrebbe essere più o meno istantaneo a questo punto. Nota: se estrai fino a 0x22 byte e poi decidi di diminuire, dovrai cancellarli e ricatturarli; il salvataggio dei risultati è automatico.
  • File Config.cfg per impostazioni utili per alcune preferenze personali.
  • Sono previste anche altre nuove e uniche funzionalità.

Bypass ASLR ad alta entropia

Agosto 2025: ROP ROCKET ha un mini-tool per bypass ASLR, rilasciato al DEFCON il 10 agosto 2025, che genererà nove bypass ASLR verso ASLR a 64 bit ad alta entropia.

r_bypass1

ASLR Bypass Screenshot

Istruzioni di installazione

Configurazione

Deve essere installato come pacchetto locale. C'è un file setup.py. Per farlo, basta andare nella directory e inserire il seguente comando: py -m pip install -e ./ A seconda della tua installazione di Python, potresti dover variare leggermente. Se visualizzi i pacchetti installati, dovresti vedere ROP-ROCKET apparire: py -m pip list Si ritiene che tutte le dipendenze richieste siano incluse, ma se incontri problemi - a causa della novità di questa release, apri semplicemente un issue e lo esamineremo.

Esecuzione per la prima volta

Esegui semplicemente dalla riga di comando:py rop2.py rop_tester_syscall.exe Un rop_tester_syscall.exe completamente sfruttabile è incluso anche come file zip. È stato sviluppato solo per aiutare a garantire che tutti i gadget vengano trovati e non persi.

Storia

Questo strumento è stato ispirato dal molto più vecchio JOP ROCKET, che ho scritto per parte della mia tesi di dottorato e rilasciato al DEF CON 27 nel 2019. Ciò ha portato a molti ulteriori sviluppi su JOP e a molte nuove capacità JOP, oltre a fornire ampia documentazione sulla meccanica e l'uso di JOP in diversi articoli. Quel tool è un po' datato al momento - è uno stile più vecchio di Python. Con questa nuova ricerca, parte di questa ispirazione è cercare di fare qualcosa di nuovo e diverso nell'area del ROP. Abbiamo soddisfatto quel mandato finora. Quindi in un certo senso questo strumento è ispirato da un tool JOP, permettendoci forse di pensare fuori dagli schemi e in modi meno convenzionali di quanto faremmo normalmente con ROP. ROP ROCKET non ha capacità JOP - è strettamente dedicato a ROP. L'unico tool completamente dedicato a JOP è JOP ROCKET, mentre tutto il resto ha solo un segnaposto per lavori futuri su JOP. Comunque, volevo chiarire queste informazioni storiche, in modo che la somiglianza nei nomi non confonda nessuno, poiché si tratta di due strumenti molto diversi e non correlati.

Screenshot

image

ROCKET ha generato un attacco Heaven's Gate da x86 a x64, stampandolo a schermo e salvandolo.

image

ROCKET ha generato una syscall Windows per NtProtectVirtualMemory per Win 10/11, stampandola a schermo e salvandola.

image

Grazie alle sue capacità di emulazione interna, ROCKET può considerare molte combinazioni insolite di gadget. Quanto sopra ha lo scopo di catturare un puntatore allo stack (ESP) e spostarlo in ECX. È in grado di trovare mezzi alternativi per farlo, invece di utilizzare un singolo gadget ROP, che potrebbe non essere disponibile. Per prima cosa sposta esp in edi; poi edi viene spostato in ebx; e poi ebx viene spostato in esi. ECX viene impostato a zero, tramite overflow intero, e quindi il valore di esi (contenente il puntatore allo stack) viene aggiunto a ecx. Il risultato è che il puntatore allo stack si trova in ecx. Un gadget equivalente più corto sarebbe mov ecx, esp # ret - anche se non sempre possibile. ROCKET gestisce anche correttamente le istruzioni pop extra, producendo il filler corretto. Nota che ROP ROCKET considera attentamente i registri che devono essere protetti ("registri esclusi"), che possono cambiare da gadget a gadget. Nell'esempio sopra, nessun registro viene "danneggiato" tra quelli che stiamo cercando di proteggere.

image

ROCKET offre molte opzioni per cosa e come catturare i gadget. Le impostazioni predefinite possono essere impostate nel file config.cfg ovviamente. Qui l'utente decide di esaminare solo blocchi di memoria con un massimo di 0xa (15) byte.

image

Non solo puoi stampare singole catene ROP, ma puoi stampare tutti i gadget trovati, organizzati per categoria, come mov edx. Ci sono centinaia di possibilità. Puoi anche perfezionare i risultati modificando il numero di righe per gadget.

image

Quando si stampano i risultati, ci sono molte opzioni per diversi tipi di filtri da applicare per escludere gadget, come ASLR, CFG, DLL di sistema Windows o semplici bad byte. Questo è tutto altamente personalizzabile.

image

A volte è necessario offuscare un determinato gadget che potrebbe altrimenti non essere disponibile a causa di bad byte nell'indirizzo del gadget. Abbiamo molte opzioni per questo e puoi escludere in base ai registri utilizzati o ai bad byte.

image Qui l'utente ha utilizzato l'offuscamento per decodificare dinamicamente a runtime l'indirizzo per xor eax, edi # ret, che ipoteticamente non poteva usare altrimenti. Una volta decodificato, push r32 / ret lo fa eseguire immediatamente. Questo è un ottimo modo per utilizzare gadget altrimenti non disponibili a causa di bad byte. ROCKET lo completa in secondi. La sua capacità di farlo con overflow intero è quasi garantita che funzioni, supponendo che non ci siano problemi con bad byte o mancanza di registri disponibili (cioè l'utente ha escluso troppi registri).

Ringraziamenti

Questo strumento è stato creato e scritto dal Dr. Bramwell Brizendine, a partire dall'inizio del 2023.

Shiva Shashank Kusuma ha lavorato per il Dr. Bramwell Brizendine come studente laureato per sviluppare pattern per ROP ROCKET. Ha svolto un lavoro inestimabile ed è stato co-relatore al DEFCON e al Black Hat Arsenal. Nel 2025, Shiva ha anche iniziato a contribuire alla programmazione di ROP ROCKET.

Aggiornamenti

18/09/2023 - Vari miglioramenti; ulteriore supporto per modi varianti di leak del far jump che porta alla syscall Windows.

03/2024 - Molti importanti aggiornamenti su base abbastanza regolare - cercate di mantenere la copia più aggiornata possibile, se intendete usare attivamente ROP ROCKET. Le modifiche individuali non verranno elencate. Modifiche minori e aggiornamenti sono probabilmente in corso. Solo le nuove funzionalità principali verranno descritte. (Alcune nuove funzionalità minori sono già state aggiunte.) Fine marzo - 3 aprile 2024 - Aggiornamenti estesi all'emulazione per migliorare e aumentare l'efficienza; supporto per molte più opzioni di possibilità per la generazione di singoli gadget; correzione di bug; nuova release di VirtualAlloc e VirtualProtect tramite pushad. Mentre altri strumenti hanno già fornito supporto per VirtualProtect e VirtualAlloc in precedenza, motivo per cui noi non l'avevamo fatto, ora riteniamo che sarebbe negligente non includerli, specialmente perché possono essere migliorati dalle capacità dello strumento. Creati template completi per VirtualAlloc e VirtualProtect tramite pushad, che includono anche shellcode (pop a calc).

05/2024 - Rimodellamento massiccio delle syscall Windows per espandere notevolmente ciò che può essere trovato con binari reali. Anche gadget lunghi e indesiderati che fanno leak del registro FS (necessario per eseguire syscall Windows in SysWow64, cioè a 32 bit) possono essere gestiti in modo automatizzato. Numerosi altri miglioramenti minori.

28/06/2025 - Aggiornamenti massicci, incluso il supporto per 17 nuove WinAPI non incluse in precedenza in ROP ROCKET. Aggiunta la possibilità di definire un importo di overflow iniziale - questo è rilevante poiché può influenzare i calcoli su stringhe o puntatori durante l'emulazione.

Scarica lo strumento