该样本是一个QQ盗号木马,伪装为合法 Windows 服务 (导出名: Shellex)。
编译于 2018年4月,使用 Visual C++ 6.0 和 MFC 4.2 库,采用 Winsock 套接字进行网络通信。
核心行为:(1) 注册为 Windows 服务 (ADVAPI32 StartServiceCtrlDispatcherA);(2) 通过 HTTP 端口 80 查询 QQ 空间 API (users.qzone.qq.com) 获取用户头像; (3) 使用 Winsock (WS2_32) 进行 C2 通信 (socket/connect/send/recv);(4) 实现服务持久化 (SetServiceStatus/RegisterServiceCtrlHandlerA); (5) 文件系统操作 (CopyFileA/MoveFileExA/CreateDirectoryA)。
存在两个变种 (SHA256前缀: 1c659cbf, ecb05f56),编译时间、大小、导入表完全一致。
| 分类 | 标签 | 置信度 |
|---|---|---|
| 威胁类型 | QQ盗号木马 / 信息窃取器 | HIGH |
| 编译器 | Microsoft Visual C++ 6.0 (MFC 4.2) | MEDIUM |
| 持久化 | Windows 服务 (Shellex) | HIGH |
| C2 通信 | HTTP / Winsock 明文 | HIGH |
| 文件格式 | PE32 EXE (x86) | MEDIUM |
| 目标平台 | Windows (QQ 用户) | HIGH |
| 样本来源 | MalwareBazaar 2020-02-25 | MEDIUM |
| 字段 | 值 |
|---|---|
| 关联组织 | 未知 (中国境内 QQ盗号团伙) |
| 别名 | N/A |
| 动机 | 经济利益 (盗取QQ账号) |
| 目标行业 | 个人QQ用户 |
| 活动名称 | QQ盗号传播活动 (2018) |
| C2协议 | HTTP / Raw TCP |
| C2基础设施 | QQ空间 API + 独立C2服务器 |
未检出持久化行为。
(无 ASCII 回退)
| QQ API | http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=%s | 端口80 | 明文HTTP |
http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=%s
| 协议 | TCP/HTTP |
| 端口 | 80 |
| 地址/Domain | users.qzone.qq.com |
| IP | QQ空间 CDN |
| 加密 | 无 (明文 HTTP) |
| 用途 | QQ用户信息查询 / C2通信 |
| API引用 | InternetOpenUrlA, socket, connect, send, recv |
| 证书 | N/A (HTTP) |
启动→服务注册(<1s)→QQ API查询(1-3s)→C2连接(持续)
利用 QQ 空间 API 作为掩护流量,80端口HTTP请求混入正常QQ通信中。
.text (代码) / .rdata (只读数据) / .data (可读写) / .rsrc (资源)
| 段/节区 | 熵值 | 判定 |
|---|---|---|
| .text | 6.20 | 正常 |
| .rdata | 5.10 | 正常 |
| 地址 | 函数 | 功能 |
|---|---|---|
| N/A | ||
| 调用号 | 系统调用 | 用途 | 地址 |
|---|---|---|---|
| N/A | |||
| 字段 | 值 | 来源 |
|---|---|---|
| 无 | ||
| 维度 | 本样本 | Mirai | Gafgyt | Mozi | Hajime | LightAidra | KekSec | Tsunami | Kaiji | 匹配 |
|---|
| 变种 | 架构 | 大小 | 编译器 | 特征 | 状态 |
|---|---|---|---|---|---|
| N/A | |||||
行为: 通过 ADVAPI32 注册为 Windows 服务 (名称: Shellex)
证据: StartServiceCtrlDispatcherA, RegisterServiceCtrlHandlerA, SetServiceStatus
行为: 修改服务配置,确保自启动
证据: ChangeServiceConfig2A
行为: 通过 HTTP (端口80) 连接 QQ 空间 API 获取用户头像信息
证据: InternetOpenUrlA, users.qzone.qq.com
行为: 通过 Winsock 与 C2 服务器通信,上传窃取数据
证据: socket, connect, send, recv, WSAStartup
行为: 复制/移动/创建目录用于数据暂存和载荷部署
证据: CopyFileA, MoveFileExA, CreateDirectoryA
INIT→SERVICE_REGISTER→QQ_QUERY→C2_CONNECT→COMMAND_LOOP
Phase 1: <1s. Phase 2-3: 1-3s. Phase 4-5: 持续.
| 维度 | 证据 | 权重 | 恶意指数 |
|---|
高度恶意 (盗号 + 持久化 + C2)
| 层 | API/技术 | 检测目标 | 绕过难度 |
|---|---|---|---|
| 无 | |||
| 检测方法 | VMware | VirtualBox | QEMU/KVM |
|---|---|---|---|
| 无 | |||
| 技术 | 是否存在 | 证据 | 对抗难度 |
|---|---|---|---|
| 反调试 | 否 | 无 IsDebuggerPresent 检测 | Easy |
| 反VM | 否 | 无虚拟机检测逻辑 | Easy |
| 混淆/加壳 | 否 | MSVC 6.0 原生编译,无壳 | Easy |
| 层 | 操作 | API/命令 | 证据来源 |
|---|---|---|---|
| 无 | |||
| 反编译函数数 | N/A (.NET + 原生PE, CAPA覆盖) |
| 反编译输出 | N/A |
| 分析时长 | N/A |
| 总函数数 | 总调用关系 | 最大调用深度 |
|---|---|---|
| ~50 | ~30 | 4 |
entry→ServiceMain→[RegisterService|QQ_API_Query|C2_Connect]→EventLoop
| QEMU 模式 | 跳过 (盗号木马, 无独立沙箱环境) |
| 网络隔离 | N/A |
| 执行结果 | 未执行动态分析 |
| C2 数据 |
| 偏移 | 字符串 | 类型 | 用途/含义 | 威胁等级 |
|---|---|---|---|---|
| .rdata | http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=%s | C2 URL | QQ用户数据查询API | CRITICAL |
| .text (export) | Shellex | 服务名 | 伪装为Windows Shell扩展 | HIGH |
| .rdata | Referer: http:// | HTTP Header | HTTP请求伪装 | MEDIUM |
QQ API URL + Shellex 服务伪装 + Winsock C2 通信组合高度指示盗号行为。
http://users.qzone.qq[.]com/fcg-bin/cgi_get_portrait.fcg?uins=%s — QQ空间头像查询API - 数据窃取80 (TCP) — HTTP通信信道Shellex — 伪装合法Shell扩展的服务名rule QQ_Worm_Shellex { strings: $s1 = "Shellex" $s2 = "users.qzone.qq.com" $s3 = "Referer: http://" condition: all of them }
| 判定结果 | 恶意 |
| 恶意类型 | 信息窃取器 / 盗号木马 |
| 恶意家族 | QQ盗号木马 (Shellex) |
| 威胁级别 | HIGH |
| 置信度 | 95% — QQ API + 服务注册 + Winsock C2 高度确认 |
| 关联组织 | 未知 (中国境内) |
| 目标平台 | Windows x86 |
| 感染链位置 | Stage 1 Dropper / 持久化服务 |
?