DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。
DLL劫持是一种漏洞,这个漏洞存在于所有版本的Windows操作系统之中。当用户进行了非法操作时,就有可能触发这个漏洞。很多人认为,这是Windows操作系统的一个功能,而非一个漏洞。因为这一机制是由微软公司专门设计出来的。
简单来说,你可以创建一个自定义的恶意dll文件,并将这个文件与一个正常的文件一同放在一个目录下。当这个正常的文件被一个存在漏洞的应用程序打开之后,你自定义的dll文件将会被加载,你嵌入其中的代码将会被执行。我们必须针对每一款存在漏洞的应用程序来指定这种恶意dll文件专用的文件名。别担心,我们只要使用任何一款调试工具就可以轻易完成这一步操作。
除此之外,我还在文章下方提供了一些参考文章以及演示视频,如果你真的想了解有关dll文件的详细信息,请查看这些资料。
那么,让我们来看看这个“功能”到底能给我们带来什么意想不到的收获!
第一步:DLL Hijacking Auditor(DLL劫持审计器)
首先,我们需要使用到的是DLL劫持审计程序,这个程序是DLL劫持审计套件(由著名黑客HD Moore开发)的最新版本。用户可以通过点击下列地址来获取程序的下载页面:http://securityxploded.com/dllhijackauditor.php
我将会对Cool Edit Pro2(听起来像是一款编辑软件)进行扫描和检测,下图显示的是我的扫描过程以及结果的相关截图:
(请注意:我在网络上并没有找到有关该程序漏洞的任何信息)
第二步:使用Msfvenom创建恶意DLL文件
既然我们已经知道了coolburn.dll中是存在漏洞的,那么我们就可以使用msfvenom来创建meterpreter的一个dll有效载荷。
现在我们的coolburn.dll文件已经制作完成了,我们将它放入Cool Edit Pro的文件夹中。
第三步:加载应用程序和Meterpreter
在我们设置完成所有的handler之后,我们双击应用程序图标(coolpro2.exe)并启动它。
第四步:这是漏洞还是“功能“?
第五步:链接以及演示视频
MSDN页面:
http://msdn.microsoft.com/en-us/library/ms686203%28VS.85%29.aspx
Corelan博客-提供了存在漏洞(DLL劫持)的应用程序列表(非官方):
http://www.corelan.be:8800/index.php/2010/08/25/dll-hijacking-kb-2269637-the-unofficial-list/
exploit-db网站-提供了存在漏洞(DLL劫持)的应用程序列表
http://www.exploit-db.com/dll-hijacking-vulnerable-applications/
通过DLL劫持来实现权限提升:
uTorrent的DLL劫持:
发表评论
您还未登录,请先登录。
登录