Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
ReflectiveDLLInjection — Reflektive DLL-Injektion ist eine Bibliotheks-Injektionstechnik, bei der das Konzept der reflektiven Programmierung genutzt wird, um das Laden einer Bibliothek aus dem Speicher in einen Host-Prozess durchzuführen. | Kitploit
Tools/GitHubGitHub/stephenfewer/reflectivedllinjection
SpeicherforensikExploitationPost-ExploitationRed TeamingPayload-Entwicklung
GitHubstephenfewer/reflectivedllinjection

ReflectiveDLLInjection

Reflektive DLL-Injektion ist eine Bibliotheks-Injektionstechnik, bei der das Konzept der reflektiven Programmierung genutzt wird, um das Laden einer Bibliothek aus dem Speicher in einen Host-Prozess durchzuführen.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
3.3k8167vor 4 JahrenVon Kitploit geprüft

Über

Reflective DLL Injection ist eine Bibliotheks-Injektionstechnik, bei der das Konzept der reflektiven Programmierung eingesetzt wird, um das Laden einer Bibliothek aus dem Speicher in einen Host-Prozess durchzuführen. Dabei ist die Bibliothek selbst dafür verantwortlich, sich zu laden, indem sie einen minimalen Portable-Executable-(PE)-Dateilader implementiert. Sie kann dann mit minimaler Interaktion mit dem Host-System und -Prozess steuern, wie sie sich lädt und mit dem Host interagiert.

Die Injektion funktioniert von Windows NT4 bis einschließlich Windows 8, auf x86, x64 und ARM, wo zutreffend.

Überblick

Der Prozess des Ferninjizierens einer Bibliothek in einen Prozess ist zweigeteilt. Erstens muss die Bibliothek, die Sie injizieren möchten, in den Adressraum des Zielprozesses geschrieben werden (im Folgenden als Host-Prozess bezeichnet). Zweitens muss die Bibliothek so in diesen Host-Prozess geladen werden, dass die Laufzeiterwartungen der Bibliothek erfüllt werden, wie das Auflösen ihrer Importe oder das Verschieben an einen geeigneten Speicherort.

Angenommen, wir haben Codeausführung im Host-Prozess und die zu injizierende Bibliothek wurde an einen beliebigen Speicherort im Host-Prozess geschrieben, funktioniert Reflective DLL Injection wie folgt.

  • Die Ausführung wird, entweder über CreateRemoteThread() oder einen winzigen Bootstrap-Shellcode, an die ReflectiveLoader-Funktion der Bibliothek übergeben, eine exportierte Funktion, die sich in der Exporttabelle der Bibliothek befindet.
  • Da sich das Image der Bibliothek derzeit an einem beliebigen Speicherort befindet, berechnet der ReflectiveLoader zunächst die aktuelle Speicherposition seines eigenen Images, um seine eigenen Header für die spätere Verwendung parsen zu können.
  • Der ReflectiveLoader parst dann die Exporttabelle von kernel32.dll des Host-Prozesses, um die Adressen von drei Funktionen zu berechnen, die der Lader benötigt, nämlich LoadLibraryA, GetProcAddress und VirtualAlloc.
  • Der ReflectiveLoader weist nun einen zusammenhängenden Speicherbereich zu, in den er sein eigenes Image lädt. Der Speicherort ist nicht wichtig, da der Lader das Image später korrekt verschieben wird.
  • Die Header und Abschnitte der Bibliothek werden an ihre neuen Speicherorte geladen.
  • Der ReflectiveLoader verarbeitet dann die neu geladene Kopie der Importtabelle seines Images, lädt zusätzliche Bibliotheken und löst deren jeweilige importierte Funktionsadressen auf.
  • Der ReflectiveLoader verarbeitet dann die neu geladene Kopie der Relokationstabelle seines Images.
  • Der ReflectiveLoader ruft dann die Einstiegspunktfunktion seines neu geladenen Images auf, DllMain mit DLL_PROCESS_ATTACH. Die Bibliothek wurde nun erfolgreich in den Speicher geladen.
  • Schließlich gibt der ReflectiveLoader die Ausführung an den ursprünglichen Bootstrap-Shellcode zurück, der ihn aufgerufen hat, oder wenn er über CreateRemoteThread aufgerufen wurde, endet der Thread.

Build

Öffnen Sie die Datei 'rdi.sln' in Visual Studio C++ und erstellen Sie die Projektmappe im Release-Modus, um inject.exe und reflective_dll.dll zu erzeugen.

Verwendung

Zum Testen verwenden Sie inject.exe, um reflective_dll.dll über eine Prozess-ID in einen Host-Prozess zu injizieren, z. B.:

inject.exe 1234

Lizenz

Lizenziert unter einer 3-Klausel-BSD-Lizenz, siehe LICENSE.txt für Details.

Tool herunterladen