Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
LdrLockLiberator — Per quando DLLMain è l'unica via | Kitploit
Strumenti/GitHubGitHub/elliotkillick/ldrlockliberator
Meccanismi di PersistenzaExploitPost-ExploitRed TeamingSviluppo Payload
GitHubelliotkillick/ldrlockliberator

LdrLockLiberator

Per quando DLLMain è l'unica via

Vedi Repository
4357111 anno faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Sito web
Condividi
Logo

LdrLockLiberator

Per quando DLLMain è l'unica via

LdrLockLiberator è una raccolta di tecniche per sfuggire o comunque evitare il Loader Lock mentre esegui il tuo codice da DllMain o da qualsiasi altro punto in cui il lock possa essere presente. È stato rilasciato insieme all'articolo "Perfect DLL Hijacking". Ti diamo la chiave per sbloccare il caricatore di librerie e fare ciò che vuoi con il tuo loader (sul tuo stesso computer)!

Le tecniche sono pensate per essere universali, pulite e 100% sicure dove possibile. Sono progettate per funzionare senza modificare la protezione della memoria o i puntatori. Questo è importante per rimanere compatibili con le moderne mitigazioni degli exploit. L'unica architettura ufficialmente supportata è x86-64 (il 32-bit è in gran parte estinto).

Vuoi conoscere le ragioni architetturali per cui DllMain è così problematico su Windows mentre i sistemi operativi Unix-like non hanno problemi qui? Prego, accomodati!.

Tecniche

LdrFullUnlock

È esattamente quello che sembra. Sblocca il Loader Lock, imposta gli eventi del loader e capovolgi . Si consiglia di lasciare non definito per la migliore stabilità.

Scarica lo strumento
LdrpWorkInProgress
RUN_PAYLOAD_DIRECTLY_FROM_DLLMAIN

NON USARE QUESTA TECNICA NEL CODICE DI PRODUZIONE. Questo è stato creato come sottoprodotto della mia pura curiosità e della volontà di non lasciare nulla di intentato. Qualsiasi cosa tu faccia con questo codice è sotto tua responsabilità.

Sfuggire all'uscita

Usiamo la atexit della CRT tipicamente usata dagli EXE nel nostro codice DLL per sfuggire al Loader Lock quando il programma termina. Per i caricamenti dinamici (usando LoadLibrary), questo è reso 100% sicuro bloccando (LDR_ADDREF_DLL_PIN) la nostra libreria tramite LdrAddRefDll, così che una successiva FreeLibrary non rimuova la nostra DLL dalla memoria.

Usare i Lock a Nostro Vantaggio

Prossimamente!

Esempi

Gli esempi forniti dirottano MpClient.dll da C:\Program Files\Windows Defender\Offline\OfflineScannerShell.exe. Le istruzioni sono fornite nei commenti del codice sorgente per adattare facilmente tutto ciò a qualsiasi altra coppia DLL e programma (principalmente aggiornando le export per i caricamenti statici)!

Come prova di concetto, eseguiamo ShellExecute come payload predefinito. Tuttavia, puoi far fare a questo tutto ciò che vuoi!

Compilazione

Visual Studio

Il file LdrLockLiberator.c alla radice di questo progetto è stato testato per la compilazione con Visual Studio 2022.

Collega NTDLL selezionando il progetto Visual Studio corrente nella finestra Esplora soluzioni, quindi navigando fino a Project > Properties nella barra dei menu. Dai menu a discesa Configuration in alto, seleziona All Configurations e All Platforms. Ora vai a Linker > Input e aggiungi a Additional Dependencies: ntdll.lib.

WDK

Installare il WDK corretto

  1. Vai alla pagina di download del WDK
  2. Fai clic sul collegamento Windows 7 WDK 7.1.0 per iniziare a scaricare la versione corretta del WDK
  • Questo è l'ultimo WDK pubblico che supporta ufficialmente il collegamento alla MSVCRT originale (C:\Windows\System32\msvcrt.dll)
  • Checksum SHA-256: 5edc723b50ea28a070cad361dd0927df402b7a861a036bbcf11d27ebba77657d
  1. Monta l'ISO scaricato, quindi esegui KitSetup.exe
  2. Procedi nell'installazione usando le opzioni predefinite

Compilazione

  1. Nel menu Start, cerca "x64 Free Build Environment" e aprilo
  2. Naviga (usando cd) fino a LdrLockLiberatorWDK in questo repository
  3. Esegui build

Fatto! La tua DLL è compilata e pronta all'uso!

In alternativa al WDK, anche la compilazione con MinGW probabilmente funzionerebbe.

Licenza

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