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
RustChain — Oculta artefactos de memoria usando ROP y puntos de interrupción de hardware. | Kitploit
Herramientas/GitHubGitHub/kudaes/rustchain
Forensia de MemoriaExplotaciónRed TeamingDesarrollo de Payloads
GitHubkudaes/rustchain

RustChain

Oculta artefactos de memoria usando ROP y puntos de interrupción de hardware.

Ver Repositorio
151203hace 2 añosRevisado 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 →
Compartir

Descripción

Esta herramienta es una PoC simple de cómo ocultar artefactos de memoria usando una cadena ROP en combinación con breakpoints de hardware. La cadena ROP cambiará las protecciones de la página de memoria del módulo principal a N/A mientras duerme (es decir, cuando se llama a la función Sleep). Para obtener información más detallada sobre esta técnica de evasión de escaneo de memoria, consulta el proyecto original Gargoyle. Solo x64.

La idea es configurar un breakpoint de hardware en kernel32!Sleep y un nuevo filtro de nivel superior para manejar la excepción. Cuando se llama a Sleep, se activa la función de filtro de excepción establecida previamente, lo que nos permite llamar a la cadena ROP sin necesidad de usar hooks de funciones clásicos. De esta manera, evitamos dejar regiones de memoria privadas extrañas e inusuales en el proceso relacionadas con dlls conocidas.

La cadena ROP simplemente llama a VirtualProtect() para establecer la página de memoria actual en N/A, luego llama a SleepEx y finalmente restaura la protección de memoria RX.

La visión general del proceso es la siguiente:

  • Usamos SetUnhandledExceptionFilter para establecer una nueva función de filtro de excepción.
  • Se usa SetThreadContext para establecer un breakpoint de hardware en kernel32!Sleep.
  • Llamamos a Sleep, activando el breakpoint de hardware y dirigiendo el flujo de ejecución hacia nuestra función de filtro de excepción.
  • La cadena ROP se llama desde la función de filtro de excepción, lo que permite cambiar la protección de la página de memoria actual a N/A. Luego se llama a SleepEx. Finalmente, la cadena ROP restaura la protección de memoria RX y la ejecución normal continúa.

Este proceso se repite indefinidamente.

Como se puede ver en la imagen, la protección de memoria del módulo principal se cambia a N/A mientras duerme, lo que evita escaneos de memoria que buscan páginas con permiso de ejecución.

Se establece protección de memoria N/A mientras duerme

Compilación

Dado que estamos usando el plugin LITCRYPT para ofuscar literales de cadena, es necesario configurar la variable de entorno LITCRYPT_ENCRYPT_KEY antes de compilar el código:

root@kitploit:~
C:\Users\User\Desktop\RustChain> set LITCRYPT_ENCRYPT_KEY="yoursupersecretkey"

Después de eso, simplemente compila el código y ejecuta la herramienta:

root@kitploit:~
C:\Users\User\Desktop\RustChain> cargo build
C:\Users\User\Desktop\RustChain\target\debug> rustchain.exe

Limitaciones

Esta herramienta es solo una PoC y se deberían implementar algunas características adicionales para que sea completamente funcional. El propósito principal del proyecto era aprender cómo implementar una cadena ROP e integrarla dentro de Rust. Debido a eso, esta herramienta solo funcionará si la usas tal cual, y se esperan fallos si intentas usarla de otras maneras (por ejemplo, compilándola a una dll e intentando cargarla y ejecutarla de forma reflectiva).

Créditos

  • @thefLinkk por su proyecto DeepSleep que me inspiró para crear esta herramienta.
Descargar herramienta