样本分析-DarkComet远控木马
字数 2012 2025-08-22 12:23:18
DarkComet远控木马技术分析与防御指南
1. DarkComet概述
DarkComet是一种功能强大的远程访问木马(RAT),具有以下主要特征:
- 隐蔽运行:以隐蔽方式在受害者系统中运行
- 信息窃取:收集系统数据、用户凭据、密码等敏感信息
- 持久控制:允许攻击者长期控制受感染设备
- 扩展功能:可安装其他恶意软件或将设备纳入僵尸网络
- 防御规避:能够禁用防病毒软件等安全功能
传播方式
- 与免费软件捆绑分发
- 伪装成电子邮件附件
- 利用网站软件漏洞攻击
2. 样本行为分析
2.1 规避检测技术
文件属性修改:
"C:\Windows\System32\cmd.exe" /k attrib "C:\Users\admin\AppData\Local\Temp\jPWRwWFD.exe" +s +h
- 使用
attrib命令添加系统(+s)和隐藏(+h)属性 - 目的:掩盖恶意文件的存在,避免被用户发现
进程权限提升:
- 通过修改进程权限获取更高系统权限
- 便于执行需要特权的恶意操作
2.2 文件释放与执行
典型释放路径:
C:\Users\admin\Documents\MSDCSC\msdcsc.exe
- 释放文件与原文件相同,实现多位置启动
- 增加清除难度,确保持久性
2.3 信息收集功能
硬件配置收集:
- 使用
GetCurrentHwProfileA()获取硬件配置文件 - 收集HWID(硬件唯一标识符)
- 检测坞站状态(dwDockInfo字段)
系统时间与位置:
- 获取设备日期和时间
- 查询注册表获取地理位置设置:
\REGISTRY\USER{SID}\Control Panel\International\Geo\Nation
3. 数据处理机制
3.1 数据解析函数
核心函数sub_4735E8负责:
- 管理恶意软件资源
- 处理关键数据元素:
- C2(命令与控制)域信息
- 用户SID(安全标识符)
- 互斥量值(确保单实例运行)
3.2 DARKCOMET数据结构
样本中包含的典型数据结构:
#BEGIN DARKCOMET DATA --
MUTEX ={ DC_MUTEX-D1SPNDG }
SID ={ Sazan }
FWB ={ 0 }
NETDATA ={ 8 .tcp.eu.ngrok.io:27791 }
GENCODE ={ fKTZRKdv0Nij }
INSTALL ={ 1 }
COMBOPATH ={ 7 }
EDTPATH ={ MSDCSC \\ msdcsc.exe }
KEYNAME ={ MicroUpdate }
EDTDATE ={ 16 /04/2007 }
PERSINST ={ 0 }
MELT ={ 0 }
CHANGEDATE ={ 0 }
DIRATTRIB ={ 6 }
FILEATTRIB ={ 6 }
FAKEMSG ={ 1 }
EF ={ 1 }
MSGCORE ={{ 42696C67697361796172FD6EFD7A20332073616E6979652069E7696E64652079656E6964656E206261FE6C6174FD6C6163616B74FD722E2E2E }
MSGICON ={ 48 }
SH1 ={ 1 }
CHIDEF ={ 1 }
CHIDED ={ 1 }
PERS ={ 1 }
OFFLINEK ={ 1 }
#EOF DARKCOMET DATA --
关键字段解析:
| 字段 | 说明 |
|---|---|
| MUTEX | 互斥量名称(DC_MUTEX-D1SPNDG) |
| NETDATA | C2服务器地址(.tcp.eu.ngrok.io:27791) |
| EDTPATH | 可执行文件路径(MSDCSC\msdcsc.exe) |
| KEYNAME | 注册表项名称(MicroUpdate) |
| EDTDATE | 文件创建日期(16/04/2007) |
| CHANGEDATE | 是否修改日期(0=不修改) |
4. 持久性机制
DarkComet采用多种技术确保在系统中的持久存在:
4.1 注册表修改
启动项添加:
SOFTWARE\Microsoft\Windows\CurrentVersion\Run\MicroUpdate
- 指向恶意可执行文件路径
- 实现开机自启动
WinLogon修改:
\REGISTRY\MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\UserInit
- 确保用户登录时自动运行
4.2 文件属性保留
CHANGEDATE=0:不修改投放文件的原始创建日期- 避免引起怀疑,增强隐蔽性
5. 恶意行为API分析
5.1 用户输入模拟
鼠标控制:
- 使用
mouse_event函数模拟:- 鼠标移动
- 按钮点击
键盘模拟:
- 使用
keybd_event函数模拟键盘输入 - 可在用户不知情下执行操作
5.2 键盘记录功能
键盘类型检测:
GetKeyboardType(0)
- 返回7表示Unicode键盘
- 适应不同键盘布局
按键状态捕获:
- 获取256个虚拟键的状态
- 使用
VkKeyScanA(ch)将字符转换为虚拟键码 - 精确记录用户输入
5.3 显示设备枚举
- 使用
EnumDisplayDevicesA获取显示设备信息 - 可能用于屏幕截图或界面适配
5.4 剪贴板监控
- 访问剪贴板数据,特别是0xE格式(EMF)
- 窃取复制的图像或文本内容
6. 防御与检测建议
6.1 检测指标
文件特征:
- 常见路径:
AppData\Local\Temp和Documents\MSDCSC - 文件名:
msdcsc.exe或随机名称(如jPWRwWFD.exe) - 具有系统+隐藏属性
进程特征:
- 可疑的cmd.exe调用attrib命令
- 修改注册表启动项的行为
网络特征:
- 连接ngrok等隧道服务的异常流量
- 与已知C2域(.tcp.eu.ngrok.io)通信
6.2 防护措施
-
权限控制:
- 限制用户权限,避免管理员权限滥用
- 监控注册表敏感位置修改
-
行为监控:
- 检测异常的文件属性修改
- 监控键盘记录和屏幕捕获行为
-
网络防护:
- 阻止与ngrok等隧道服务的异常连接
- 监控异常外发数据
-
终端防护:
- 保持防病毒软件更新
- 启用行为检测功能
-
用户教育:
- 警惕不明来源的软件和邮件附件
- 定期检查系统启动项
7. 分析工具推荐
-
静态分析:
- IDA Pro/Ghidra:逆向分析二进制
- PEiD/Exeinfo PE:检测加壳情况
-
动态分析:
- Process Monitor:监控文件/注册表操作
- Wireshark:分析网络流量
- API Monitor:跟踪API调用
-
内存分析:
- Volatility:检测内存中的恶意代码
-
行为分析:
- Cuckoo Sandbox:自动化恶意行为分析
通过全面了解DarkComet的技术细节和防御方法,可以有效提升对此类远控木马的检测和防护能力。