关于ImpulsiveDLLHijackImpulsiveDLLHijack是一款功能强大的DLL劫持技术安全研究工具,基于C#开发实现,可以帮助研究人员以自动化的方式扫描发现并利用DLL目标设备二进制文件中的安全问题并实现DLL劫持。红队研究人员还可以利用此工具来识别劫持路径,并在自定义工具中实施此技术以绕过EDR产品的检测。工具机制本工具通过以下两个自动化步骤实现DLL劫持检测:Discovery:寻找潜在的DLL劫持路径;利用:判断并确认DLL是否已经从劫持路径加载,从而判断目标DLL劫持路径是否100%可利用;工具要求exe:【点我获取】自定义DLL路径确认:以下DLL文件可以帮助工具确认DLL是否已经从识别出的劫持路径加载成功:dll(从本项目MalDLL目录下获取)、maldll64.dll(从本项目MalDLL目录下获取)、PeNet(【点我】搞定])工具安装首先,我们需要使用如下命令将项目源码克隆到本地:gitclonehttps://github.com/knight0x07/ImpulsiveDLLHijack。git接下来在VisualStudio中导入ImpulsiveDLLHijack项目源码,然后点击“项目”-->“管理NuGet包”-->浏览工具包并安装“PeNet”->https://www.nuget.org/packages/PeNet/然后构建工程,工程的bin目录下会出现ImpulsiveDLLHijack.exe文件。DLL路径确认:首先,我们需要使用以下命令将项目源代码克隆到本地:gitclonehttps://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:[GitHubPortal]
