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
NimDllSideload — DLL sideloading/proxying with Nim! | Kitploit
Herramientas/GitHubGitHub/byt3bl33d3r/nimdllsideload
Payload GenerationPost-ExploitationBinary AnalysisRed TeamingPayload Development
GitHubbyt3bl33d3r/nimdllsideload

NimDllSideload

DLL sideloading/proxying with Nim!

Ver Repositorio
17517hace 3 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

Sideloading de DLL en Nim

Este repositorio te permite generar fácilmente DLLs de Nim que puedes usar para sideloading/proxy loading. Si no estás familiarizado con lo que es el sideloading de DLL, échale un vistazo a esta entrada de blog.

¿Cómo uso esto?

Pon la DLL legítima (o varias DLLs) a las que quieras hacer proxy en el directorio build de este repositorio y luego ejecuta make.

Esto generará dos .dlls en el directorio out:

  • La que tiene un nombre aleatorio es la DLL original a la que se hará proxy de las llamadas a funciones.
  • La otra será tu payload.

Si el sideloading tiene éxito, deberías ver aparecer un cuadro de mensaje y/o un archivo escrito en el escritorio.

Para "armar" el payload de verdad, puedes echar un vistazo al repositorio OffensiveNim para encontrar ideas y fragmentos de código listos para usar :).

¿Cómo funciona?

  • dllproxy.nim es la DLL proxy que ejecutará tu payload y hará proxy de las llamadas legítimas a las DLL(s) originales.
  • gen_def.py analiza la tabla de exportaciones de la DLL original y genera un archivo de definición de módulo (.def).

El archivo .def se pasa luego al enlazador en tiempo de compilación para hacer proxy de las llamadas legítimas a funciones.

Extra - Oculta NimMain de la tabla de exportaciones de una DLL de Nim

Consulta este artículo de Microsoft

Observa la última línea de este archivo .def:

root@kitploit:~
EXPORTS
	GetFileVersionInfoA=ZCnerzNI.GetFileVersionInfoA @1
	GetFileVersionInfoByHandle=ZCnerzNI.GetFileVersionInfoByHandle @2
	GetFileVersionInfoExA=ZCnerzNI.GetFileVersionInfoExA @3
	GetFileVersionInfoExW=ZCnerzNI.GetFileVersionInfoExW @4
	GetFileVersionInfoSizeA=ZCnerzNI.GetFileVersionInfoSizeA @5
	GetFileVersionInfoSizeExA=ZCnerzNI.GetFileVersionInfoSizeExA @6
	GetFileVersionInfoSizeExW=ZCnerzNI.GetFileVersionInfoSizeExW @7
	GetFileVersionInfoSizeW=ZCnerzNI.GetFileVersionInfoSizeW @8
	GetFileVersionInfoW=ZCnerzNI.GetFileVersionInfoW @9
	VerFindFileA=ZCnerzNI.VerFindFileA @10
	VerFindFileW=ZCnerzNI.VerFindFileW @11
	VerInstallFileA=ZCnerzNI.VerInstallFileA @12
	VerInstallFileW=ZCnerzNI.VerInstallFileW @13
	VerLanguageNameA=ZCnerzNI.VerLanguageNameA @14
	VerLanguageNameW=ZCnerzNI.VerLanguageNameW @15
	VerQueryValueA=ZCnerzNI.VerQueryValueA @16
	VerQueryValueW=ZCnerzNI.VerQueryValueW @17
	NimMain @19 NONAME PRIVATE

Esta última línea básicamente le indica al enlazador que elimine el nombre de la función NimMain. Compilar la DLL y pasar el archivo .def anterior al enlazador da como resultado la siguiente entrada si observamos la tabla de exportaciones de la .dll:

HiddenNimMain

Descargar herramienta