QQDLL加载漏洞可能导致用户密码被窃取

来源:互联网 发布:windows最近更改了硬件 编辑:程序博客网 时间:2024/05/22 06:13

漏洞作者: liyang

漏洞来源: http://www.wooyun.org



利用了Windows加载DLL的一个特点。由于输入表中只包含DLL名而没有它的路径名,因此加载程序必须在磁盘上搜索DLL文件,而不是按照指定路径加载。
在Windows XP sp2以上的系统会默认开启Safe Dll Search Mode,启用了这个模式后,DLL文件的搜索顺序是:
可执行程序的加载目录
系统目录(即system32文件夹)
16位系统目录
Windows目录
当前目录
Path环境变量中列出的目录
伪造的DLL制作好后,放到程序目录下,这样当原程序调用原函数时就会优先调用了伪造的DLL文件,进入劫持DLL的代码。该文件也提供了和系统文件一样的输出表,并最终转向真正的系统文件。
Lpk.dll是系统关键文件之一,QQ启动时也要加载这个文件。在平时我们使用普通的键盘记录器记录的QQ密码是错误的,因为QQ的密码框使用了特殊的设计,保护密码安全。但是我制作了一个假冒的lpk.dll,这个文件能够通过Hook部分API函数解除对QQ密码框的保护。
先到http://www.kuaipan.cn/file/id_774356833665645.html下载键盘记录器及lpk.dll文件(只支持Windows XP系统)。然后将lpk.dll文件复制到QQ目录下(一般是C:\Program Files\Tencent\QQ\Bin文件夹。启动QQ,查看lpk.dll文件的调用情况。



这里显示QQ的两个进程加载了两个lpk.dll文件。别忘了,真正的lpk.dll文件最后也是要加载的。我们再看一下这两个文件的路径,一个是system32文件夹,一个是QQ目录。说明DLL劫持试验成功。
QQ加载的这个文件破坏了密码框的保护,在输入密码的时候,我们记录下了正确的密码。



所以为了断绝木马窃取密码的另一种方式,请修复该漏洞。

原创粉丝点击