前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用DLLHijackingScanner检测DLL劫持漏洞和受信目录利用

如何使用DLLHijackingScanner检测DLL劫持漏洞和受信目录利用

作者头像
FB客服
发布2022-02-23 20:46:10
1.1K0
发布2022-02-23 20:46:10
举报
文章被收录于专栏:FreeBufFreeBuf

关于DLLHijackingScanner

DLLHijackingScanner是一款功能强大的DLL劫持漏洞和受信目录利用检测工具,该工具本质上来说是一个PoC概念验证,可以帮助研究人员通过DLL劫持技术绕过UAC,来检测目标设备是否容易受到DLL劫持。除此之外,该工具还支持检测针对“受信任目录”的验证滥用。

工具下载

该工具基于Python开发,因此我们首先需要在主机环境中安装并配置好Python环境。接下来,使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/SecuProject/DLLHijackingScanner.git

从CSV生成Header

项目提供的Python脚本-CsvToHeader.py可以用来生成一个Header文件,该工具默认将使用dll_hijacking_candidates.csv。

脚本将会检测每一个PE的下列状态:

1、PE是否存在于文件系统;

2、在PE的manifest中,requestedExecutionLevel是否被设置为了下列其中一个值:

代码语言:javascript
复制
asInvoker

highestAvailable

requireAdministrator

3、manifest中autoElevate的值是否被设置为了true:

代码语言:javascript
复制
<autoElevate>true</autoElevate>

4、用户是否设置了-c参数,脚本将会检测PE表中导入的DLL是否存在DLL劫持;

工具参数

代码语言:javascript
复制
> 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

我们可以使用下列命令可以生成Header文件:

代码语言:javascript
复制
python CsvToHeader.py > dll_hijacking_candidates.h

生成存在漏洞的PE和DLL

这个过程需要使用到的文件为DLLHijacking.exe和test.dll。

DLLHijacking.exe

DLLHijacking.exe用于生成存在漏洞的PE列表,它将会执行下列操作:

1、在C:\windows \system32目录下创建伪造的目录;

2、向新创建的目录中拷贝文件:

代码语言:javascript
复制
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、清除伪造的目录:删除第一步创建的目录和第二步创建的文件;

5、检查漏洞利用:检查C:\ProgramData\exploit.txt的文件内容,并查看漏洞利用是否成功。

日志文件

DLLHijacking.exe将使用下列内容生成exploitable.log日志文件:

1、0或1代表漏洞利用(绕过UAC)是否成功。

2、可执行程序名称。

3、DLL文件名,例如:

代码语言:javascript
复制
1,computerdefaults.exe,PROPSYS.dll

0,computerdefaults.exe,Secur*32.dll

DLLHijacking.exe执行

代码语言:javascript
复制
DLLHijacking.exe [DLL_PATH]

如果没有指定参数,脚本将直接使用test.dll。

运行结果

测试平台为Windows 10专业版(10.0.19043 N/A Build 19043):

test.dll

test.dll是一个简单的动态库,可以用来判断漏洞利用是否成功。DLL将使用下列内容来创建C:\ProgramData\exploit.txt文件:

1、0或1代表漏洞利用(绕过UAC)是否成功。 2、可执行程序名称。 3、DLL文件名。

这个文件将会在漏洞利用成功后被删除。

项目地址

https://github.com/SecuProject/DLLHijackingScanner

参考资料

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

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-01-19,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于DLLHijackingScanner
  • 工具下载
  • 从CSV生成Header
  • 工具参数
  • 生成存在漏洞的PE和DLL
    • DLLHijacking.exe
      • 日志文件
        • DLLHijacking.exe执行
          • 运行结果
            • test.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
            相关产品与服务
            检测工具
            域名服务检测工具(Detection Tools)提供了全面的智能化域名诊断,包括Whois、DNS生效等特性检测,同时提供SSL证书相关特性检测,保障您的域名和网站健康。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
            http://www.vxiaotou.com