ImpulsiveDLLHijack:一款基于C#实现的DLL劫持技术研究工具

安全 数据安全
该工具基于C#开发实现,以自动化的方式扫描、发现并利用目标设备二进制文件中的DLL安全问题,并实现DLL劫持。

[[440515]]

关于ImpulsiveDLLHijack

ImpulsiveDLLHijack是一款功能强大的DLL劫持技术安全研究工具,该工具基于C#开发实现,可以帮助广大研究人员以自动化的方式扫描、发现并利用目标设备二进制文件中的DLL安全问题,并实现DLL劫持。红队研究人员也可以利用该工具来识别劫持路径,并在定制工具中实现该技术以绕过EDR产品的检测。

工具机制

该工具能够通过下列两个自动化阶段步骤实现DLL劫持检测:

  • 发现:寻找潜在的DLL劫持路径;
  • 利用:判断并确认DLL是否已从劫持路径加载,从而确定目标DLL劫持路径是否100%可利用;

工具要求

exe:【点我获取

自定义DLL路径确认:下面这些DLL文件,可帮助工具确认DLL是否已从已识别的劫持路径成功加载:dll(从本项目的MalDLL目录中获取)、maldll64.dll(从本项目的MalDLL目录中获取)、PeNet(【点我获取】)

工具安装

首先,我们需要使用下列命令将该项目源码克隆至本地:

  1. git clone https://github.com/knight0x07/ImpulsiveDLLHijack.git 

接下来,在Visual Studio中导入ImpulsiveDLLHijack项目源码,然后点击"Project" --> "Manage NuGet packages" --> 浏览工具包并安装 "PeNet" -> https://www.nuget.org/packages/PeNet/

然后构建项目,此时项目的bin目录中就会出现ImpulsiveDLLHijack.exe文件了。

DLL路经确认:

首先,我们需要使用下列命令将该项目源码克隆至本地:

  1. git clone https://github.com/knight0x07/ImpulsiveDLLHijack.git 

接下来,根据目标系统架构构建x86或x64版本。

将x86编译结果重命名为maldll32.dll,将x64编译结果重命名为maldll64.dll。

最后,将编译生成的路经确认DLL(maldll32 & maldll64)拷贝至ImpulsiveDLLHijack.exe目录下,然后执行ImpulsiveDLLHijack.exe即可。

工具使用

 

工具使用样例

目标可执行程序:OneDrive.exe

(1) 操作阶段:DLL劫持路径发现

(2) 操作阶段:DLL劫持利用

DLL劫持成功:

DLL劫持失败:

DLL没有以入口点进行加载,手动分析后即可成功实现DLL劫持:

(3) 操作阶段:最终结果和日志记录

日志文件路径:C:\DLLLogs\output_logs.txt

项目地址

ImpulsiveDLLHijack:【GitHub传送门

 

责任编辑:赵宁宁 来源: FreeBuf
相关推荐

2012-11-07 14:00:05

2021-09-26 09:18:10

KnockOutloo安全工具红队

2022-05-26 17:40:51

Linux开源

2011-08-31 10:18:09

Template St

2019-08-30 08:00:00

WebminWebLinux

2011-05-30 13:43:55

2017-02-06 13:31:11

调度技术集群

2021-04-18 20:46:30

工具代码编程

2022-02-16 09:01:33

编程工具Node-RED编辑器

2018-11-19 13:44:39

2020-08-20 14:15:11

工具代码开发

2011-06-03 12:53:47

2009-01-20 14:47:19

ETL数据集成技术研究

2021-01-27 07:24:38

TypeScript工具Java

2022-02-25 14:57:33

harmonyOSjava心形动画

2011-11-30 21:54:11

ibmdwDominoSAP

2017-07-03 15:22:51

达观数据技术研究

2010-01-18 22:54:40

2011-05-30 17:21:58

软件测试

2023-07-11 08:30:56

点赞
收藏

51CTO技术栈公众号