AsyncRAT
AsyncRat 样本分析
1. 样本信息
AsyncRat
是一种远程访问工具 (RAT
),旨在通过安全的加密连接远程监视和控制其他计算机。它是一个开源远程管理工具,因此它也可能被恶意使用,AsyncRat
可以通过鱼叉式网络钓鱼、恶意广告、漏洞利用工具包和其他技术等多种方式进行交付。
ioc
类别 | 特征值 |
---|---|
MD5 | 0ab8714feb584bd232ed461615d4cfac |
SHA1 | 649e98ae73a023a5892ac0f9eec2988119299e91 |
SHA256 | 5da9e7a1817e5ac56efd07be9ce8d943f443707cbcb0d8a22e9b065b451c56dd |
C2 | money14.ddns.net:5555 |
2. 样本分析
2.1. 自动休眠
恶意程序会根据配置进行休眠:
当前样本的配置为3s
:
2.2. 初始化设置
恶意程序内存在加密字符串,将通过AES256
解密字符串:
其中关键字符串整理如下:
名称 | 值 |
---|---|
Key | QGjeYaXwfNBH8Fh4Udv9UB6mz2EU1Zvo |
Ports | 5555 |
Hosts | money14.ddns.net |
Version | 0.5.7B |
Install | false |
MTX | AsyncMutex_6SI8O89Q |
Pastebin | null |
Anti | false |
BDOS | false |
Group | Default |
Hwid | A3B53DC9D45BCF299437 |
其中Hwid
是由处理器数量,当前用户名,NetBIOS
名称,OS
版本号及系统卷磁盘大小组成的字符串经过定制的Hash
计算得出:
Hash
计算函数如下:
为防止配置字符串被篡改,恶意程序还进行了一次自校验:
2.3. 创建互斥体
恶意程序会创建一个名为AsyncMutex_6SI8O89Q
的互斥体:
2.4. 反分析技术
当Anti
为true
时,将调用Anti_Analysis.RunAntiAnalysis()
进行反分析操作,其中包含了:虚拟机检测、调试检测、沙箱检测、磁盘空间检测、XP
系统检测,一旦满足其中一条,将终止自身进程:
恶意程序会在系统制造数据中检测是否包含VIRTUAL
、vmware
或VirtualBox
字段:
通过NativeMethods.CheckRemoteDebuggerPresent()
检测当前进程是否正在被调试:
通过检测沙箱的动态链接库SbieDll.dll
是否存在,判断是否在杀向中运行:
判断系统卷磁盘大小是否大于61000000000B
大约56.8GB
:
判断操作系统是否为xp
:
2.5. 设置自启动
当Install
为true
时,将执行NormalStartup.Install()
函数,将判断当前文件完整路径是否为%AppData%/svchost.exe
,如果不是则杀掉进程中的svchost.exe
项:
其中InstallFolder
和InstallFile
数值如下:
然后判断当前是否是admin
权限,如果是,则调用cmd执行下列命令,添加最高运行等级的开机自启计划任务:
cmd /c schtasks /create /f /sc onlogon /rl highest /tn "svchost.exe" /tr '"%AppData%/svchost.exe"' & exit
如果不是admin
权限,则修改注册表(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\
)实现开机自启:
接着会判断%AppData%/svchost.exe
是否存在,存在则删除,然后读取当前执行文件字节,写入生成%AppData%/svchost.exe
:
完成自我复制后,如果当前执行权限是admin
则通过调用RtlSetProcessIsCritical
关闭进程保护,关闭互斥锁,解除SslClient
和TcpClient
客户端连接:
然后创建一个临时的.bat
文件并向其中写入命令,启动%AppData%/svchost.exe
,然后自我删除。当所有指令执行完成后退出:
2.6. 切换至特殊模式运行
调用Process.EnterDebugMode()
将进程以特殊模式运行:
2.7. 构建 Socket 通信
如果Pastebin
为null
,构建TcpClient
连接域名money14.ddns.net
,端口5555
:
如果Pastebin
不为null
,则解析Pastebin
结构,连接指定域名端口:
当成功构建Socket
通信连接,将以初始化设置
中解密的ServerCertificate
证书进行加密通信:
首先发送的数据报文结构如下:
3. 参考资料
https://labs.k7computing.com/index.php/github-home-to-asyncrat-backdoor/
https://app.any.run/tasks/51782c07-64b8-4c8c-b5ba-66a04fa2a61e/
https://www.virustotal.com/gui/file/5da9e7a1817e5ac56efd07be9ce8d943f443707cbcb0d8a22e9b065b451c56dd