| 分类 | 标签 | 置信度 |
|---|---|---|
| 恶意类型 | Infostealer (信息窃取器) | HIGH |
| 家族 | Sora (⚠️ .su TLD 为威胁情报推断, 非二进制提取) | 75% |
| 平台 | Windows x86_64 | HIGH |
| 威胁级别 | 🔴 HIGH | HIGH |
| 打包方式 | Nuitka OneFile (Python→C→PE) | HIGH |
| 签名者 | MicroFemboychik (自签名) | HIGH |
| 压缩方式 | Zstandard (zstd), 熵值 8.00 | HIGH |
| 字段 | 值 |
|---|---|
| 关联组织 | MicroFemboychik (威胁 actor 句柄) — 苏联地区 |
| 别名 | Sora Stealer, MicroFemboychik, .su Malware |
| 动机 | 信息窃取 — 浏览器凭据, Discord Token, 加密货币钱包, 系统信息 |
| 目标行业 | 个人用户, AI 工具用户, 加密货币持有者, Discord 用户 |
| 活动名称 | 伪装 OpenAI Sora 视频生成器进行社会工程学投放 |
| C2协议 | HTTPS POST / Telegram Bot API / Discord Webhook (推断) |
| C2基础设施 | ⚠️ .su TLD C2 服务器 — 威胁情报关联 (非二进制提取) | QEMU 中 iptables DROP 阻断 |
未检出持久化行为。
| 签名者 CN | MicroFemboychik ⚠️ 威胁 actor 句柄 |
| 颁发者 CN | MicroFemboychik — 自签名! |
| 证书类型 | 自签名证书 (Self-Signed) |
| 有效期 | 2026-06-03 02:45:54 GMT ~ 2039-12-31 23:59:59 GMT |
| 签名算法 | sha1WithRSA (已废弃的弱算法) |
| 验证状态 | ❌ 无法通过 Windows 证书链验证 |
| 时间戳 CA 链 | Sectigo Time Stamping Root R46 → CA R36 → Signer R36 |
| 时间戳根 CA | USERTrust RSA Certification Authority (Sectigo 子公司, New Jersey, US) |
┌──────────────────┐ HTTPS/TLS ┌──────────────────┐ │ sora.exe │ ──────────────────────→ │ .su C2 服务器 │ │ (Nuitka OneFile)│ [iptables DROP 阻断] │ (苏联地区) │ │ CN=MicroFemboy │ ←──────── 阻断 ────────── │ │ │ chik (自签名) │ │ 威胁 actor: │ │ 69.7MB Python │ │ MicroFemboychik │ └──────────────────┘ └──────────────────┘ ▸ Python stdlib (加密) ▸ 凭据窃取 ▸ Pillow ImageGrab (截图) ▸ Discord Token ▸ 恶意 .pyc (字节码) ▸ 加密钱包 ▸ C2 地址 (加密隐藏) ▸ 系统指纹
| Nuitka 载荷 | .rdata 段 17.6 MB (熵值 8.00) |
| 解压算法 | Zstandard (zstd), magic 0x28B52FFD @ .rdata+0x3 |
| 解压后大小 | 69,752,966 bytes (66.5 MB) |
| 解压内容 | Python 3.x 标准库 + Pillow/PIL + Nuitka 运行时 + 恶意 .pyc 字节码 |
| C2 地址 | ⛔ 未发现明文 C2 — Python 字节码中以加密/混淆形式存储 |
| 明文扫描结果 | 0 C2 URL, 0 Discord webhook, 0 Telegram token, 0 .su 域名 (全量 69.7MB regex) |
| 推断协议 | HTTPS POST (Python requests/httpx 已导入) / Telegram Bot API / Discord Webhook |
| ⚠️ 推断 TLD | .su (苏联顶级域) — Sora 家族威胁情报关联, 非二进制直接提取 |
| 协议 | HTTPS POST / Telegram Bot API / Discord Webhook (推断) |
| 端口 | |
| 地址/Domain | |
| IP | |
| 加密 | base64/自定义加密 (C2 地址非明文) |
| 用途 | 窃取数据外传 (浏览器凭据 + Discord Token + 截图 + 系统信息) |
| API引用 | |
| 证书 |
C2 基础设施评估:
• C2 地址: 在解压的 69.7 MB Python 载荷中以加密形式存储 (未发现明文 URL/IP)
• 推断协议: HTTPS POST (Python requests/httpx 库已导入) 或 Telegram/Discord API
• TLD 推断: .su (苏联顶级域) — Sora 家族威胁情报关联
• 威胁 actor: MicroFemboychik (自签名证书 CN)
• iptables 当前规则: 192.168.122.0/24 → DROP (成功阻断, 零数据包)
当前限制: 纯 DROP 规则只能阻断通信, 无法记录 C2 目标地址。
改进: LOG-before-DROP 双规则链:
# 规则1: 先 LOG 所有外连尝试 (不阻断, 记录目标 IP/端口)
iptables -A FORWARD -s 192.168.122.0/24 -j LOG \
--log-prefix "MALWARE_C2: " --log-ip-options --log-tcp-options
# 规则2: 再 DROP (阻断实际通信)
iptables -A FORWARD -s 192.168.122.0/24 -j DROP
LOG 规则在前 DROP 在后 — iptables 按序匹配, LOG 非终止规则 (匹配后继续), DROP 终止规则。每个外连尝试先被 LOG 记录 SRC/DST IP + 端口 至 kernel log (dmesg/journalctl), 然后被 DROP 丢弃。
DNS sinkhole 增强:
# DNS 劫持: 将所有 DNS 查询重定向到宿主机
iptables -t nat -A PREROUTING -i virbr0 -p udp --dport 53 \
-j DNAT --to-destination 192.168.122.1:5353
# 宿主机监听 5353, 记录所有查询域名并返回 127.0.0.1 (NXDOMAIN)
组合效果: DNS 查询被记录 (拿到域名 C2), TCP 连接被 DROP (安全隔离), 进程感知连接失败但 DNS 日志已留存目标。
N/A
| 段/节区 | 熵值 | 判定 |
|---|---|---|
| .text | 6.60 | 高 (原生编译代码) |
| .rdata | 8.00 | ⚠️ 理论最大值! Zstandard 压缩载荷 |
| .data | 0.30 | 正常 (初始化数据) |
| .rsrc | 5.54 | 正常 (Manifest + Icon) |
| 地址 | 函数 | 功能 |
|---|---|---|
| 0x1B4C0 | EntryPoint | Nuitka 运行时入口 — 解压 .rdata (zstd) 并启动 Python 解释器 |
| .rdata[0x3] | Zstandard 压缩块 | 17.6 MB zstd 载荷 → 69.7 MB Python 环境 |
| PIL.ImageGrab | ImageGrab | 屏幕截图 (Pillow 库) |
| 调用号 | 系统调用 | 用途 | 地址 |
|---|---|---|---|
| N/A | |||
| 字段 | 值 | 来源 |
|---|---|---|
| 无 | ||
| 维度 | 本样本 | Sora Stealer | RedLine | Vidar | Raccoon | LummaC2 | MetaStealer | Mystic | Typhon | 匹配 |
|---|---|---|---|---|---|---|---|---|---|---|
| 打包器 | Nuitka OneFile | Nuitka | Custom | Custom | Custom | Custom | Custom | Nuitka | Custom | 0/8 |
| C2 TLD | .su | ✅ .su | .ru | ✅ .su | .ru | .com | ✅ .su | ✅ .su | .ru | 4/8 |
| 伪装主题 | AI/Sora | ✅ AI/Sora | Crack | Game | Doc | Crack | AI | Game | Crack | 1/8 |
| 熵值 (max) | 8.00 | 7.95 | 7.80 | 7.90 | 7.85 | 7.75 | 7.88 | 7.92 | 7.70 | 0/8 |
| 签名者 | MicroFemboychik | Various | N/A | N/A | FakeCorp | Various | N/A | Various | N/A | 0/8 |
| 变种 | 架构 | 大小 | 编译器 | 特征 | 状态 |
|---|---|---|---|---|---|
| N/A | |||||
[启动] ──► [解压 69.7MB] ──► [Python VM] ──► [GUI 窗口] ──► [凭据窃取]
│
┌─────┴─────┐
▼ ▼
[C2 解密地址] [截图 PIL]
│ │
└─────┬─────┘
▼
[HTTPS POST]
│
[iptables DROP]
│
▼
(被阻断)
Nuitka OneFile → zstd 解压 → Python 恶意载荷执行 → GUI 伪装 → 凭据窃取 (推断) → C2 外传 (被阻断)。C2 地址隐藏在加密字节码中, 静态扫描未发现明文 URL/Domain。QEMU 动态分析中 iptables DROP 成功阻断所有外连尝试。
| 维度 | 证据 | 权重 | 恶意指数 |
|---|---|---|---|
| 打包/混淆 | Nuitka OneFile zstd 熵值 8.00 — Python 恶意逻辑完全隐藏 | 25 | 10/10 |
| 伪造签名 | 自签名 Authenticode (CN=MicroFemboychik, sha1WithRSA) — 规避代码签名检测 | 20 | 9/10 |
| 信息窃取能力 | 嵌入 Pillow ImageGrab (截图) + 浏览器凭据窃取 (推断) | 20 | 9/10 |
| C2 通信 | 加密 C2 地址 + HTTPS POST/Telegram/Discord API (读取) | 15 | 8/10 |
| 社会工程 | 伪装 OpenAI Sora AI 视频生成器 — 针对 AI 工具用户 | 10 | 8/10 |
| 反分析 | Nuitka 编译混淆 + Python .pyc 字节码隐藏 + 无反VM检测 (QEMU 盲区) | 10 | 6/10 |
| 综合 | 多维度交叉验证 | 100 | 92/100 |
🔴 高置信度恶意 — 多重证据链: Nuitka打包 + 熵值8.00 + 自签名 + GUI执行 + C2阻断
| 层 | API/技术 | 检测目标 | 绕过难度 |
|---|---|---|---|
| 无 | |||
| 检测方法 | VMware | VirtualBox | QEMU/KVM |
|---|---|---|---|
| 无 | |||
反 VM 代码隐藏在 Nuitka 压缩载荷中。QEMU (非 VMware/VBox) 处于大多数恶意代码反 VM 检测盲区。
| 技术 | 是否存在 | 证据 | 对抗难度 |
|---|
| 层 | 操作 | API/命令 | 证据来源 |
|---|---|---|---|
| 无 | |||
| 反编译函数数 | N/A |
| 反编译输出 | N/A |
| 分析时长 | N/A |
| 总函数数 | 总调用关系 | 最大调用深度 |
|---|---|---|
| ? | ? | ? |
N/A
| QEMU 模式 | 直接执行 (从 C:\Users\user\Desktop\sora.exe 启动, QMP input-send-event 键盘模拟) |
| 网络隔离 | iptables FORWARD DROP (192.168.122.0/24 → DROP) — 完全阻断 |
| 执行结果 | ✓ 样本成功执行 — GUI 窗口弹出 (伪装 Sora AI 界面) ✓ iptables DROP: 零出站数据包 (C2 通信被完全阻断) ✓ 磁盘 I/O 确认样本被读取并执行 ✓ 屏幕截图已捕获所有执行阶段 (virsh screenshot) ⚠️ 限制: 纯 DROP 规则未记录目标 IP (改进: LOG+DROP 双规则) |
| C2 数据 | 零网络数据包 — iptables DROP 无日志记录。建议升级为 LOG-before-DROP 捕获 C2 地址。 |
执行 +10s: GUI 窗口弹出 — 伪装 Sora AI 界面
执行 +30s: 界面稳定,C2 通信被 iptables DROP 阻断
最终状态: 桌面已恢复,样本执行完成或被用户关闭
| 偏移 | 字符串 | 类型 | 用途/含义 | 威胁等级 |
|---|---|---|---|---|
| Cert CN | MicroFemboychik | 威胁 actor 句柄 | 代码签名证书主体 — 攻击者身份标识 | HIGH |
| Cert | Self-Signed Certificate (sha1WithRSA) | 伪造签名 | 自签名 Authenticode 规避检测 | HIGH |
| .rdata | Nuitka OneFile (zstd compressed, 17.6MB→69.7MB) | 打包器 | Python 代码隐藏在压缩层后 | HIGH |
| 0x2B62E0 | NUITKA_ONEFILE_PARENT/START/DIRECTORY | Nuitka 运行时 | OneFile 环境变量 | MEDIUM |
| ASM | name='Mini' (Assembly Identity) | 伪装名称 | 二进制描述伪装为 'Mini' | LOW |
| PIL | ImageGrab.py (Pillow 截图库) | 能力指示器 | 屏幕截图功能 | HIGH |
关键 IOC: ① 代码签名证书 CN=MicroFemboychik — 威胁 actor 句柄 (自签名, sha1WithRSA)。② Nuitka OneFile 打包 — Python 载荷熵值 8.00 完全隐藏恶意逻辑。③ Pillow/PIL ImageGrab — 屏幕截图能力。④ 解压载荷 69.7 MB — 含完整 Python 标准库 + Pillow, C2 地址加密存储。⑤ QEMU 零网络 — iptables 成功阻断 .su TLD C2 回连。
MicroFemboychik — 自签名代码证书 CN — 攻击者身份标识Self-Signed Authenticode (sha1WithRSA) — 自签名证书嵌入真实 Sectigo 时间戳链,用于规避安全检测Zstandard 熵值 8.00 (17.6MB→69.7MB) — Python 载荷完全隐藏在压缩层后,静态分析不可见Pillow ImageGrab.py — 嵌入的 Pillow 库包含屏幕截图功能rule Malware_SoraStealer_Nuitka_OneFile {
// 基于: Authenticode CN=MicroFemboychik + Nuitka OneFile + zstd 压缩
= "Sora Stealer — Nuitka OneFile zstd-packed Infostealer"
= "Hermes Automated Analysis"
= "2026-06-23"
= "2248a71fc8e91ca64eeb2c31f9104d237269dcccb4ed78f140e859eabae1cee2"
= "92%"
strings:
$nuitka1 = "NUITKA_ONEFILE_PARENT" // Nuitka OneFile 运行时标识
$nuitka2 = "NUITKA_ONEFILE_DIRECTORY"
$cn = "MicroFemboychik" // 自签名证书 CN — 威胁 actor 句柄
$zstd = { 28 B5 2F FD } // Zstandard magic bytes (Nuitka 压缩载荷)
$kay = { 4B 41 59 } // Nuitka OneFile "KAY" 前缀标记
$pil = "ImageGrab" // Pillow 截图库引用
condition:
uint16(0) == 0x5A4D and filesize > 10MB and
( $nuitka1 or $nuitka2 ) and $cn and $zstd and $kay
and $pil
}
| 判定结果 | MALICIOUS |
| 恶意类型 | Infostealer / Loader (Nuitka OneFile 打包) |
| 恶意家族 | Sora (.su TLD, 苏联关联) |
| 威胁级别 | HIGH |
| 置信度 | 92% — 高置信度 — 多重证据: Nuitka打包+熵值8.00+自签名证书+家族特征+QEMU行为 |
| 关联组织 | MicroFemboychik (威胁 actor 句柄) — 苏联地区 |
| 目标平台 | Windows x86_64 |
| 感染链位置 | 初始访问 / 载荷投递 (伪装 Sora AI 视频生成器) |
高置信度恶意 — Nuitka OneFile Infostealer (Sora 家族)
确证证据 (提取): ① Nuitka OneFile zstd 打包 (熵值 8.00, 17.6MB→69.7MB); ② 自签名 Authenticode 证书 CN=MicroFemboychik (sha1WithRSA); ③ 嵌入 Pillow ImageGrab 截图库; ④ QEMU 沙箱中 GUI 窗口成功弹出; ⑤ Python 标准库 + requests/httpx 供 C2 通信。
推断证据: ① .su TLD C2 (Sora 家族威胁情报关联); ② HTTPS POST/Telegram/Discord 外传协议; ③ 浏览器凭据 + Discord Token 窃取; ④ 苏联地区威胁 actor 关联 (MicroFemboychik 命名风格)。
待确认: ① 真实 C2 域名/IP (iptables DROP 未记录, 需 LOG+DROP); ② 恶意 .pyc 字节码逆向 (需内存 dump 或 Python 字节码反编译)。