RATDispenser+STRRAT
RATDispenser + STRRAT 样本分析
样本信息
RATDispenser
用于在启动辅助恶意软件以建立对受感染设备的控制之前在系统上获得初始立足点。调查发现RATDispenser
主要用作投放器(在 94% 的分析样本中),这意味着恶意软件不会通过网络通信来传递恶意负载。恶意软件家族的多样性(其中许多可以从地下市场免费购买或下载),以及恶意软件运营商放弃其有效载荷的偏好,表明RATDispenser
的作者可能在恶意软件即服务的商业模式下运营。
本次分析的RATDispenser
样本释放的是STRRAT
恶意载荷,STRRAT
是一种基于Java
的RAT
,它广泛使用插件来为攻击者提供完全的远程访问,以及凭据窃取、密钥记录和其他插件。RAT
的重点是通过键盘记录窃取浏览器和电子邮件客户端的凭据以及密码。
ioc
类别 | 特征值 |
---|---|
MD5 | 57f40bda9c26cac45157ae7502cceecd |
SHA1 | 6af4aa184cb1eb93feb2f3c75cd482fab518c316 |
SHA256 | 026b19fdc75b76cd696be8a3447a5d23a944a7f99000e7fae1fa3f6148913ff3 |
C2 | 147.182.174.188 [str-master.pw] |
样本分析
样本释放
该样本采用的是外挂js
形式,打开js
代码可以看到一些混淆和解密函数:
为了便于阅读,首先美化一下代码:
从其中提取出核心代码,可以看到最终解密出来的内容如下:
二次释放
按照执行流程将进行一次base64解码
然后用eval
加载到内存中,解码后美化得出如下数据:
首先会新建一个脚本文件用于关闭Windows Defender
:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows Defender]
"DisableAntiSpyware"=dword:00000001
然后解密释放本地文件到%temp%
、%appdata%
:
STRRAT 分析
最终获取到随机命名的jar
文件:
反混淆
其中大量引用了StringBuilder()
符合STRRAT
特征,由于字符串经过了混淆,接下来使用java-deobfuscator进行反混淆。
首先新建一个detect.yml
来设定检测路径:
input: xskush.jar
detect: true
然后使用命令:java -jar deobfuscator.jar --config detect.yml
,检测混淆方式:
从上面可以得出混淆方式为:com.javadeobfuscator.deobfuscator.transformers.allatori.StringEncryptionTransformer
新建一个config.yml
,指定输出文件名及混淆方式:
input: xskush.jar
output: xskush_output.jar
transformers:
- com.javadeobfuscator.deobfuscator.transformers.allatori.StringEncryptionTransformer
执行命令:java -jar deobfuscator.jar --config config.yml
,生成去混淆后的文件:
分析
在main
函数中,会检测部分jar
文件是否存在:
寻找上下文发现其下载链接如下:
https://repo1.maven.org/maven2/net/java/dev/jna/jna/5.5.0/jna-5.5.0.jar
https://repo1.maven.org/maven2/net/java/dev/jna/jna-platform/5.5.0/jna-platform-5.5.0.jar
https://repo1.maven.org/maven2/org/xerial/sqlite-jdbc/3.14.2.1/sqlite-jdbc-3.14.2.1.jar
https://github.com/kristian/system-hook/releases/download/3.5/system-hook-3.5.jar
向下发现C2
节点配置代码,由于arrayOfString1
为空,最终的C2
为http://str-master.pw/strigoi/server/ping.php?lid=***
:
观察其它类,发现了一些命令执行代码:
获取进程和启动文件列表,窃取缓存密码等等操作:
还配备了按键记录:
操作注册表功能:
获取空闲时间:
参考资料
https://threatresearch.ext.hp.com/javascript-malware-dispensing-rats-into-the-wild/
https://www.jaiminton.com/reverse-engineering/strrat#
https://app.any.run/tasks/0c4909de-827d-4164-9ee8-0cbffe97aef5/