Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
LdrLockLiberator — Für den Fall, dass DLLMain der einzige Weg ist | Kitploit
Tools/GitHubGitHub/elliotkillick/ldrlockliberator
PersistenzmechanismenExploitationPost-ExploitationRed TeamingPayload-Entwicklung
GitHubelliotkillick/ldrlockliberator

LdrLockLiberator

Für den Fall, dass DLLMain der einzige Weg ist

Repository anzeigen
4357113vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Webseite
Teilen
Logo

LdrLockLiberator

Für den Fall, dass DLLMain der einzige Weg ist

LdrLockLiberator ist eine Sammlung von Techniken, um die Loader Lock zu umgehen oder anderweitig darauf zu verzichten, während du deinen Code aus DllMain oder an jeder anderen Stelle, an der die Sperre vorhanden sein kann, ausführst. Es wurde zusammen mit dem Artikel "Perfect DLL Hijacking" veröffentlicht. Wir geben dir den Schlüssel, um den Bibliothekslader zu entsperren und mit deinem Loader zu tun, was du willst (auf deinem eigenen Computer)!

Die Techniken sollen wo möglich universell, sauber und 100 % sicher sein. Sie sind so konzipiert, dass sie ohne Änderung des Speicherschutzes oder von Zeigern funktionieren. Das ist wichtig, um mit modernen Exploit-Mitigationen kompatibel zu bleiben. Die einzige offiziell unterstützte Architektur ist x86-64 (32-Bit ist weitgehend ausgestorben).

Du willst die architektonischen Gründe erfahren, warum DllMain unter Windows so problematisch ist, während Unix-ähnliche Betriebssysteme hier nicht zu kämpfen haben? Nur zu, bitte!

Techniken

LdrFullUnlock

Es ist genau das, wonach es klingt. Entsperre die Loader Lock, setze Loader-Ereignisse und kippe LdrpWorkInProgress. Es wird empfohlen, RUN_PAYLOAD_DIRECTLY_FROM_DLLMAIN undefiniert zu lassen, um die beste Stabilität zu erzielen.

VERWENDE DIESE TECHNIK NICHT IN PRODUKTIONSCODE. Dies entstand aus meiner schieren Neugier und meinem Willen, nichts unversucht zu lassen. Was auch immer du mit diesem Code tust, liegt in deiner Verantwortung.

Flucht beim Exit

Wir verwenden das normalerweise von EXEs verwendete atexit der CRT in unserem DLL-Code, um die Loader Lock zu umgehen, wenn das Programm beendet wird. Bei dynamischen Lasten (mithilfe von LoadLibrary) wird dies 100 % sicher gemacht, indem wir unsere Bibliothek mithilfe von LdrAddRefDll pinnen (LDR_ADDREF_DLL_PIN), sodass ein anschließendes FreeLibrary unsere DLL nicht aus dem Speicher entfernt.

Sperren zu unserem Vorteil nutzen

Bald verfügbar!

Beispiele

Die bereitgestellten Beispiele kapern MpClient.dll aus C:\Program Files\Windows Defender\Offline\OfflineScannerShell.exe. Anweisungen in den Quellcode-Kommentaren helfen dir, dies einfach an jede andere DLL- und Programm-Kombination anzupassen (hauptsächlich müssen nur die Exporte für statische Lasten aktualisiert werden)!

Als Proof of Concept führen wir ShellExecute als Standard-Payload aus. Du kannst damit jedoch alles machen, was du willst!

Kompilierung

Visual Studio

Die LdrLockLiberator.c im Stammverzeichnis dieses Projekts wurde getestet und kann mit Visual Studio 2022 kompiliert werden.

Verknüpfe mit NTDLL, indem du das aktuelle Visual Studio-Projekt im Projektmappen-Explorer auswählst und dann in der Menüleiste zu Projekt > Eigenschaften navigierst. Wähle in den Dropdown-Menüs Konfiguration oben Alle Konfigurationen und Alle Plattformen aus. Gehe nun zu Linker > Eingabe und füge unter Zusätzliche Abhängigkeiten Folgendes hinzu: ntdll.lib.

WDK

Installieren der richtigen WDK

  1. Gehe zur WDK-Downloadseite
  2. Klicke auf den Windows 7 WDK 7.1.0-Link, um das Herunterladen der richtigen WDK-Version zu starten
  • Dies ist die letzte öffentliche WDK, die offiziell das Verknüpfen mit der ursprünglichen MSVCRT (C:\Windows\System32\msvcrt.dll) unterstützt
  • SHA-256-Prüfsumme: 5edc723b50ea28a070cad361dd0927df402b7a861a036bbcf11d27ebba77657d
  1. Hänge das heruntergeladene ISO ein und führe dann KitSetup.exe aus
  2. Klicke dich mit den Standardoptionen durch den Installationsprozess

Kompilieren

  1. Suche im Startmenü nach "x64 Free Build Environment" und öffne es
  2. Navigiere (mit cd) zu LdrLockLiberatorWDK in diesem Repo
  3. Führe build aus

Fertig! Deine DLL ist gebaut und bereit zur Verwendung!

Alternativ zu WDK würde das Kompilieren mit MinGW wahrscheinlich ebenfalls funktionieren.

Lizenz

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

Tool herunterladen