Kali Linux

DLLHijackingScanner : This Is A PoC For Bypassing UAC Using DLL Hijacking And Abusing The “Trusted Directories” Verification

DLLHijackingScanner is a PoC for bypassing UAC using DLL hijacking and abusing the “Trusted Directories” verification.

Generate Header from CSV

The python script CsvToHeader.py can be used to generate a header file. By default it will use the CSV file dll_hijacking_candidates.csv that can be found here: dll_hijacking_candidates.csv.

The script will check for each portable executable(PE) the following condition:

  • If the PE exists in the file system.
  • In the manifest of the PE, if the requestedExecutionLevel is set to one of the following values:
    • asInvoker
    • highestAvailable
    • requireAdministrator
  • In the manifest if the autoElevate is set to true:<autoElevate>true</autoElevate>
  • If the user specified the -c argument, the script will check if the DLL to hijack is in the list of DLLs imported form PE table.

Arguments

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

To generate the header file you can use the following command:

python CsvToHeader.py > dll_hijacking_candidates.h

Generate the list of vulnerable PE and DLL

The files that will be used are DLLHijacking.exe and test.dll.

DLLHijacking.exe

DLLHijacking.exe is the file that will be used to generate the list of vulnerable PE. It will perform the following steps:

  1. CreateFakeDirectoryFunction that create a directory in C:\windows \system32.
  2. Copy Files in the new directory
    • from C:\windows\system32\[TARGET.EXE] to C:\windows \system32\[TARGET.EXE]
    • from [CUSTOM_DLL_PATH] to C:\windows \system32\[TARGET.DLL]
  3. TriggerRun the executable from C:\windows \system32\[TARGET.EXE]
  4. CleanUpFakeDirectoryFunction that delete the directory created in step 1 and files from step 2.
  5. CheckExploitCheck the content of the file C:\ProgramData\exploit.txt to see if the exploit was successful.

Log file

DLLHijacking.exe will always generate a log file exploitable.log with the following content:

  • 0 or 1 to indicates whether the exploit was able to bypass the UAC.
  • The executable name
  • The dll name

E.g.

1,computerdefaults.exe,PROPSYS.dll
0,computerdefaults.exe,Secur32.dll

Execution

Command to run:

DLLHijacking.exe [DLL_PATH]

if no argument is passed, the script will use the DLL test.dll which is stored in the resouce of DLLHijacking.exe.

Result

Tested on Windows 10 Pro (10.0.19043 N/A Build 19043).

test.dll

test.dll is a simple dynamic library that will be use to see if the exploit is successfully. The DLL will create a file C:\ProgramData\exploit.txt with the following content:

  • 0 or 1 to indicates whether the exploit was able to bypass the UAC.
  • The executable name
  • The DLL name

This file will be deleted once the exploit is complete.

R K

Recent Posts

Kali Linux 2024.4 Released, What’s New?

Kali Linux 2024.4, the final release of 2024, brings a wide range of updates and…

2 hours ago

Lifetime-Amsi-EtwPatch : Disabling PowerShell’s AMSI And ETW Protections

This Go program applies a lifetime patch to PowerShell to disable ETW (Event Tracing for…

2 hours ago

GPOHunter – Active Directory Group Policy Security Analyzer

GPOHunter is a comprehensive tool designed to analyze and identify security misconfigurations in Active Directory…

2 days ago

2024 MITRE ATT&CK Evaluation Results – Cynet Became a Leader With 100% Detection & Protection

Across small-to-medium enterprises (SMEs) and managed service providers (MSPs), the top priority for cybersecurity leaders…

5 days ago

SecHub : Streamlining Security Across Software Development Lifecycles

The free and open-source security platform SecHub, provides a central API to test software with…

1 week ago

Hawker : The Comprehensive OSINT Toolkit For Cybersecurity Professionals

Don't worry if there are any bugs in the tool, we will try to fix…

1 week ago