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
IAT-Hook — C++ DLL, die Import Address Table Hooking durchführt, indem sie PE-Header parst und importierte Funktionsadressen auf einen benutzerdefinierten Hook innerhalb eines Zielprozesses umleitet. | Kitploit
Tools/GitHubGitHub/gmh5225/iat-hook
PersistenzmechanismenCode-AnalyseReverse EngineeringMalware-AnalyseRed TeamingPayload-EntwicklungBinary-Exploitation
GitHubgmh5225/iat-hook

IAT-Hook

C++ DLL, die Import Address Table Hooking durchführt, indem sie PE-Header parst und importierte Funktionsadressen auf einen benutzerdefinierten Hook innerhalb eines Zielprozesses umleitet.

Repository anzeigen
1vor 4 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Hooking - IAT

Hooking

Hooking ist eine Technik, die es einem Benutzer ermöglicht, den Ausführungsfluss eines Programms umzuleiten. Meistens verwenden wir Function Hooking. Wir ersetzen oder leiten eine Funktion auf unsere eigene um, dies ist sehr nützlich und hat mehrere Anwendungsfälle. Es gibt mehrere Möglichkeiten des Hookings, hier betrachten wir IAT Hooking, es steht für Import Address Table. Es besteht darin, die Adresse einer Funktion durch unsere eigene in einer großen Tabelle zu ersetzen, die zur Laufzeit gefüllt wird. Wie ich bereits in einem anderen Repo erwähnt habe, empfehle ich Ihnen, mehr über das PE Format zu lesen, um den IAT-Parsing-Teil dieses Codes zu verstehen. Hier ist ein einfaches Diagramm, wie IAT Hooking funktioniert. In diesem Beispiel wird die ursprüngliche Funktion aufgerufen, nachdem der bösartige Code ausgeführt wurde. In diesem Beispiel rufen wir einfach eine andere Funktion anstelle der ursprünglichen auf. Der Vorteil dieser Technik besteht darin, dass sie nicht den Body einer Funktion ändern muss, im Gegensatz zu einem regulären Detours-.text-Patch-Hook, der die Anweisungen am Anfang einer Funktion ändern muss, um beispielsweise einen jmp zu platzieren.

image

Schritte für das Hooking

Es ist tatsächlich viel einfacher, als es klingt. Wir werden intern vorgehen, um die Dinge einfacher zu machen, was bedeutet, dass dieses Repo zu einer DLL kompiliert wird, die mit meinen LoadLibraryA- oder Manual Mapping-Injektoren in den Zielprozess injiziert werden kann.

Zuerst parsen wir die PE Headers des Zielprozesses, um den Import Descriptor zu lokalisieren, wie folgt:

process_base + nt_header->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress;

Wir können dann jedes importierte Modul durchlaufen, jede Funktion in diesem Modul durchlaufen (Grund für die verschachtelten Schleifen) und die Adresse dieser Funktion finden, die zur Laufzeit gefüllt wurde. In diesem Beispiel werden wir TranslateMessage hooken, das von Windows verwendet wird, um Ereignisse in GUIs zu verarbeiten. Sobald wir also die Adresse dieser Funktion gefunden haben, ersetzen wir sie durch die Adresse unserer eigenen Funktion, die wir zuvor definiert haben und die im Kontext des Remote-Prozesses existiert, da wir intern sind. Vergessen Sie nicht, VirtualProtect zu verwenden, um sicherzustellen, dass Sie die Berechtigung haben, an diese Stelle zu schreiben.

VirtualProtect(&firstThunk->u1.Function, sizeof(uint64_t), PAGE_READWRITE, &old_protection);
firstThunk->u1.Function = (uint64_t)hookfunction;

Demonstration

Wie Sie sehen können, wenn Notepad TranslateMessage aufruft (so gut wie die ganze Zeit), wird unsere Hook-Funktion ausgeführt, die schließlich eine Message Box anzeigt!

image

Tool herunterladen