Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Enviar
HerramientasExploitsBlog
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
ReflectiveDLLInjection — La inyección de DLL reflectiva es una técnica de inyección de bibliotecas en la que se emplea el concepto de programación reflectiva para realizar la carga de una biblioteca desde la memoria en un proceso anfitrión. | Kitploit
Herramientas/GitHubGitHub/stephenfewer/reflectivedllinjection
Forensia de MemoriaExplotaciónPost-ExplotaciónRed TeamingDesarrollo de Payloads
GitHubstephenfewer/reflectivedllinjection

ReflectiveDLLInjection

La inyección de DLL reflectiva es una técnica de inyección de bibliotecas en la que se emplea el concepto de programación reflectiva para realizar la carga de una biblioteca desde la memoria en un proceso anfitrión.

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
Ver Repositorio
3.4k81741hace 4 añosRevisado por Kitploit

Acerca de

La inyección de DLL reflectante es una técnica de inyección de bibliotecas en la que se emplea el concepto de programación reflectante para realizar la carga de una biblioteca desde memoria en un proceso anfitrión. Como tal, la biblioteca es responsable de cargarse a sí misma implementando un cargador mínimo de archivos ejecutables portátiles (PE). Puede entonces controlar, con una interacción mínima con el sistema y el proceso anfitrión, cómo se cargará e interactuará con el anfitrión.

La inyección funciona desde Windows NT4 hasta Windows 8 inclusive, ejecutándose en x86, x64 y ARM donde corresponda.

Descripción general

El proceso de inyectar remotamente una biblioteca en un proceso tiene dos partes. En primer lugar, la biblioteca que deseas inyectar debe escribirse en el espacio de direcciones del proceso objetivo (denominado aquí proceso anfitrión). En segundo lugar, la biblioteca debe cargarse en ese proceso anfitrión de tal manera que se cumplan las expectativas de tiempo de ejecución de la biblioteca, como resolver sus importaciones o reubicarla en una ubicación adecuada en memoria.

Suponiendo que tenemos ejecución de código en el proceso anfitrión y que la biblioteca que deseamos inyectar se ha escrito en una ubicación arbitraria de memoria en el proceso anfitrión, la inyección de DLL reflectante funciona de la siguiente manera.

  • La ejecución se pasa, ya sea mediante CreateRemoteThread() o un pequeño shellcode de arranque, a la función ReflectiveLoader de la biblioteca, que es una función exportada que se encuentra en la tabla de exportaciones de la biblioteca.
  • Como la imagen de la biblioteca existirá actualmente en una ubicación arbitraria en memoria, el ReflectiveLoader primero calculará la ubicación actual de su propia imagen en memoria para poder analizar sus propios encabezados y usarlos más adelante.
  • El ReflectiveLoader analizará entonces la tabla de exportaciones de kernel32.dll del proceso anfitrión para calcular las direcciones de tres funciones requeridas por el cargador, a saber, LoadLibraryA, GetProcAddress y VirtualAlloc.
  • El ReflectiveLoader asignará ahora una región continua de memoria en la que procederá a cargar su propia imagen. La ubicación no es importante, ya que el cargador reubicará correctamente la imagen más adelante.
  • Los encabezados y secciones de la biblioteca se cargan en sus nuevas ubicaciones en memoria.
  • El ReflectiveLoader procesará entonces la copia recién cargada de la tabla de importaciones de su imagen, cargando cualquier biblioteca adicional y resolviendo las direcciones de sus respectivas funciones importadas.
  • El ReflectiveLoader procesará entonces la copia recién cargada de la tabla de reubicaciones de su imagen.
  • El ReflectiveLoader llamará entonces a la función de punto de entrada de su imagen recién cargada, DllMain con DLL_PROCESS_ATTACH. La biblioteca se ha cargado correctamente en memoria.
  • Finalmente, el ReflectiveLoader devolverá la ejecución al shellcode de arranque inicial que lo llamó, o si fue llamado mediante CreateRemoteThread, el hilo terminará.

Compilación

Abre el archivo 'rdi.sln' en Visual Studio C++ y compila la solución en modo Release para generar inject.exe y reflective_dll.dll

Uso

Para probar, usa inject.exe para inyectar reflective_dll.dll en un proceso anfitrión mediante un ID de proceso, por ejemplo:

inject.exe 1234

Licencia

Licenciado bajo una licencia BSD de 3 cláusulas; consulta LICENSE.txt para más detalles.

Descargar herramienta