利用QEMU虚拟化构建隐蔽隧道:入侵分析与防御策略

本文详细分析了攻击者如何通过社会工程学手段结合QEMU虚拟化技术,在企业终端部署Tiny Core Linux虚拟机并尝试建立反向SSH隧道,探讨了其规避主机检测的技术细节及相应的防护措施。

隐藏在阴影中:通过QEMU虚拟化的隐蔽隧道

初始访问

此次入侵始于一次精心策划的语音钓鱼(vishing)攻击。攻击者通过Microsoft Teams联系用户,冒充IT支持团队。由于Teams默认允许外部通信,攻击者得以成功接入。

攻击者指导用户打开Quick Assist(Windows内置远程管理工具),并下载Zoho Meeting。随后,通过curl命令从攻击者控制的IP地址下载ZIP文件(updqem.zip)。由于缺乏遥测数据,具体curl命令未被捕获,但curl.exe进程的执行及文件引入被记录。

QEMU虚拟机部署

通过分析主机$MFT,发现ZIP文件解压到以下目录:

  • C:\ProgramData\update\
  • C:\ProgramData\update\update
  • C:\ProgramData\update\stl
  • C:\ProgramData\update\update\share
  • C:\ProgramData\update\stl\share

目录中包含两个QEMU可执行文件:

  • C:\ProgramData\update\stl\stl.exe
  • C:\ProgramData\update\tc.exe

以及两个VBS脚本:

  • C:\ProgramData\update\update\update.vbs
  • C:\ProgramData\update\stl\##_START_##.vbs

update.vbs使用Wscript shell执行tc.exe,并通过配置文件upd.conf传递虚拟机参数:

  • 内存:512MB
  • 镜像文件:tc.qcow2
  • 虚拟硬盘:IDE
  • 基本互联网访问

##_START_##.vbs则直接在命令行中明确配置参数,且使用更小的内存分配。

发现两个镜像文件:

  • C:\ProgramData\update\stl\tc.qcow2(首次引入)
  • C:\ProgramData\update\update\tc.qcow2(数日后引入)

SSH后门尝试

两个镜像文件均部署Tiny Core Linux虚拟机。通过bash历史记录,发现攻击者尝试构建后门。

首次尝试使用wget从攻击者控制端点(149.28.198[.]232)下载负载(123.out)。为确保持久性,攻击者编辑了以下文件:

  • bootlocal.sh:在启动时运行指定命令,创建循环ping攻击者端点(45.77.4[.]101),成功时执行123.out。
  • filetool.lst:定义重启后保留的文件和目录,包括home/tc(包含123.out)和opt目录。

数日后,攻击者尝试第二种方法,下载SSL和NoSSL工具,并编辑自定义脚本hostname.sh(生成随机主机名)。随后通过tc-load安装OpenSSH,并配置相关文件和目录以确保持久性。

最后,攻击者尝试建立反向SSH隧道到服务器(137.184.4[.]169)端口443,并通过以下方式规避取证:

  • 将已知主机信息存储到/dev/null
  • 禁用StrictHostKeyChecking

补救与预防

建议采取以下措施:

  1. 重新映像系统或没收设备,重置用户凭证。
  2. 限制Microsoft Teams的外部通信,实施租户白名单。
  3. 禁用或限制远程访问工具(如Quick Assist、Zoho Meeting)。
  4. 监控或限制未经授权的虚拟化软件(如QEMU、VirtualBox)。
  5. 审查防火墙策略,阻止出站SSH流量。
  6. 加强用户意识培训,识别未授权的远程管理工具。

IOCs

类型 描述
ZA_Connect.exe 文件名 Zoho Meeting Assist
8aa77293b0e26e2dc15ba912bc3e8c0a MD5 ZA_Connect.exe哈希
Tc.exe 文件名 QEMU软件
Stl.exe 文件名 QEMU软件
8697ff6c68e4d029b4980fed99f3ff96 MD5 Tc.exe & stl.exe哈希
##START##.vbs 文件名 QEMU设置脚本
a116b1ac07ba6f1286fbf12adbd6a29f MD5 ##START##.vbs哈希
Upd.conf 文件名 QEMU虚拟化参数
c4069197ac4dceb3ff4dd3e1155187a5 MD5 Upd.conf哈希
Update.vbs 文件名 QEMU设置脚本
dbe24234b231af446c655e3fbd2a694e MD5 Update.vbs哈希
Tc.qcow2 文件名 Tiny Core Linux镜像文件
834614dea627f85863124de17a6a5f47 MD5 Tc.qcow2哈希
3e4a502948e4fc8ac39dcd5c152b78e2 MD5 Tc.qcow2哈希
Hostname.sh 文件名 攻击者自定义脚本
D0A67FA9F13E7ED7B957F47C27EFA64B MD5 Hostname.sh哈希
123.out 文件名 潜在后门
BB21E569F67807596C6C1C8768B15A53 MD5 123.out哈希
82.118.16[.]49 IP地址 攻击者控制端点
137.184.4[.]169 IP地址 攻击者控制端点
143.28.198[.]232 IP地址 攻击者控制端点
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计