njRAT分析
简介
njRAT,也称为Bladabindi或者Njw0rm,是一种远程木马,用于远程控制受感染的计算机。是由名为Sparclyheason的地下黑客社区成员制作,使用微软.NET框架开发。于2013年6月首次被发现,并经常用于攻击中东的目标。它可以通过网络钓鱼和外部USB驱动器进行传播。
RedPacket Security 将 njRAT 描述为:“远程访问木马 (RAT) 具有记录击键、访问受害者的相机、窃取浏览器中存储的凭据、打开反向Shell、上传/下载文件、查看受害者的桌面、执行进程、文件、和注册表操作,以及让攻击者更新、卸载、重启、关闭、断开 RAT 并重命名其活动 ID 的能力。通过命令与控制 (CnC) 服务器软件,攻击者有能力创建和配置恶意软件以进行传播通过 USB 驱动器。”
主要功能包括:
- 抓取屏幕
- 远程执行shell
- 键盘记录
- 窃取浏览器中保存的密码
- 文件、进程、服务、注册表的操作
- 摄像头、麦克风监控
主程序,即控制端
此次选择的是njRAT的0.7d版本
打开软件,首先需要选择程序的监听端口,默认为5552。然后就会进入程序主界面,如下图

主界面主体显示上线的受害主机信息,并可以对相应主机进行操作。下方分别设置了四个模块,分别为Logs、Builder、Settings、About。
| Logs | 显示记录的日志 |
|---|---|
| Builder | 用于创建远控程序及远控程序相关设置 |
| Settings | 一些设置,包括远程桌面显示大小、日志的参数、照相机和麦克风的设置等 |
| About | 描述当前软件的信息 |
当受控端上线时,控制端会自动弹出提示信息。
受控端,即RAT木马
木马主体代码结构,如下图
木马的相关配置
木马入口Main函数调用了Ok类的ko方法

通过创建互斥体来实现单实例运行

根据配置拷贝自身到相应目录并运行,关闭Windows文件安全认证机制

添加防火墙白名单,设置自启动

开启通信线程和键盘记录线程

键盘记录功能函数

OK类的RC方法负责与C2连接,并执行C2发来的指令

针对不同指令进行处理

指令具体如下

流量特征
Base64 加 |’|’|

njRAT分析
http://wangchenchina.github.io/2022/11/18/njRAT分析/