DLL Hijacking Exploit

简介:

 前几天 exploit-db 数据库中公布了 长达 3 页的本地漏洞,全是:DLL Hijacking Exploit。详情可以参考:http://www.exploit-db.com/local/,那么什么是 DLL Hijacking Exploit? 是什么原因造成的 DLL Hijacking Exploit 呢? 下面我给简单说一下原因:

一、环境变量执行优先级

说起该漏洞,先谈一下变量的优先级别:

最高

%userprofile%

%systemroot%/system32

%systemroot%

用户定义path

最低

二、软件兼容性原因导致漏洞产生

Windows 操作有不同的操作系统,而不同的操作系统里面有不同的 共享链接库(dll),这就造成了不一致,有的库XP才有,有的库win7才有,有的或者直接废弃掉了,而软件必须兼容这些,这就给 DLL Hijacking Exploit 攻击带来了可称之机。首先看一张图:

image

当我打开 2222.docx 文档的时候,默认会调用  winword.exe 进程打开文件,然后寻找共享链接库(dll),这里我们抓到的是:imeshare.dll、IMM32.DLL。可以看到,winword 会通过上面提到的环境变量优先级来查找dll 的位置,如果存在就加载该dll 文件。根据上面的图可以看到如下顺序:

程序安装目录—》system32 目录—》注册表的images file execution options 映象路径à 加载。

在每一步寻找dll 的时候,如果存在就马上加载。根据“有的库XP才有,有的库win7才有,有的或者直接废弃掉了”这个原因,我们就理由说:我们可以劫持攻击。攻击思路如下:“如果某一系统中废弃掉了某一个 dll 文件,而软件又要为了兼容系统,还会寻找 dll,这时候,我们就可以在他寻找的某一路径中(可以为最终路径,也就是当前目录),写入我们的恶意dll 文件,让其加载执行code

三、实施攻击

前提条件:

1、  软件启动时需要加载一个 dll 。

2、  软件需要的 dll 在系统中不存在(因为不同系统环境不同,很多dll已经废弃)。

3、  一个编译好的恶意dll,示例代码如下:

#include <windows .h>
 
int hax()
 
{
 
WinExec(&quot;calc&quot;, 0);
 
exit(0);
 
return 0;
 
}
 
BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason, LPVOID lpvReserved)
 
{
 
hax();
 
return 0;
 
}
</windows>

 

攻击:

在 winword.exe 启动时会调用 imeshare.dll,如果系统中不存在,就会在某一系统环境变量指定的路径中寻找,现在我们把制作好的 imeshare.dll 放在 doc 文档的当前目录,然后当 word 启动时,就会加载我们的恶意dll,执行恶意code。

所需要的文件。

漏洞执行成功!

四、其他软件利用

五、劫持总结

a)         Javascript Hijacking

b)         Linux shell Hijacking

c)         images file execution options hijack

d)         DLL Hijacking

e)         …..

f)          Windows shell Hijacking

所有造成劫持的原因都来源于:某个东西可被覆盖!!

 

思考:在其他地方是否可被劫持呢? 思想? 大脑?









本文转hackfreer51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/575499,如需转载请自行联系原作者

相关文章
badusb exploit
https://github.com/adamcaudill/Psychson
609 0
powershell exploit toolkit
https://github.com/OneGet/oneget https://github.
750 0
powershell exploit post-framework
https://github.com/mattifestation/PowerSploit
601 0
|
XML API 数据格式
f5 icontrol exploit
http://wenku.baidu.com/link?url=awoYxUopvjR9miMvaVQvgtpGDUMmjilVlaHfOuUBEliyFC7SJl-F0Pc05E_6vnB...
693 0
|
SQL 安全 Unix
WebApp exploitation with Arachni and Metasploit
http://www.milsec.net/metasploit%e5%ba%94%e7%94%a8/41.html arachni作为一款开源的扫描软件,在判断web脚本漏洞上的效率和精确度还是让人称赞的,arachni作为一款主流的开源扫描软件,当然要跟随趋势,可以很好的和metasploit配合使用,通过msf plugin,与metasploit达到无缝对接。
1011 0
|
Web App开发 JavaScript 安全
Server-Side XSS Attack Detection with ModSecurity and PhantomJS
Client-Side JS Overriding Limitations In a previous blog post, I outlined how you could use ...
1033 0
SSRF pentest
https://docs.google.com/document/d/1v1TkWZtrhzRLy0bYXBcdLUedXGb9njTNIJXa3u9akHM/edit# ...
686 0
|
Web App开发 前端开发 JavaScript
HTTP Response Splitting and XSS vulnerabilities in IBM Lotus Domino
I want to warn you about HTTP Response Splitting and Cross-Site Scripting vulnerabilities in IBM Lotus Domino.
1005 0