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 样本行为分析

执行行为

  1. 进程创建: 执行后会创建Tr.exe子进程,一段时间后退出子进程
  2. 文件创建:
    • %TEMP%路径下创建Tr.exex.exe
  3. 注册表修改: 写入数据实现无文件自动执行
  4. 启动项创建: 创建名为Microsoft.lnk的快捷方式指向恶意文件

0x02 详细技术分析

1. 查壳分析

使用Exeinfo查壳显示为Autoit v3脚本编译的可执行文件

2. 反编译分析

使用Exe2Aut工具对样本进行反编译(需反编译x.exeTr.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. 解密后样本功能分析

  1. 样本家族: njRat
  2. 主要功能:
    • 注册表操作
    • 文件创建
    • 与服务器建立通信
    • 修改防火墙规则
    • 键盘记录
    • 获取计算机信息
    • 屏幕截图
    • 伪装为系统进程

详细功能:

  1. 信息收集:

    • 查询注册表和调用系统函数获取计算机和操作系统信息
    • 获取计算机驱动设备信息
  2. 持久化:

    • 自我复制
    • 修改防火墙规则
    • 修改注册表实现自启动
    • 创建开始菜单文件实现自启动
    • 修改用户环境变量
  3. 进程保护:

    • 将进程设置为系统关键进程(进程被杀导致系统蓝屏)
  4. 通信功能:

    • 与服务器建立TCP连接(地址: "water-boom.duckdns.org:1177")
    • 使用压缩算法压缩内存数据便于传输
  5. 监控功能:

    • 屏幕截图
    • 键盘记录(记录当前活动窗口标题及键盘操作)
    • 将键盘记录保存为文件
  6. 清理功能:

    • 实现程序清除和退出

0x03 样本执行流程

  1. 主样本执行
  2. 创建Tr.exe子进程
  3. 复制自身为x.exe到临时目录
  4. 创建启动项快捷方式
  5. 检测并感染可移动设备
  6. Tr.exe解密并执行核心功能
  7. 建立与C2服务器的连接
  8. 执行持久化和信息收集
  9. 等待并执行服务器指令

0x04 防御建议

  1. 检测指标:

    • 文件哈希:
      • 56c0630998c7b8af19a2d72f3315ef4c
      • 4d3b21451ed0ee3ee65888d4c8944693
      • 62c01f1b2ac0a7bab6c3b50fd51e6a36
    • C2地址: water-boom.duckdns.org
  2. 防护措施:

    • 禁用Autoit脚本执行(如非必要)
    • 监控临时目录的可疑文件创建
    • 检查异常的注册表修改
    • 限制对可移动设备的自动执行
    • 监控异常的网络连接(特别是duckdns.org域名)
  3. 应急响应:

    • 检查并删除%TEMP%下的Tr.exe和x.exe
    • 删除Microsoft.lnk启动项
    • 检查注册表自启动项
    • 检查近期插入的可移动设备是否被感染

0x05 总结

NjRat样本分析表明:

  1. 使用Autoit脚本编译增加分析难度
  2. 采用多阶段加载方式(主样本->Tr.exe->解密后的核心模块)
  3. 通过U盘传播是重要感染途径
  4. 具备多种持久化技术
  5. 功能全面,包括信息收集、远程控制、键盘记录等
  6. 采用Base64加密核心模块
  7. 使用duckdns.org动态域名作为C2地址
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 横向传播方法 : 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地址