APT37分析之Final1stspy
字数 2076 2025-08-24 16:48:16
APT37 Final1stspy 恶意软件分析报告
样本基础信息
- 样本名称: Final1stspy (Dropper)
- 样本类型: PE32 executable (DLL) (GUI) Intel 80386, for MS Windows
- 样本大小: 244224 bytes
- 哈希值:
- MD5: 0dd50c4a5aa9899504cb4cf95acd981e
- SHA1: 38f28bfce4d0b2b497e6cf568d08a2b6af244653
- SHA256: 2011b9aa61d280ca9397398434af94ec26ddb6ab51f5db269f1799b46cf65a76
技术分析
反调试技术
-
调试器检测:
- 使用
IsDebuggerPresent函数检测是否被调试 - 使用
GetStartupInfo检测程序是否正在被调试
- 使用
-
运行时加载DLL:
- 采用运行时加载DLL的方法(
LoadLibrary和GetProcAddress),绕过基于导入表的检测
- 采用运行时加载DLL的方法(
加密与编码
- 使用Base64编码和SHA1哈希算法
- 包含自定义的解密函数(位于c30函数)
COM组件利用
- WMI操作:
- 通过
CoCreateInstance创建COM组件 - 使用CLSID
dc12a687-737f-11cf-884d-00aa004b2e24调用WMI相关功能 - 具体操作:
ConnectServer连接WMI服务ExecQuery执行WMI查询
- 通过
持久化机制
- 通过注册表实现自启动:
- 解密得到"rundll32"字符串
- 在
SOFTWARE\Microsoft\Windows\CurrentVersion\Run写入自启动项
反监控技术
- 枚举进程并与以下安全工具进程名匹配:
Ollydbg.exe idaq.exe gmer.exe IceSword.exe wireshark.exe tcpview.exe procexp.exe peview.exe cff explorer.exe - 发现匹配进程则终止它们
网络通信
-
C2通信:
- 解密域名和HTTP头特征信息
- 发送HTTP请求
- 仅当响应状态码为200且以"selfsign"开头时才继续执行
-
DNS拦截:
- 在本地设置监听
- 拦截DNS请求
进程注入技术
- 进程替换:
- 创建一个正常进程
- 使用
VirtualAllocEx为恶意代码分配内存 - 使用
WriteProcessMemory写入恶意代码 - 使用
SetThreadContext重定向执行流 - 使用
ResumeThread执行恶意代码
关联分析
-
家族归属:
- 通过PDB路径匹配确认属于Final1stspy家族
- 代码复用和特殊字段匹配进一步确认
-
相关域名:
- kmbr1[.]nitesbr1[.]org
- URL: http[:]//kmbr1[.]nitesbr1[.]org/UserFiles/File/image/index.php
IOC (Indicator of Compromise)
- 哈希值: 2011b9aa61d280ca9397398434af94ec26ddb6ab51f5db269f1799b46cf65a76
- 域名: kmbr1[.]nitesbr1[.]org
- URL: http[:]//kmbr1[.]nitesbr1[.]org/UserFiles/File/image/index.php
MITRE ATT&CK 映射
| 技术ID | 技术名称 | 描述 |
|---|---|---|
| T1060 | Registry Run Keys / Startup Folder | 通过注册表实现持久化 |
| T1047 | Windows Management Instrumentation | 使用WMI执行操作 |
| T1087 | Account Discovery | 账户发现 |
| T1055 | Process Injection | 进程注入技术 |
| T1085 | Rundll32 | 使用rundll32执行恶意代码 |
| T1175 | Component Object Model and Distributed COM | 使用COM组件 |
| T1022 | Data Encrypted | 数据加密 |
| T1057 | Process Discovery | 进程发现/枚举 |
检测与防御建议
-
检测建议:
- 监控注册表
Run键的异常修改 - 检测异常的WMI查询操作
- 监控rundll32的异常调用
- 检测进程注入行为(特别是VirtualAllocEx+WriteProcessMemory+SetThreadContext组合)
- 监控对安全工具进程的终止尝试
- 监控注册表
-
防御建议:
- 限制WMI的访问权限
- 启用进程行为监控
- 部署EDR解决方案检测进程注入
- 阻止与已知恶意域名的通信
- 定期更新安全工具签名
-
取证建议:
- 检查注册表自启动项
- 分析WMI事件日志
- 检查异常进程创建记录
- 收集网络通信日志,特别关注与IOC域名的连接