一、木马技术架构解析
1.1 核心组件构成
该木马采用模块化设计,主要包含三个可执行文件:
- 主控模块(NOTEPD.EXE):负责进程注入与持久化
- 通信模块(QOSRSVP.EXE):实现C2服务器指令接收
- 执行模块(QQLDR.EXE):解析并执行恶意操作
通过Delphi语言开发的该木马,利用Windows API函数实现系统级操作。其进程注入技术采用远程线程注入方式,通过CreateRemoteThread将恶意代码注入到explorer.exe进程空间,有效规避安全软件的进程监控。
1.2 持久化机制
木马通过修改三处关键注册表项实现开机自启:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]"SecurityCenter"="C:\\Windows\\System32\\NOTEPD.EXE"[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]"Userinit"="C:\\Windows\\System32\\userinit.exe,C:\\Windows\\System32\\QOSRSVP.EXE"[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List]"QQLDR"="C:\\Windows\\System32\\QQLDR.EXE:*:Enabled:QQLDR"
同时修改系统文件属性,将自身设置为隐藏+系统文件,并通过ACL修改阻止普通用户删除操作。
二、攻击链路详解
2.1 初始感染阶段
木马通过以下途径传播:
- 社交工程攻击:伪装成QQ相关工具的安装包
- 漏洞利用:针对旧版QQ客户端的缓冲区溢出漏洞
- 网络共享传播:通过SMB协议自动渗透内网设备
感染后首先执行环境检测,通过调用GetVersionEx判断操作系统版本,针对不同系统版本采用差异化的注入策略。
2.2 核心攻击模块
2.2.1 聊天记录监控
木马通过Hook QQ进程的以下API实现监控:
ReadFile:拦截聊天记录读取操作SendMessageW:捕获窗口消息RegQueryValueExW:监控注册表变更
采用正则表达式匹配特定指令模式:
// 指令匹配逻辑示例function MatchCommand(const Msg: string): Boolean;beginResult := Pos('*()', Msg) > 0 or // 添加管理员指令Pos('#&*', Msg) > 0 or // 重启系统指令Pos('#&&', Msg) > 0; // 强制关机指令end;
2.2.2 指令执行机制
当检测到特定指令时,执行以下操作:
| 指令模式 | 执行动作 | 系统调用 |
|————-|————-|————-|
| () | 创建管理员账户 | NetUserAdd + NetLocalGroupAddMembers |
| #& | 强制重启 | ExitWindowsEx(EWX_REBOOT, 0) |
| #&& | 立即关机 | InitiateSystemShutdownEx |
2.3 防御规避技术
- 进程隐藏:通过NtSetInformationThread隐藏主线程
- 文件保护:使用VirtualProtectEx修改内存页属性
- 通信加密:采用RC4算法加密C2通信数据
- 反调试技术:检测IsDebuggerPresent及CheckRemoteDebuggerPresent
三、检测与防御方案
3.1 静态检测特征
-
文件特征:
- 三个可执行文件大小固定为102,400字节
- 导入表包含
advapi32.dll、netapi32.dll等特定库 - 资源段包含加密的配置数据块
-
注册表特征:
- Run项中存在SecurityCenter键值
- FirewallPolicy下存在异常授权应用
3.2 动态检测方法
3.2.1 行为监控
监控以下系统调用序列:
1. RegCreateKeyExW (HKEY_LOCAL_MACHINE\SOFTWARE\...)2. RegSetValueExW (创建自启项)3. CreateProcessWithTokenW (提权操作)4. NetUserAdd (创建用户)
3.2.2 内存分析
通过Volatility框架提取进程内存,搜索以下特征字符串:
loveshadow(硬编码账户名)QQLDR.EXE(模块名)- RC4加密算法的S-box特征
3.3 应急响应流程
-
隔离阶段:
- 立即断开网络连接
- 终止explorer.exe进程(需谨慎操作)
-
清除阶段:
# 示例清除脚本$malwarePaths = @("C:\Windows\System32\NOTEPD.EXE","C:\Windows\System32\QOSRSVP.EXE","C:\Windows\System32\QQLDR.EXE")foreach ($path in $malwarePaths) {if (Test-Path $path) {Takeown /f $pathIcacls $path /grant administrators:FDel /f $path}}
-
修复阶段:
- 重置所有用户密码
- 修复注册表授权项
- 更新系统补丁至最新版本
四、防御体系构建建议
4.1 终端防护方案
- 部署基于行为分析的EDR解决方案
- 启用应用程序控制白名单
- 配置严格的UAC策略(级别设置为”始终通知”)
4.2 网络防护措施
- 部署下一代防火墙,限制SMB协议外联
- 配置DNS安全扩展(DNSSEC)防止域名欺骗
- 实施网络分段,隔离关键业务系统
4.3 运维管理建议
- 建立定期安全审计制度
- 实施最小权限原则
- 开展安全意识培训,重点防范社交工程攻击
该木马变种展示了现代恶意软件在系统级攻击方面的技术演进,其采用的进程注入、注册表劫持和指令解析等技术具有典型性。安全团队需要建立多层次的防御体系,结合静态特征检测与动态行为分析,才能有效应对此类威胁。建议企业用户定期进行安全评估,及时更新防御策略,确保系统安全。