Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
DLLHijackingScanner — 这是一个利用DLL劫持和滥用“受信任目录”验证来绕过UAC的概念验证(PoC)。 | Kitploit
工具/GitHubGitHub/secuproject/dllhijackingscanner
权限提升漏洞扫描器漏洞利用
GitHubsecuproject/dllhijackingscanner

DLLHijackingScanner

这是一个利用DLL劫持和滥用“受信任目录”验证来绕过UAC的概念验证(PoC)。

查看仓库
2835185年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

UAC绕过 - DLL劫持

描述

这是一个利用DLL劫持和滥用“受信任目录”验证来绕过UAC的概念验证(PoC)。

摘要

  • 从CSV生成头文件
    • 参数
  • 生成易受攻击的PE和DLL列表
    • DLLHijacking.exe
    • 日志文件
    • 执行
    • 结果
  • test.dll
  • 来源

从CSV生成头文件

Python脚本CsvToHeader.py可用于生成头文件。默认情况下,它将使用CSV文件dll_hijacking_candidates.csv,该文件可在此处找到:dll_hijacking_candidates.csv。

脚本会为每个可移植可执行文件(PE)检查以下条件:

  • PE是否存在于文件系统中。
  • 在PE的清单中,_requestedExecutionLevel_是否设置为以下值之一:
    • asInvoker
    • highestAvailable
    • requireAdministrator
  • 在清单中,autoElevate是否设置为true:
    root@kitploit:~
    <autoElevate>true</autoElevate>
    
  • 如果用户指定了-c参数,脚本将检查要劫持的DLL是否在PE表导入的DLL列表中。

参数

root@kitploit:~
> 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

要生成头文件,可以使用以下命令:

root@kitploit:~
python CsvToHeader.py > dll_hijacking_candidates.h

生成易受攻击的PE和DLL列表

将使用的文件为DLLHijacking.exe和test.dll。

DLLHijacking.exe

DLLHijacking.exe是用于生成易受攻击的PE列表的文件。它将执行以下步骤:

  1. CreateFakeDirectory

    在C:\windows \system32中创建目录的函数。

  2. 将文件复制到新目录

    • 从C:\windows\system32\[TARGET.EXE]到C:\windows \system32\[TARGET.EXE]
    • 从[CUSTOM_DLL_PATH]到C:\windows \system32\[TARGET.DLL]
  3. 触发

    从C:\windows \system32\[TARGET.EXE]运行可执行文件。

  4. CleanUpFakeDirectory

    删除步骤1中创建的目录和步骤2中的文件的函数。

  5. CheckExploit

    检查文件C:\ProgramData\exploit.txt的内容,以查看利用是否成功。

日志文件

DLLHijacking.exe始终会生成一个日志文件exploitable.log,内容如下:

  • 0或1,表示利用是否能够绕过UAC。
  • 可执行文件名称
  • DLL名称

例如:

root@kitploit:~
1,computerdefaults.exe,PROPSYS.dll
0,computerdefaults.exe,Secur32.dll

执行

运行命令:

root@kitploit:~
DLLHijacking.exe [DLL_PATH]

如果没有传递参数,脚本将使用存储在DLLHijacking.exe资源中的test.dll。

结果

在Windows 10专业版(10.0.19043 N/A Build 19043)上测试。

利用结果

test.dll

test.dll是一个简单的动态库,用于检查利用是否成功。该DLL将创建一个文件C:\ProgramData\exploit.txt,包含以下内容:

  • 0或1,表示利用是否能够绕过UAC。
  • 可执行文件名称
  • DLL名称

一旦利用完成,该文件将被删除。

来源:

  • https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows
  • https://github.com/wietze/windows-dll-hijacking/
  • https://github.com/wietze/windows-dll-hijacking/blob/master/dll_hijacking_candidates.csv
  • https://medium.com/tenable-techblog/uac-bypass-by-mocking-trusted-directories-24a96675f6e

法律免责声明:

root@kitploit:~
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.
下载工具