Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ROP_ROCKET — ROP ROCKET es un marco avanzado de ataque de reutilización de código, con amplias capacidades de generación de cadenas ROP, incluyendo para el novedoso ataque de Syscalls de Windows, un novedoso Heaven's Gate, y ROP "sin shellcode". El marco utiliza emulación y ofuscación para ayudar a expandir la superficie de ataque. | Kitploit
Herramientas/GitHubGitHub/bw3ll/rop_rocket
Frameworks de Pruebas de PenetraciónFrameworks de ExploitsGeneración de PayloadsExplotaciónIngeniería InversaShellcodeExplotación de Binarios
GitHubbw3ll/rop_rocket

ROP_ROCKET

Ver Repositorio
17329hace 8 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

ROP ROCKET es un marco avanzado de ataque de reutilización de código, con amplias capacidades de generación de cadenas ROP, incluyendo para el novedoso ataque de Syscalls de Windows, un novedoso Heaven's Gate, y ROP "sin shellcode". El marco utiliza emulación y ofuscación para ayudar a expandir la superficie de ataque.

Compartir

Presentando el ROP ROCKET

Este nuevo y avanzado framework ROP debutó en DEF CON 31 con capacidades sin precedentes. ROCKET genera varios tipos de cadenas y proporciona nuevos patrones o técnicas.

Tenga en cuenta que esto sigue siendo un trabajo en progreso, con algunas capacidades actualizadas y mejoradas que se agregarán. Las actualizaciones deberían ser regulares. Si encuentra problemas, por favor repórtelos en la sección de issues o envíeme un correo electrónico, y los solucionaré. También se agregarán formas adicionales y alternativas de generar ciertos tipos de gadgets.

El trabajo continúa con nuevas capacidades que se agregan regularmente en la actualidad. Por favor, revise con frecuencia.

imagen

Potentes capacidades de ROP

ROP ROCKET es muy poderoso con algunas capacidades únicas, que incluyen lo siguiente:

  • Puede generar llamadas al sistema de Windows para NtAllocateVirtualMemory y NtAllocateVirtualProtect: este es el primer uso conocido de llamadas directas al sistema de Windows en WoW64 ROP.
  • Puede generar un novedoso ataque Heaven's Gate para realizar la transición de x86 a x64 mediante ROP. Para trabajar con esto, necesitará usar WinDbg x64 y adjuntarlo a un proceso en ejecución (no lo abra directamente en el depurador).
  • Puede generar un novedoso ataque Heaven's Gate para realizar la transición de x64 a x86 mediante ROP. Esto es código de 64 bits.
  • Puede generar ataques ROP sin shellcode para LoadLibrary / GetProcAddress / System y LoadLibrary/GetProcAddress. Varios otros están en desarrollo para futuras versiones. La idea de ROP "sin shellcode" es evitar eludir DEP e invocar directamente funcionalidades similares a shellcode.
  • Utiliza internamente la emulación de cadenas ROP (que también puede hacer recursivamente) para determinar las distancias a ciertos punteros utilizados como parámetros, como un puntero a una cadena o estructura. Sin esto, la generación automática de cadenas probablemente no sería factible.
  • Utiliza la emulación de gadgets ROP individuales para ampliar la superficie de ataque. (Esto aún no está implementado completamente en todos). Esto puede evaluar cada gadget ROP para ver qué se puede o no dañar, etc. Espere mucho más con esto.
  • Esto permite usar gadgets independientemente de los bytes malos en la dirección del gadget. Por ejemplo, si necesita un pushad pero hay bytes malos en la dirección, podemos codificarlo y decodificarlo en tiempo de ejecución, ejecutándolo mediante push r32 /ret. (Vea las opciones de ofuscación). Se proporcionan varios tipos de ofuscación, incluido un desbordamiento de enteros muy robusto que probablemente no fallará, suponiendo que haya gadgets disponibles. (Si excluye todos los \x00 y cada gadget los tiene, no hay nada que se pueda hacer). También se pueden excluir registros, evitando el "daño".
  • Enfoque alternativo de desreferencia "francotirador" para VirtualProtect, para aquellos que necesitan evitar pushad.
  • Criterios de exclusión muy robustos: exclusión basada en CFG, ASLR, DLLs de Windows, bytes malos, etc.
  • Persistencia: ROP ROCKET extraerá gadgets x86 al iniciarse. Estos se guardan en un archivo .obj, por lo que permanecerán cada vez que lo abra, lo que permite que los gadgets encontrados previamente estén disponibles instantáneamente. Generar nuevos ataques debería ser más o menos instantáneo en este punto. Nota: si extrae hasta 0x22 bytes y luego decide reducirlo, deberá limpiarlos y volver a capturarlos; guardar sus resultados es automático.
  • Archivo Config.cfg para configuraciones útiles según preferencias personales.
  • También se planean otras características nuevas y únicas.

Bypasses de ASLR de alta entropía

Agosto de 2025: ROP ROCKET tiene una miniherramienta de bypass de ASLR, lanzada en DEFCON el 10 de agosto de 2025, que generará nueve bypasses de ASLR para ASLR de 64 bits de alta entropía.

r_bypass1

Captura de pantalla de bypass de ASLR

Instrucciones de instalación

Configuración

Esto debe instalarse como un paquete local. Hay un archivo setup.py. Para hacer esto, simplemente vaya al directorio e ingrese el siguiente comando: py -m pip install -e ./ Dependiendo de su instalación de Python, es posible que deba variar ligeramente. Si revisa los paquetes instalados, debería ver ROP-ROCKET: py -m pip list Se cree que todas las dependencias requeridas están incluidas, pero si encuentra algún problema, debido a la novedad de este lanzamiento, simplemente abra un issue y lo investigaremos.

Ejecutándolo por primera vez

Simplemente ejecútelo desde la línea de comandos: py rop2.py rop_tester_syscall.exe También se incluye un archivo rop_tester_syscall.exe completamente explotable como un archivo zip. Esto fue desarrollado solo para ayudar a asegurar que todos los gadgets se encuentren y no se pasen por alto.

Historia

Esta herramienta se inspiró en el mucho más antiguo JOP ROCKET, que escribí como parte de mi tesis doctoral y lancé en DEF CON 27 en 2019. Eso condujo a mucho desarrollo adicional en JOP y muchas nuevas capacidades de JOP, además de proporcionar una extensa documentación sobre la mecánica y el uso de JOP en diferentes artículos. Esa herramienta está un poco desactualizada en este momento: es un estilo más antiguo de Python. Con esta nueva investigación, parte de esta inspiración es intentar hacer algo novedoso y diferente en el área de ROP. Hemos cumplido con ese mandato hasta ahora. Así que, en cierto modo, esta herramienta está inspirada en una herramienta JOP, lo que nos permite quizás intentar pensar fuera de la caja y de maneras menos convencionales de lo que normalmente haríamos con ROP. ROP ROCKET no tiene capacidades JOP; está estrictamente dedicado a ROP. La única herramienta completamente dedicada a JOP es JOP ROCKET, ya que todo lo demás solo tiene un marcador de posición para trabajo futuro en JOP. De todos modos, quería aclarar esta información histórica, para que la similitud en los nombres no confunda a nadie, ya que son dos herramientas muy diferentes y no relacionadas.

Capturas de pantalla

imagen

ROCKET ha generado un ataque Heaven's Gate de x86 a x64, imprimiéndolo en pantalla y guardándolo.

imagen

ROCKET ha generado una llamada al sistema de Windows para NtProtectVirtualMemory para Win 10/11, imprimiéndola en pantalla y guardándola.

imagen

Gracias a sus capacidades internas de emulación, ROCKET puede considerar muchas combinaciones inusuales de gadgets. Lo anterior tiene como objetivo capturar un puntero de pila (ESP) y moverlo a ECX. Puede encontrar medios alternativos para hacerlo, en lugar de usar solo un gadget ROP único, que puede no estar disponible. Primero mueve esp a edi; luego edi se mueve a ebx; y luego ebx se mueve a esi. ECX se establece en cero, mediante desbordamiento de enteros, y luego el valor de esi (que contiene nuestro puntero de pila) se suma a ecx. El resultado es que el puntero de pila está en ecx. Un gadget equivalente más corto sería mov ecx, esp # ret - aunque tal cosa no siempre es posible. ROCKET también maneja correctamente las instrucciones pop adicionales, produciendo el relleno correcto. Tenga en cuenta que ROP ROCKET considera cuidadosamente los registros que deben protegerse ("registros excluidos"), que pueden cambiar de un gadget a otro. En el ejemplo anterior, ningún registro es "dañado" que intentemos proteger.

imagen

ROCKET proporciona muchas opciones sobre qué y cómo capturar gadgets. Los valores predeterminados se pueden configurar en el archivo config.cfg, por supuesto. Aquí el usuario decide examinar solo fragmentos de memoria con un máximo de 0xa (15) bytes.

imagen

No solo puede imprimir cadenas ROP individuales, sino que puede imprimir todos los gadgets encontrados, organizados por categoría, como mov edx. Hay cientos de posibilidades. También puede refinar los resultados cambiando el número de líneas por gadget.

imagen

Al imprimir resultados, hay muchas opciones para diferentes tipos de filtros que aplicar para excluir gadgets, como ASLR, CFG, DLLs del sistema de Windows, o simplemente bytes malos. Todo esto es altamente personalizable.

imagen

A veces necesita ofuscar un gadget determinado que podría no estar disponible de otra manera, debido a bytes malos en la dirección del gadget. Tenemos muchas opciones para esto, y también puede excluir según los registros utilizados o los bytes malos.

imagen Aquí el usuario usó ofuscación para decodificar dinámicamente en tiempo de ejecución la dirección de un xor eax, edi # ret, que hipotéticamente no podría usar de otra manera. Una vez decodificado, el push r32 / ret hace que esto se ejecute inmediatamente. Esta es una excelente manera de usar gadgets que de otro modo no estarían disponibles debido a bytes malos. ROCKET completa esto en segundos. Su capacidad para hacer esto con desbordamiento de enteros tiene casi garantizado que funcione, suponiendo que no haya problemas con bytes malos o falta de registros disponibles (es decir, el usuario excluyó demasiados registros).

Agradecimiento

Esta herramienta fue creada y escrita por Dr. Bramwell Brizendine, comenzando a principios de 2023.

Shiva Shashank Kusuma trabajó para el Dr. Bramwell Brizendine como estudiante de posgrado para desarrollar patrones para ROP ROCKET. Ha realizado un trabajo invaluable y ha sido coorador en DEFCON y Black Hat Arsenal. En 2025, Shiva también comenzó a contribuir a la programación de ROP ROCKET.

Actualizaciones

18/09/2023 - Varias mejoras; soporte adicional para formas variantes de filtrar el salto lejano que conduce a la llamada al sistema de Windows.

3/2024 - Muchas actualizaciones importantes de forma algo regular; intente mantener la copia más actualizada si es posible, si tiene la intención de usar ROP ROCKET activamente. Los cambios individuales no se enumerarán. Es probable que haya cambios y actualizaciones menores en curso. Solo se describirán las nuevas características principales. (Ya se han agregado algunas características menores nuevas). Finales de marzo - 3 de abril de 2024 - Actualizaciones extensas a la emulación para mejorar y aumentar la eficiencia; soporte para muchas más opciones de posibilidad para que se generen gadgets individuales; corrección de errores; nuevo lanzamiento de VirtualAlloc y VirtualProtect mediante pushad. Si bien otras herramientas han proporcionado soporte para VirtualProtect y VirtualAlloc antes, razón por la cual no lo hicimos, ahora creemos que sería negligente no incluirlos, especialmente porque estos pueden mejorarse con las capacidades de la herramienta. Se crearon plantillas completas para VirtualAlloc y VirtualProtect mediante pushad, que también incluyen shellcode (pop un calc).

5/2024 - Renovación masiva de las llamadas al sistema de Windows para expandir enormemente lo que se puede encontrar con binarios del mundo real. Incluso gadgets largos e indeseables que filtran el registro FS (necesario para hacer llamadas al sistema de Windows en SysWow64, es decir, 32 bits) se pueden manejar de forma automatizada. Numerosas otras mejoras menores.

28/6/2025 - Actualizaciones masivas, incluido soporte para 17 nuevas API de Windows no incluidas anteriormente en ROP ROCKET. Se agregó la capacidad de definir una cantidad de desbordamiento inicial; esto es relevante ya que puede afectar los cálculos de cadenas o punteros al hacer emulación.

Descargar herramienta