Robber是开源工具,查找容易被DLL劫持的可执行文件

admin 2023年8月6日21:22:34评论25 views字数 1220阅读4分4秒阅读模式
声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本
公众号无关。

简介

Robber 是一个使用Delphi XE2开发的免费开源工具,没有任何第三方依赖。

  • 在1.7版本中,由于新的写入权限检查功能,Robber默认不需要管理员权限,因此如果要扫描“ProgramFiles”之类的地方,则需要以管理员权限运行Robber。

什么是DLL劫持?!

Windows 在其底层体系结构中具有 DLL 的搜索路径。如果你能弄清楚可执行文件在没有绝对路径的情况下请求哪些DLL(触发此搜索过程),那么你就可以把你的恶意DLL放在搜索路径的更高位置,这样它就会在真实版本之前被发现,Windows会很乐意将你的攻击代码提供给应用程序。

详情

🚀 快速使用

假设Windows的DLL搜索路径如下所示:

一) . <--可执行文件的当前工作目录,最高优先级,首次检查

B) 视窗

C) Windowssystem32

D) Windowssyswow64 <-- 最低优先级,上次检查

和一些可执行的“Foo.exe”请求“bar.dll”,它恰好存在于syswow64(D)子目录中。这使您有机会将恶意版本放在A),B)或C)中,并将其加载到可执行文件中。

如前所述,如果可以将 DLL 替换为自己的版本,即使是绝对完整路径也无法防止这种情况。

Microsoft Windows 使用 Windows 文件保护机制保护像 System32 这样的系统路径,但在企业解决方案中保护可执行文件免受 DLL 劫持的最佳方法是:

  • 使用绝对路径而不是相对路径
  • 如果您有个人签名,请在将 DLL 加载到内存之前对 DLL 文件进行签名并检查应用程序的登录情况。 否则,请使用原始 DLL 哈希检查 DLL 文件的哈希)

当然,这也不仅限于Windows。理论上,任何允许外部库动态链接的操作系统都容易受到此影响。

强盗 使用简单的机制来找出容易被劫持的DLL:

  1. 扫描可执行文件的导入表并找出链接到可执行文件的DLL
  2. 搜索放置在可执行文件中与链接DLL匹配的DLL文件(正如我之前所说,可执行文件的当前工作目录具有最高优先级)
  3. 如果找到任何 DLL,请扫描主题的导出表
  4. 将可执行文件的导入表与 DLL 的导出表进行比较,如果找到任何匹配项,则可执行文件和匹配的常用函数将标记为 DLL 劫持候选。

羽毛 :

  • 能够选择扫描类型(已签名/未签名的应用程序)
  • 确定可执行签名者
  • 确定是否引用
  • 确定候选 DLL 的导出方法名称
  • 配置规则以确定哪些劫持是最佳或最佳选择,并以不同的颜色显示主题
  • 能够检查可执行文件目录的写入权限,这是劫持的良好候选者

在此处查找最新的强盗可执行文件

Robber是开源工具,查找容易被DLL劫持的可执行文件

项目地址

https://github.com/MojtabaTajik/Robber

原文始发于微信公众号(x9sec):Robber是开源工具,查找容易被DLL劫持的可执行文件

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月6日21:22:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Robber是开源工具,查找容易被DLL劫持的可执行文件http://cn-sec.com/archives/1936826.html

发表评论

匿名网友 填写信息