
Dies ist ein PoC zur Umgehung der UAC mittels DLL-Hijacking und Missbrauch der Überprüfung von "Trusted Directories".
Dies ist ein PoC zum Umgehen von UAC mittels DLL-Hijacking und Missbrauch der Überprüfung "Trusted Directories".
Das Python-Skript CsvToHeader.py kann verwendet werden, um eine Header-Datei zu generieren. Standardmäßig wird die CSV-Datei dll_hijacking_candidates.csv verwendet, die hier zu finden ist: dll_hijacking_candidates.csv.
Das Skript prüft für jede portable ausführbare Datei (PE) die folgenden Bedingungen:
asInvokerhighestAvailablerequireAdministrator<autoElevate>true</autoElevate>
-c-Argument angegeben hat, prüft das Skript, ob die zu kapernde DLL in der Liste der aus der PE-Tabelle importierten DLLs enthalten ist.> python .\CsvToHeader.py -h
usage: CsvToHeader.py -f [DLL_PATH] -c
CsvToHeader can be used to generate a header file from a CSV.
optional arguments:
-h, --help show this help message and exit
-f [DLL_PATH] Path of the csv to convert (default="dll_hijacking_candidates.csv")
-c Enable import dll in PE (default=False)
-v, --version Show program's version number and exit
Um die Header-Datei zu generieren, können Sie den folgenden Befehl verwenden:
python CsvToHeader.py > dll_hijacking_candidates.h
Die verwendeten Dateien sind DLLHijacking.exe und test.dll.
DLLHijacking.exe ist die Datei, die verwendet wird, um die Liste der verwundbaren PE zu generieren. Es führt die folgenden Schritte aus:
CreateFakeDirectory
Funktion, die ein Verzeichnis in C:\windows \system32 erstellt.
Copy Files in das neue Verzeichnis
C:\windows\system32\[TARGET.EXE] nach C:\windows \system32\[TARGET.EXE][CUSTOM_DLL_PATH] nach C:\windows \system32\[TARGET.DLL]Trigger
Führe die ausführbare Datei aus C:\windows \system32\[TARGET.EXE] aus.
CleanUpFakeDirectory
Funktion, die das in Schritt 1 erstellte Verzeichnis und die Dateien aus Schritt 2 löscht.
CheckExploit
Überprüft den Inhalt der Datei C:\ProgramData\exploit.txt, ob der Exploit erfolgreich war.
DLLHijacking.exe generiert immer eine Protokolldatei exploitable.log mit folgendem Inhalt:
Z.B.
1,computerdefaults.exe,PROPSYS.dll
0,computerdefaults.exe,Secur32.dll
Befehl zum Ausführen:
DLLHijacking.exe [DLL_PATH]
Wenn kein Argument übergeben wird, verwendet das Skript die DLL test.dll, die in der Ressource von DLLHijacking.exe gespeichert ist.
Getestet auf Windows 10 Pro (10.0.19043 N/A Build 19043).

test.dll ist eine einfache dynamische Bibliothek, die verwendet wird, um zu prüfen, ob der Exploit erfolgreich ist. Die DLL erstellt eine Datei C:\ProgramData\exploit.txt mit folgendem Inhalt:
Diese Datei wird gelöscht, sobald der Exploit abgeschlossen ist.
This project is made for educational and ethical testing purposes only. Usage of this software for attacking targets without prior mutual consent is illegal.
It is the end user's responsibility to obey all applicable local, state and federal laws.
Developers assume no liability and are not responsible for any misuse or damage caused by this program.