Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ROP_ROCKET — ROP ROCKET est un framework avancé d'attaque par réutilisation de code, avec des capacités étendues de génération de chaînes ROP, incluant une nouvelle attaque par Syscalls Windows, un nouveau Heaven's Gate, et du ROP « sans shellcode ». Le framework utilise l'émulation et l'obfuscation pour élargir la surface d'attaque. | Kitploit
Outils/GitHubGitHub/bw3ll/rop_rocket
Frameworks de Tests d'IntrusionFrameworks d'ExploitationGénération de PayloadsExploitationRétro-ingénierieShellcodeExploitation de Binaires
GitHubbw3ll/rop_rocket

ROP_ROCKET

Voir le dépôt
17329il y a 8 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

ROP ROCKET est un framework avancé d'attaque par réutilisation de code, avec des capacités étendues de génération de chaînes ROP, incluant une nouvelle attaque par Syscalls Windows, un nouveau Heaven's Gate, et du ROP « sans shellcode ». Le framework utilise l'émulation et l'obfuscation pour élargir la surface d'attaque.

Partager

Découvrez ROP ROCKET

Ce nouveau framework ROP avancé a fait ses débuts au DEF CON 31 avec des capacités sans précédent. ROCKET génère plusieurs types de chaînes et propose de nouveaux modèles ou techniques.

Veuillez noter qu'il s'agit encore d'un travail en cours, avec quelques capacités mises à jour et améliorées à ajouter. Les mises à jour devraient être régulières. Si vous rencontrez des problèmes, veuillez les signaler dans les issues ou m'envoyer un e-mail, et je les résoudrai. Des moyens alternatifs de générer certains types de gadgets seront également ajoutés.

Le travail se poursuit avec de nouvelles capacités ajoutées régulièrement à l'heure actuelle. Veuillez revenir régulièrement.

image

Capacités ROP puissantes

ROP ROCKET est très puissant avec des capacités uniques, qui incluent les suivantes :

  • Il peut générer des appels système Windows pour NtAllocateVirtualMemory et NtAllocateVirtualProtect - c'est la première utilisation connue d'appels système Windows directs dans WoW64 ROP.
  • Il peut générer une nouvelle attaque Heaven's Gate pour passer de x86 à x64 via ROP. Pour l'utiliser, vous devrez utiliser WinDbg x64 et vous attacher à un processus en cours d'exécution (ne l'ouvrez pas directement dans le débogueur).
  • Il peut générer une nouvelle attaque Heaven's Gate pour passer de x64 à x86 via ROP. Il s'agit de code 64 bits.
  • Il peut générer des attaques ROP sans shellcode pour LoadLibrary / GetProcAddress / System et LoadLibrary/ GetProcAddress. Plusieurs autres sont en développement pour une version future. L'idée du ROP "sans shellcode" est d'éviter de contourner DEP et d'invoquer directement des fonctionnalités de type shellcode.
  • Il utilise en interne l'émulation de chaînes ROP - qu'il peut aussi faire récursivement - pour déterminer les distances vers certains pointeurs utilisés comme paramètres, comme un pointeur vers une chaîne ou une structure. Sans cela, la génération automatique de chaînes serait probablement irréalisable.
  • Il utilise l'émulation de gadgets ROP individuels pour élargir la surface d'attaque. (Ce n'est pas encore entièrement déployé sur tous.) Cela peut évaluer chaque gadget ROP pour voir ce qui peut ou non être écrasé, etc. Attendez-vous à beaucoup plus de développements à ce sujet.
  • Cela permet d'utiliser des gadgets quels que soient les octets interdits dans l'adresse du gadget. Par exemple, si vous avez besoin d'un pushad mais qu'il y a des octets interdits dans l'adresse, nous pouvons l'encoder et le décoder à l'exécution, en l'exécutant via push r32 /ret. (Voir les options d'obscurcissement.) Plusieurs types d'obscurcissement sont fournis, y compris un débordement d'entier très robuste qui ne devrait pas échouer, à condition que des gadgets soient disponibles. (Si vous excluez tous les \x00 et que chaque gadget en contient, il n'y a rien à faire.) Les registres peuvent également être exclus, évitant ainsi l'écrasement.
  • Approche alternative de déréférencement mov "sniper" pour VirtualProtect - pour ceux qui ont besoin d'éviter pushad.
  • Critères d'exclusion très robustes - exclure en fonction de CFG, ASLR, DLLs Windows, octets interdits, etc.
  • Persistance - ROP ROCKET extrait les gadgets x86 au lancement. Ceux-ci sont sauvegardés dans un fichier .obj, ils resteront donc à chaque ouverture, permettant aux gadgets précédemment trouvés d'être disponibles instantanément. La génération de nouvelles attaques devrait être plus ou moins instantanée à ce stade. Remarque : si vous extrayez jusqu'à 0x22 octets et décidez ensuite de diminuer, vous devrez effacer ces résultats et recapturer ; la sauvegarde de vos résultats est automatique.
  • Fichier Config.cfg pour des paramètres utiles selon les préférences personnelles.
  • D'autres fonctionnalités nouvelles et uniques sont également prévues.

Contournements ASLR à haute entropie

Août 2025 : ROP ROCKET dispose d'un mini-outil de contournement ASLR, publié au DEFCON le 10 août 2025, qui générera neuf contournements ASLR vers l'ASLR 64 bits à haute entropie.

r_bypass1

ASLR Bypass Screenshot

Instructions d'installation

Configuration

Cela doit être installé en tant que paquet local. Il y a un fichier setup.py. Pour ce faire, allez simplement dans le répertoire et entrez la commande suivante : py -m pip install -e ./ Selon votre installation Python, vous devrez peut-être varier légèrement. Si vous allez voir les paquets installés, vous devriez voir ROP-ROCKET apparaître : py -m pip list Il est estimé que toutes les dépendances requises sont incluses, mais si vous rencontrez des problèmes - en raison de la nouveauté de cette version, ouvrez simplement un ticket et nous examinerons cela.

Première exécution

Exécutez-le simplement depuis la ligne de commande :py rop2.py rop_tester_syscall.exe Un fichier rop_tester_syscall.exe entièrement exploitable est également inclus sous forme de fichier zip. Il a été développé juste pour s'assurer que tous les gadgets sont trouvés et non manqués.

Historique

Cet outil a été inspiré par le bien plus ancien JOP ROCKET, que j'ai écrit pour une partie de ma thèse de doctorat et publié au DEF CON 27 en 2019. Cela a conduit à beaucoup de développements supplémentaires sur JOP et à de nombreuses nouvelles capacités JOP, ainsi qu'à la fourniture d'une documentation complète sur les mécanismes et l'utilisation de JOP dans différents articles. Cet outil est un peu obsolète pour le moment - c'est un style plus ancien de Python. Avec cette nouvelle recherche, une partie de cette inspiration est d'essayer de faire quelque chose de nouveau et de différent dans le domaine du ROP. Nous avons rempli ce mandat jusqu'à présent. Donc d'une certaine manière, cet outil est inspiré par un outil JOP, nous permettant peut-être d'essayer de sortir des sentiers battus et de manière moins conventionnelle que nous ne le ferions normalement avec ROP. ROP ROCKET n'a aucune capacité JOP - il est strictement dédié au ROP. Le seul outil entièrement dédié à JOP est JOP ROCKET, car tout le reste n'a qu'une sorte d'espace réservé pour de futurs travaux sur JOP. Quoi qu'il en soit, je voulais clarifier ces informations historiques, afin que la similitude des noms ne confonde personne, car ce sont deux outils très différents et sans rapport.

Captures d'écran

image

ROCKET a généré une attaque Heaven's Gate x86 vers x64, l'affichant à l'écran et la sauvegardant.

image

ROCKET a généré un appel système Windows pour NtProtectVirtualMemory pour Win 10/11, l'affichant à l'écran et le sauvegardant.

image

Grâce à ses capacités d'émulation internes, ROCKET peut envisager de nombreuses combinaisons inhabituelles de gadgets. Ce qui précède est destiné à capturer un pointeur de pile (ESP) et à le déplacer vers ECX. Il est capable de trouver des moyens alternatifs de le faire, plutôt que d'utiliser un seul gadget ROP, qui peut ne pas être disponible. D'abord, il déplace esp vers edi ; edi est ensuite déplacé vers ebx ; et ebx est ensuite déplacé vers esi. ECX est mis à zéro, via un débordement d'entier, puis la valeur de esi (contenant notre pointeur de pile) est ajoutée à ecx. Le résultat est que le pointeur de pile se trouve dans ecx. Un gadget équivalent plus court serait mov ecx, esp # ret - bien que cela ne soit pas toujours possible. ROCKET gère également correctement les instructions pop supplémentaires, produisant le remplissage correct. Notez que ROP ROCKET prend soigneusement en compte les registres qui doivent être protégés ("registres exclus"), qui peuvent changer d'un gadget à l'autre. Dans l'exemple ci-dessus, aucun registre que nous essayons de protéger n'est "écrasé".

image

ROCKET offre de nombreuses options pour quoi et comment capturer des gadgets. Les valeurs par défaut peuvent être définies dans le fichier config.cfg bien sûr. Ici, l'utilisateur décide de n'examiner que des blocs de mémoire d'un maximum de 0xa (15) octets.

image

Non seulement vous pouvez imprimer des chaînes ROP individuelles, mais vous pouvez imprimer tous les gadgets trouvés, organisés par catégorie, comme mov edx. Il existe des centaines de possibilités. Vous pouvez également affiner les résultats en modifiant le nombre de lignes par gadget.

image

Lors de l'impression des résultats, il existe de nombreuses options pour différents types de filtres à appliquer pour exclure des gadgets, comme ASLR, CFG, les DLL système Windows, ou simplement des octets interdits. Tout cela est hautement personnalisable.

image

Parfois, vous devez obscurcir un certain gadget qui pourrait autrement s'avérer indisponible, en raison d'octets interdits dans l'adresse du gadget. Nous avons de nombreuses options pour cela, et vous pouvez également exclure en fonction des registres utilisés ou des octets interdits.

image Ici, l'utilisateur a utilisé l'obscurcissement pour décoder dynamiquement à l'exécution l'adresse d'un xor eax, edi # ret, qu'il ne pourrait hypothétiquement pas utiliser autrement. Une fois décodé, le push r32 / ret provoque son exécution immédiate. C'est un excellent moyen d'utiliser des gadgets autrement indisponibles en raison d'octets interdits. ROCKET le fait en quelques secondes. Sa capacité à le faire avec un débordement d'entier est quasiment garantie, à condition qu'il n'y ait pas de problèmes d'octets interdits ou de manque de registres disponibles (c'est-à-dire que l'utilisateur a exclu trop de registres).

Remerciements

Cet outil a été créé et écrit par Dr. Bramwell Brizendine, à partir de début 2023.

Shiva Shashank Kusuma a travaillé pour le Dr. Bramwell Brizendine en tant qu'étudiant diplômé pour développer des modèles pour ROP ROCKET. Il a effectué un travail inestimable et a été co-conférencier au DEFCON et au Black Hat Arsenal. En 2025, Shiva a également commencé à contribuer à la programmation de ROP ROCKET.

Mises à jour

09/18/2023 - Diverses améliorations ; support supplémentaire pour des variantes de fuite du saut lointain qui mène à l'appel système Windows.

3/2024 - De nombreuses mises à jour importantes sur une base relativement régulière - veuillez essayer de conserver la copie la plus récente si possible, si vous avez l'intention d'utiliser activement ROP ROCKET. Les changements individuels ne seront pas listés. Des modifications et mises à jour mineures sont susceptibles de se poursuivre. Seules les nouvelles fonctionnalités majeures seront décrites. (Quelques nouvelles fonctionnalités mineures ont déjà été ajoutées.) Fin mars - 3 avril 2024 - Mises à jour importantes de l'émulation pour améliorer l'efficacité ; support de nombreuses autres options de possibilités pour la génération de gadgets individuels ; correction de bugs ; nouvelle version de VirtualAlloc et VirtualProtect via pushad. Alors que d'autres outils avaient déjà fourni un support pour VirtualProtect et VirtualAlloc, c'est pourquoi nous ne l'avions pas fait, nous estimons maintenant qu'il serait négligent de ne pas les inclure, surtout qu'elles peuvent être améliorées par les capacités de l'outil. Création de modèles complets pour VirtualAlloc et VirtualProtect via pushad, qui incluent également du shellcode (pop a calc).

5/2024 - Refonte massive des appels système Windows pour étendre considérablement ce qui peut être trouvé avec des binaires réels. Même les gadgets longs et indésirables qui fuient le registre FS (nécessaire pour effectuer des appels système Windows dans SysWow64, c'est-à-dire 32 bits) peuvent être traités de manière automatisée. Nombreuses autres améliorations mineures.

6/28/2025 - Mises à jour massives, incluant le support de 17 nouvelles API Windows non incluses auparavant dans ROP ROCKET. Ajout de la possibilité de définir un montant de débordement initial - cela est pertinent car cela peut affecter les calculs de chaînes ou de pointeurs lors de l'émulation.

Télécharger l’outil