当前位置:系统粉 >   IT资讯 >   微软资讯 >  打开记事本就能中木马?微软到现在都不太关心的DLL劫持漏洞

打开记事本就能中木马?微软到现在都不太关心的DLL劫持漏洞

时间:2017-12-26 来源:互联网 浏览量:

微软在2010年的2269637号安全公告中披露了Dll劫持漏洞(DLL Hijacking Exploit)。国外安全公司Authentium在博客中描述DLL劫持漏洞时,用The world is going to end(世界末日)做标题。七年过去了,DLL劫持技术也已经是黑客们杀人越货,打家劫舍必备的武器。但就是这样一个漏洞,微软似乎却没有放在心上,只是轻描淡写地修改了一下注册表完事。

海阳顶端黑客今天来教你一招,利用此漏洞打开这记事本就能运行你的程序,从制作方法到原理让你明明白白。你也不用担心你的计算机水平,看完我的文章,人人都会制作的。

一、制作前的准备工作,生成一个运行计算器的dll。

(1) 去https://pentestbox.org/zh/#download下载pentestbox,记得下载安装有 Metasploit 的 PentestBox。

打开记事本就能中木马?微软到现在都不太关心的DLL劫持漏洞(1)

下载安装完毕后,直接点击目录里的PentestBox.exe或PentestBox.bat。如果你是WIN10 系统的话,记住要在出来的界面里打输一次CMD,要不没法用,这算是它的BUG了,其它系统你直接用就行,不用输CMD。

(2) 一条命令生成一个可以运行计算器的cryptbase.dll文件,我是生成在了D盘。 如果你想执行别的命令,学习下Metasploit吧。

执行:msfvenom -p windows/exec CMD=calc.exe -f dll -o d:/cryptbase.dll

打开记事本就能中木马?微软到现在都不太关心的DLL劫持漏洞(2)

二、准备一台win7 32位的机器进行测试。

(1)拷贝win732机器里的记事本程序notepad.exe和步骤一里生成的cryptbase.dll放在同一个目录。

(2)点击记事本程序notepad.exe,计算器就会弹了出来。

打开记事本就能中木马?微软到现在都不太关心的DLL劫持漏洞(3)

三、这个漏洞的原理是什么?

在Windows系统中,为了节省内存和实现代码重用,微软在Windows操作系统中实现了一种共享函数库的方式,这就是DLL文件。系统调用DLL时会依次从下面几个位置去查找所需要调用的DLL文件。

1.程序所在目录。

2.加载 DLL 时所在的当前目录。

3.系统目录即 SYSTEM32 目录。

4.16位系统目录即 SYSTEM 目录。

5.Windows目录。

6.PATH环境变量中列出的目录

因为我们把cryptbase.dll放在了notepad.exe的同目录,所以首先第一个调用的就是同目录下的cryptbase.dll文件。

四、你怎么知道要用cryptbase.dll这个文件名?

这个你可以用filemon软件,打开之后,点击那个小漏斗图标,输入notepad.exe进行过滤。然后你再打开你copy出来的notepad.exe进行捕获,你会看到很多信息。你看我下图中,我鼠标点高亮的那一行有个NOT FOUND选项。意思是在当前目录中没有找到cryptbase.dll文件。那么自然而然,我们找到的能利用的就是cryptbase.dll这个文件了。如果你会了的话,你能找到win7 x64位的的可利用文件名吗?

打开记事本就能中木马?微软到现在都不太关心的DLL劫持漏洞(4)

五、微软做了哪些补丁措施?

微软为了更进一步的防御系统的DLL被劫持,将一些容易被劫持的系统DLL写进了一个注册表项中,那么凡是此项下的DLL文件就会被禁止从EXE自身所在的目录下调用,而只能从系统目录即SYSTEM32目录下调用。注册表路径如下:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs

下图是我在win10中的注册表选项,注册表里的dll只能让你从system32下调用了。

打开记事本就能中木马?微软到现在都不太关心的DLL劫持漏洞(5)

不过,微软又莫名其妙的允许用户在上述注册表路径中添加“ExcludeFromKnownDlls”注册表项,排除一些被“KnownDLLs注册表项”机制保护的DLL。也就是说,只要在“ExcludeFromKnownDlls”注册表项中添加你想劫持的DLL名称就可以对该DLL进行劫持,不过修改之后需要重新启动电脑才能生效。

但是呢,这个补丁对我们的办法来讲是不起作用的,因为我们找到的是系统目录下未加载的而且在当前目录下找不到的DLL,而且我们的搜索顺序是排在第一位的,是不是非常可怕呢?所以如果有陌生人给你发一个带DLL的文件夹,无论同目录底下是什么文件你都要小心了,这是来自海阳顶端黑客的善意提醒,如果你实在忍不住好奇心,那就在虚拟机中打开吧。这篇文章方法是简单的,原理有点深了,不知道头条的观众能不能接受得了,但是我相信大家还是能看明白的,我追求的是黑客技术,流量就次要吧。

我要分享:

最新热门游戏

版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航