DLLHijackingScanner

UAC旁路-DLL劫持

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

工具下载

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

摘要

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

  1. 要生成头文件,可以使用以下命令:
  2. ```shell
  3. 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. 检查文件的内容C:\ProgramData\exploit.txt看看这次攻击是否成功。

    日志文件

    DLLHiJacking.exe将始终生成一个日志文件exploitable.log内容如下:
  • 0或1以指示利用程序是否能够绕过UAC。
  • 可执行文件名称
  • DLL名称

例如:

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

执行

命令运行:DLLHijacking.exe [DLL_PATH]
如果没有传递参数,脚本将使用dll。test.dll存储在DLLHijacking.exe.

结果

在Windows10Pro(10.0.19043 N/A Build 19043)上进行测试。
DLLHijackingScanner:检测DLL劫持漏洞和受信目录利用 - 图1

Test.dll

test.dll是一个简单的动态库,将用于查看攻击是否成功。
Dll将创建一个文件C:\ProgramData\exploit.txt内容如下:

  • 0或1以指示利用程序是否能够绕过UAC。
  • 可执行文件名称
  • DLL名称

一旦漏洞攻击完成,此文件将被删除。

资料来源: