Robber
Robber 1.7
强盗是使用Delphi XE2开发的免费开源工具,而无需任何第三方依赖。
什么是DLL劫持?!
Windows在其基础体系结构中对DLL有搜索路径。如果您可以在没有绝对路径的情况下(触发此搜索过程)弄清楚什么是可执行的请求,则可以将敌对的dll放置在搜索路径上方的某个位置,以便在真实版本为之前就可以找到它,并且Windows将使您的攻击代码将您的攻击代码馈送到应用程序。
因此,让我们假装Windows的DLL搜索路径看起来像这样:
a)。 < - 可执行,最高优先级的当前工作目录,首先检查
b) Windows
C) Windows System32
D) Windows Syswow64 < - 最低优先级,上次检查
以及一些可执行的“ foo.exe”请求“ bar.dll”,恰好生活在Syswow64(d)subdir中。这使您有机会将恶意版本放置在a),b)或c)中,并将其加载到可执行文件中。
如前所述,如果您可以用自己的版本替换DLL,即使是绝对的完整路径也无法防止这种情况。
Microsoft Windows保护系统路径(例如System32)使用Windows文件保护机制,但保护可执行操作免受熵解决方案中的DLL劫持的最佳方法是:
当然,这也不仅限于Windows。任何允许外部库的动态链接的操作系统在理论上很容易受到影响。
强盗使用简单的机制来找出容易被劫持的DLL:
feauters:
在此处查找最新的强盗