NjRat样本分析报告
0x00 概述
在周末闲暇无聊网上冲浪的时候,发现了有人求助分析一款木马的帖子,这不得来分析一手?我随即下载文件,放入虚拟机,然后。。。。开了一把游戏。
虐菜局,作为菜菜的我,很被虐。打完开始分析。
待分析的木马是BLADABINDI,也称为njRat/Njw0rm,是一个远控,功能上也是很强大,从键盘记录到DDos。样本的信息如下:
样本名称
c46a631f0bc82d8c2d46e9d8634cc50242987fa7749cac097439298d1d0c1d6e-1603075107
样本类型
PE32 executable (GUI) Intel 80386, for MS Windows
样本大小
1178304
MD5
62c01f1b2ac0a7bab6c3b50fd51e6a36
SHA1
cfc301a04b9a4ffeb0dc4578c1998a4eb4754f7b
SHA256
c46a631f0bc82d8c2d46e9d8634cc50242987fa7749cac097439298d1d0c1d6e
SSDeep
24576:HRmJkcoQricOIQxiZY1iagI+bpJBIAkPcJCqbVvi1N:sJZoQrbTFZY1iagTpVkybVqT
0x01简要分析
然后执行程序,看一下样本执行行为。
1、执行其他程序:样本在执行后,会创建Tr.exe 子进程并在执行一段时间后退出子进程。
2、创建文件:样本在执行后会在%TEMP% 路径下创建Tr.exe 文件和x.exe 文件。
3、注册表修改:在注册表写入数据实现无文件自动执行。
4、创建启动项链接:创建名为Microsoft.lnk 的快捷方式指向恶意文件。
0x02详细分析
1、将文件托到Exeinfo 查壳
显示是Autoit v3 脚本编译。
2、使用Exe2Aut 工具对样本进行反编译(此处需要反编译的程序有x.exe(样本复制体),Tr.exe)
2.1、对样本x.exe的反编译,很清晰地看到脚本代码。
2.2、对样本Tr.exe的反编译,这里使用的是base64 对数据进行加密。
先对 x.exe 进行分析
- 首先程序会删除原本的Tr.exe 文件并重新创建Tr.exe,在完成创建后会判断目标文件是否真的已经创建并在返回正确结果后执行Tr.exe.
- 接着程序会将自身复制为x.exe并于%TEMP% 路径下生成,然后创建指向x.exe 的快捷方式Microsoft.lnk
- 这里实现了恶意文件横向传播的方法,首先定义一个while true 循环,然后在通过检测可移动磁盘是否存在,在确定插入U盘后,获取U盘状态并在确定U盘插好的情况下将恶意文件复制并设置为隐藏。同时,还会对U盘内的文件进行删除等操作。
对Tr.exe 的分析
样本名称
25bc108a683d25a77efcac89b45f0478d9ddd281a9a2fb1f55fc6992a93aa830
样本类型
PE32 executable (GUI) Intel 80386, for MS Windows
样本大小
915456
MD5
4d3b21451ed0ee3ee65888d4c8944693
SHA1
dcfec58ec8d9d8ec45d0b033db4462f1dafe5ab3
SHA256
25bc108a683d25a77efcac89b45f0478d9ddd281a9a2fb1f55fc6992a93aa830
SSDeep
12288:pCdOy3vVrKxR5CXbNjAOxK/j2n+4YG/6c1mFFja3mXgcjfRlgsUBga1T1W+MQ:pCdxte/80jYLT3U1jfsWahI+MQ
Tr.exe 功能相对较为单一,将加密后的数据写入到注册表
通过代码分析,得出加密方式使用Base64,数据应该是PE文件(通过Shell 命令可知)
解密:
使用HxD32 将加密数据存放为exe,并且对exe 进行基础分析
对解密后的样本进行分析:
样本名称
8dbe3fc1131346a2162d940d2b351c060282c9ae93351327535b5b19a394883f-1603099974
样本类型
PE32 executable (GUI) Intel 80386 Mono/.Net assembly, for MS Windows
样本大小
68096
MD5
56c0630998c7b8af19a2d72f3315ef4c
SHA1
9346ec06f152c2386f8ad639cb90eab85ebdfc58
SHA256
8dbe3fc1131346a2162d940d2b351c060282c9ae93351327535b5b19a394883f
SSDeep
1536:RRFJykxKeA8nOhfrEBEQ7Oykx2blKpNDJ:LD+cWbYOJx2bIr
1、样本家族:njRat
2、样本功能:
○注册表操作
○创建文件
○和服务器建立通信
○修改防火墙规则
○键盘记录
○获取计算机信息
○屏幕截图
○伪装为系统进程
对解密后的样本进行详细功能分析:
- 通过查询注册表和调用系统函数获取计算机和操作系统信息
- 使用压缩算法将内存数据进行压缩,便于向服务器发送
- 通过调用系统函数获取计算机驱动设备信息
- 样本对自己进行复制并通过命令修改防火墙规则,同时修改注册表实现自动启动,创建开始菜单文件,实现自动启动
- 创建复制体
*修改用户环境变量、防火墙配置
*修改注册表,复制自己到开始菜单
- 实现截取屏幕操作
6. 实现与服务器建立通信,并且接受服务器命令
- 将进程设置为系统关键进程,进程一旦被杀,系统进入蓝屏进行错误检查,保证程序正常执行
- 与服务器建立TCP连接,主机地址:"water-boom.duckdns.org:1177"
- 实现对程序的清除和退出
- 获取当前活动窗口的标题,用于键盘记录器记录当前键盘操作所属的程序
- 将截取的键盘操作存放为文件
样本执行流程
0x03总结
这个样本总体上比较简单,也比较利于分析,本身没有多少反调试和混淆的操作。通过这个样本也可以看到,在日常工作中最常使用的U盘一不注意可能就是病毒木马传播的媒介。
IOC:
water-boom.duckdns.org
56c0630998c7b8af19a2d72f3315ef4c
4d3b21451ed0ee3ee65888d4c8944693
62c01f1b2ac0a7bab6c3b50fd51e6a36
- 本文作者: tutuj
- 本文来源: 奇安信攻防社区
- 原文链接: https://forum.butian.net/share/1404
- 版权声明: 除特别声明外,本文各项权利归原文作者和发表平台所有。转载请注明出处!