NjRat样本分析报告
字数 2736 2025-08-07 08:22:29
NjRat木马样本分析教学文档
0x00 样本概述
NjRat(也称为BLADABINDI或Njw0rm)是一个功能强大的远程控制木马,具有键盘记录、DDoS攻击等多种功能。
样本基本信息
主样本:
- 文件名:
c46a631f0bc82d8c2d46e9d8634cc50242987fa7749cac097439298d1d0c1d6e-1603075107 - 类型: PE32 executable (GUI) Intel 80386, for MS Windows
- 大小: 1,178,304 bytes
- 哈希值:
- MD5: 62c01f1b2ac0a7bab6c3b50fd51e6a36
- SHA1: cfc301a04b9a4ffeb0dc4578c1998a4eb4754f7b
- SHA256: c46a631f0bc82d8c2d46e9d8634cc50242987fa7749cac097439298d1d0c1d6e
- SSDeep: 24576:HRmJkcoQricOIQxiZY1iagI+bpJBIAkPcJCqbVvi1N:sJZoQrbTFZY1iagTpVkybVqT
0x01 样本行为分析
执行行为
- 进程创建: 执行后会创建
Tr.exe子进程,一段时间后退出子进程 - 文件创建:
- 在
%TEMP%路径下创建Tr.exe和x.exe
- 在
- 注册表修改: 写入数据实现无文件自动执行
- 启动项创建: 创建名为
Microsoft.lnk的快捷方式指向恶意文件
0x02 详细技术分析
1. 查壳分析
使用Exeinfo查壳显示为Autoit v3脚本编译的可执行文件
2. 反编译分析
使用Exe2Aut工具对样本进行反编译(需反编译x.exe和Tr.exe)
2.1 x.exe分析
- 删除原有
Tr.exe并重新创建 - 验证文件创建成功后执行
Tr.exe - 将自身复制为
x.exe到%TEMP%目录 - 创建指向
x.exe的快捷方式Microsoft.lnk
横向传播方法:
while true
if 检测到可移动磁盘
获取U盘状态
if U盘已插好
复制恶意文件到U盘并设置为隐藏
删除U盘内原有文件
2.2 Tr.exe分析
- 样本名称: 25bc108a683d25a77efcac89b45f0478d9ddd281a9a2fb1f55fc6992a93aa830
- 类型: PE32 executable (GUI) Intel 80386, for MS Windows
- 大小: 915,456 bytes
- 哈希值:
- MD5: 4d3b21451ed0ee3ee65888d4c8944693
- SHA1: dcfec58ec8d9d8ec45d0b033db4462f1dafe5ab3
- SHA256: 25bc108a683d25a77efcac89b45f0478d9ddd281a9a2fb1f55fc6992a93aa830
- SSDeep: 12288:pCdOy3vVrKxR5CXbNjAOxK/j2n+4YG/6c1mFFja3mXgcjfRlgsUBga1T1W+MQ:pCdxte/80jYLT3U1jfsWahI+MQ
功能:
- 将Base64加密的数据写入注册表
- 解密后数据为PE文件(通过Shell命令可知)
3. 解密分析
使用HxD32将加密数据保存为exe文件进行分析
解密后样本信息:
- 样本名称: 8dbe3fc1131346a2162d940d2b351c060282c9ae93351327535b5b19a394883f-1603099974
- 类型: PE32 executable (GUI) Intel 80386 Mono/.Net assembly, for MS Windows
- 大小: 68,096 bytes
- 哈希值:
- MD5: 56c0630998c7b8af19a2d72f3315ef4c
- SHA1: 9346ec06f152c2386f8ad639cb90eab85ebdfc58
- SHA256: 8dbe3fc1131346a2162d940d2b351c060282c9ae93351327535b5b19a394883f
- SSDeep: 1536:RRFJykxKeA8nOhfrEBEQ7Oykx2blKpNDJ:LD+cWbYOJx2bIr
4. 解密后样本功能分析
- 样本家族: njRat
- 主要功能:
- 注册表操作
- 文件创建
- 与服务器建立通信
- 修改防火墙规则
- 键盘记录
- 获取计算机信息
- 屏幕截图
- 伪装为系统进程
详细功能:
-
信息收集:
- 查询注册表和调用系统函数获取计算机和操作系统信息
- 获取计算机驱动设备信息
-
持久化:
- 自我复制
- 修改防火墙规则
- 修改注册表实现自启动
- 创建开始菜单文件实现自启动
- 修改用户环境变量
-
进程保护:
- 将进程设置为系统关键进程(进程被杀导致系统蓝屏)
-
通信功能:
- 与服务器建立TCP连接(地址: "water-boom.duckdns.org:1177")
- 使用压缩算法压缩内存数据便于传输
-
监控功能:
- 屏幕截图
- 键盘记录(记录当前活动窗口标题及键盘操作)
- 将键盘记录保存为文件
-
清理功能:
- 实现程序清除和退出
0x03 样本执行流程
- 主样本执行
- 创建Tr.exe子进程
- 复制自身为x.exe到临时目录
- 创建启动项快捷方式
- 检测并感染可移动设备
- Tr.exe解密并执行核心功能
- 建立与C2服务器的连接
- 执行持久化和信息收集
- 等待并执行服务器指令
0x04 防御建议
-
检测指标:
- 文件哈希:
- 56c0630998c7b8af19a2d72f3315ef4c
- 4d3b21451ed0ee3ee65888d4c8944693
- 62c01f1b2ac0a7bab6c3b50fd51e6a36
- C2地址: water-boom.duckdns.org
- 文件哈希:
-
防护措施:
- 禁用Autoit脚本执行(如非必要)
- 监控临时目录的可疑文件创建
- 检查异常的注册表修改
- 限制对可移动设备的自动执行
- 监控异常的网络连接(特别是duckdns.org域名)
-
应急响应:
- 检查并删除%TEMP%下的Tr.exe和x.exe
- 删除Microsoft.lnk启动项
- 检查注册表自启动项
- 检查近期插入的可移动设备是否被感染
0x05 总结
NjRat样本分析表明:
- 使用Autoit脚本编译增加分析难度
- 采用多阶段加载方式(主样本->Tr.exe->解密后的核心模块)
- 通过U盘传播是重要感染途径
- 具备多种持久化技术
- 功能全面,包括信息收集、远程控制、键盘记录等
- 采用Base64加密核心模块
- 使用duckdns.org动态域名作为C2地址