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
Herramientas/GitHubGitHub/elliotkillick/ldrlockliberator
Mecanismos de PersistenciaExplotaciónPost-ExplotaciónRed TeamingDesarrollo de Payloads
GitHubelliotkillick/ldrlockliberator

LdrLockLiberator

Para cuando DLLMain es la única opción

Ver Repositorio
435711hace 1 añoRevisado 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 →
Sitio web
Compartir
Logo

LdrLockLiberator

Para cuando DLLMain es la única vía

LdrLockLiberator es una colección de técnicas para escapar u omitir el Loader Lock mientras ejecutas tu código desde DllMain o desde cualquier otro lugar donde el bloqueo pueda estar presente. Se publicó junto con el artículo "Perfect DLL Hijacking". ¡Te damos la llave para desbloquear el cargador de bibliotecas y hacer lo que quieras con tu loader (en tu propia computadora)!

Las técnicas están pensadas para ser universales, limpias y 100% seguras cuando sea posible. Están diseñadas para funcionar sin modificar la protección de la memoria ni los punteros. Esto es importante para mantener la compatibilidad con las mitigaciones modernas de exploits. La única arquitectura soportada oficialmente es x86-64 (los 32 bits están en gran medida extintos).

¿Quieres conocer las razones arquitectónicas por las que DllMain es tan problemático en Windows mientras que los sistemas operativos tipo Unix no tienen estas dificultades? ¡Por favor, adelante!.

Técnicas

LdrFullUnlock

Es exactamente lo que parece. Desbloquea el Loader Lock, establece los eventos del cargador y cambia LdrpWorkInProgress. Se recomienda mantener RUN_PAYLOAD_DIRECTLY_FROM_DLLMAIN sin definir para lograr la mejor estabilidad.

NO USES ESTA TÉCNICA EN CÓDIGO DE PRODUCCIÓN. Esto fue creado como un subproducto de mi pura curiosidad y de mi voluntad de no dejar piedra sin remover. Cualquier cosa que hagas con este código es bajo tu propia responsabilidad.

Escapando a la Salida

Usamos el atexit de CRT, típicamente utilizado por los EXE, en nuestro código DLL para escapar del Loader Lock cuando el programa sale. Para cargas dinámicas (usando LoadLibrary), esto se vuelve 100% seguro fijando (LDR_ADDREF_DLL_PIN) nuestra biblioteca con LdrAddRefDll para que un FreeLibrary posterior no elimine nuestra DLL de la memoria.

Usando los Bloqueos a Nuestro Favor

¡Próximamente!

Muestras

Las muestras proporcionadas secuestran MpClient.dll de C:\Program Files\Windows Defender\Offline\OfflineScannerShell.exe. En los comentarios del código fuente se incluyen instrucciones para adaptar esto fácilmente a cualquier otra combinación de DLL y programa (principalmente actualizando las exportaciones para cargas estáticas).

Como prueba de concepto, ejecutamos ShellExecute como payload predeterminado. Sin embargo, ¡puedes hacer que esto haga lo que quieras!

Compilación

Visual Studio

Se ha probado que el LdrLockLiberator.c en la raíz de este proyecto compila en Visual Studio 2022.

Vincula NTDLL seleccionando el proyecto actual de Visual Studio en la ventana del Explorador de soluciones y luego navegando a Project > Properties en la barra de menú. En los menús desplegables Configuration de la parte superior, selecciona All Configurations y All Platforms. Ahora, ve a Linker > Input y agrega a Additional Dependencies: ntdll.lib.

WDK

Instalando el WDK Correcto

  1. Ve a la página de descarga del WDK
  2. Haz clic en el enlace de Windows 7 WDK 7.1.0 para comenzar a descargar la versión correcta del WDK
  • Este es el último WDK público que oficialmente permite vincular con el MSVCRT original (C:\Windows\System32\msvcrt.dll)
  • Suma de verificación SHA-256: 5edc723b50ea28a070cad361dd0927df402b7a861a036bbcf11d27ebba77657d
  1. Monta el ISO descargado y luego ejecuta KitSetup.exe
  2. Acepta el proceso de instalación usando las opciones predeterminadas

Compilando

  1. En el menú Inicio, busca "x64 Free Build Environment" y ábrelo
  2. Navega (usando cd) hasta LdrLockLiberatorWDK en este repositorio
  3. Ejecuta build

¡Listo! ¡Tu DLL está compilada y lista para usar!

Como alternativa al WDK, compilar con MinGW también probablemente funcionaría.

Licencia

Licencia MIT - Copyright (C) 2023-2024 Elliot Killick [email protected]

Descargar herramienta