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
DllNotificationInjection — Ein POC einer neuen „threadless“-Prozess-Injektionstechnik, die das Konzept von DLL-Notification-Callbacks in lokalen und entfernten Prozessen nutzt. | Kitploit
Tools/GitHubGitHub/dec0ne/dllnotificationinjection
ExploitationShellcodeRed Teaming
GitHubdec0ne/dllnotificationinjection

DllNotificationInjection

Ein POC einer neuen „threadless“-Prozess-Injektionstechnik, die das Konzept von DLL-Notification-Callbacks in lokalen und entfernten Prozessen nutzt.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
47183vor 3 JahrenVon Kitploit geprüft

DllNotificationInjection

image image

Hauptbeitragende

Dec0ne

Beschreibung

DllNotificationInection ist ein Proof-of-Concept einer neuen „threadless“-Prozessinjektionstechnik, die durch Nutzung von DLL Notification Callbacks in lokalen und entfernten Prozessen funktioniert.

Ein begleitender Blogbeitrag mit weiteren Details ist hier verfügbar:

https://shorsec.io/blog/dll-notification-injection/

Funktionsweise

DllNotificationInection funktioniert, indem ein neuer LDR_DLL_NOTIFICATION_ENTRY im entfernten Prozess erstellt wird. Es fügt ihn manuell in die entfernte LdrpDllNotificationList ein, indem es den List.Flink des Listenkopfes und den List.Blink des ersten (nun zweiten) Eintrags der Liste patcht.

Unser neuer LDR_DLL_NOTIFICATION_ENTRY wird auf einen benutzerdefinierten Trampolin-Shellcode verweisen (erstellt mit @C5pider's ShellcodeTemplate-Projekt), der unsere Änderungen rückgängig macht und einen schädlichen Shellcode in einem neuen Thread unter Verwendung von TpWorkCallback ausführt.

Nachdem wir unseren neuen Eintrag manuell im entfernten Prozess registriert haben, müssen wir nur darauf warten, dass der entfernte Prozess unseren DLL Notification Callback auslöst, indem er eine DLL lädt oder entlädt. Dies geschieht offensichtlich nicht regelmäßig in jedem Prozess, daher sind vorherige Arbeiten zur Findung geeigneter Kandidaten für diese Injektionstechnik notwendig. Nach meiner kurzen Suche scheinen RuntimeBroker.exe und explorer.exe geeignete Kandidaten dafür zu sein, obwohl ich Sie ermutige, auch andere zu finden.

OPSEC-Hinweise

Dies ist ein POC. Damit dies OPSEC-sicher ist und AV/EDR-Produkte umgeht, sind einige Änderungen erforderlich. Zum Beispiel habe ich RWX verwendet, als ich Speicher für die Shellcodes allozierte – seien Sie nicht faul (wie ich) und ändern Sie diese. Man könnte auch OpenProcess, ReadProcessMemory und WriteProcessMemory durch einige APIs auf niedrigerer Ebene ersetzen und Indirect Syscalls oder (schamlose Eigenwerbung) HWSyscalls verwenden. Vielleicht die Shellcodes verschlüsseln oder noch einen Schritt weiter gehen und den Trampolin-Shellcode an Ihre Bedürfnisse anpassen, oder zumindest die Standard-Hash-Werte in @C5pider's ShellcodeTemplate-Projekt ändern, das zur Erstellung des Trampolin-Shellcodes verwendet wurde.

Demo

https://github.com/ShorSec/DllNotificationInjection/assets/54464773/96a72dd9-80de-4cb8-ac4a-54dddfecf822

Danksagungen

  • @C5pider für sein ShellcodeTemplate-Projekt, das zur Erstellung des Trampolin-Shellcodes verwendet wurde. Auch für Havoc C2, das im POC-Demovideo verwendet wurde.
  • Yxel und @Idov31 für den Binärdaten-Musterabgleichscode, den wir aus Cronos verwendet haben.
  • @modexpblog für die verschiedenen Strukturdefinitionen im Zusammenhang mit DLL Notification Callbacks, die in diesem POC verwendet wurden.
  • @NinjaParanoid für seinen Blogbeitrag über TpWorkCallbacks, die in diesem POC verwendet wurden.
  • @onlymalware für seinen UnregisterAllLdrRegisterDllNotification POC, er hat mir Inspiration gegeben und mir geholfen, einige der internen Abläufe der LdrpDllNotificationList zu verstehen.
  • Sektor7 für den in diesem POC verwendeten Calc-Shellcode. Sie sind trotzdem großartig und ich empfehle ihre Kurse wärmstens!
  • @x86matthew und @Kharosx0 für ihre Kommentare (1, 2) bezüglich der GetNtdllBase()-Funktion.
Tool herunterladen