NetWire是一种远程访问木马(RAT,Remote Access Trojan),已经被广泛使用了多年。
最近,FortiGuard实验室发现了一种通过网络钓鱼电子邮件传播的恶意软件。分析表明,它正是NetWire RAT的新变种。
正通过钓鱼邮件传播的NetWire RAT新变种图1展示的就是网络钓鱼电子邮件中的一个示例,它的底部包含一张带有超链接的图片。一旦点击,就会导致一个恶意文件被下载到计算机上。
图1.包含图片的网络钓鱼电子邮件示例
如你所见,恶意文件的下载链接为“hxxps[:]//www[.]mediafire[.]com/file/d86hz5qj21lmhrb/PROFORMA-INVOICE_0990.7z/file”。
下载的文件是一个.7z压缩文件,NetWire RAT的新变种就包含在其中。
解压缩后,你会得到一个名为“PROFORMA-INVOICE 0990.exe”的可执行文件。
图2.解压缩.7z文件
NetWire RAT新变种的反分析技术FortiGuard实验室表示,这个新的NetWire RAT变种是采用MS Visual Basic编译的,且使用了多种反分析技术。
1.动态地将恶意代码提取到内存中并执行,这使得静态分析变得非常困难;
2.在安装完成后,并不会运行,直到受害者移动鼠标(通过对比鼠标光标的位置来实现),此技术被指用于反沙箱。
如图3所示,这个NetWire RAT新变种会通过两次调用API USER32.GetCursorPos()来获取鼠标光标的位置,然后对他们进行比较。
如果两次位置是相同的,则表明受害者没有移动鼠标,它则会停止运行,并在休眠一定时间后再次检查,直到位置不同为止。
图3.检查受害者是否移动了鼠标
3.调用API ntdll.ZwGetContextThread来获取当前线程上下文结构,以获取受感染计算机的CPU调试寄存器状态,此技术被指用于反调试。
首先,如果调试器设置了硬件断点,那么CPU寄存器中的Dr0、Dr1、Dr2、Dr3、Dr6和Dr7就不再为“0”。
其次,寄存器EAX是一个API地址,这个NetWire RAT新变种会在运行时检查地址是否是0CC、3CD和0B0F,因为这是软件断点(Int 3)的操作码。
一旦触发上述条件之一,这个NetWire RAT新变种就会跳转到一个随机地址,以终止运行。然后,一个崩溃小窗口将弹出,如图4所示:
图4.触发反调试
4. 与大多数恶意软件一样,这个NetWire RAT新变种会生成自身的挂起子进程,然后修改其内存和线程上下文数据,如OEP值。
当一切准备就绪后,父进程将恢复子进程并退出。如此一来,这个NetWire RAT新变种的真实代码就将覆盖子进程中的现有代码,然后在子进程中执行,这会使得对它的分析变得异常困难。
NetWire RAT新变种子进程分析首先,这个NetWire RAT新变种会通过调用API WSAStartup()来初始化几个全局变量和Windows套接字。紧接着,它会解密一些加密的字符串。
接下来,它会查看当前的可执行文件是否位于正确的文件夹(%AppData%\Install)中以及是否具有正确的文件名(Host.exe)。如果不是,它则会将文件重新放置到“%AppData%\Install”并将其重命名为“Host.exe”。
然后,它将运行重新放置的文件并退出当前进程,并再次执行上述所有过程。
图5.重新放置的文件
为了实现持久性,这个NetWire RAT新变种会创建一个注册表项(HKCU\SOFTWARE\NetWire),以实现随受感染系统的重启而自动运行。
图6.恶意软件将自身添加到系统注册表的“自运行”组中
同时被创建的还有一个日志文件夹,被用于存储从受感染系统收集的信息,位于“%AppData%\Logs”。
此外,还会通过调用这个NetWire RAT新变种_beginthreadex()函数来执行一个线程,以实现按键记录功能(记录受害者的所有键盘动作、时间,以及受害者正在键入的内容)。
图7.键盘记录日志文件
与命令和控制(C2)服务器通信这个NetWire RAT新变种的C2服务器为“gbam0001.duckdns[.]org:3366”,目前处于关闭状态。
分析显示,一旦建立起了通信,C2服务器就会发来一个编号为“9B”的命令,而这个NetWire RAT新变种则会用一个名为“Task_Fun()”的函数来进行处理(将收集的信息上传到C2服务器)。
图8. 将收集的信息上传到C2服务器
通过对数据包的分析,FortiGuard实验室发现这个NetWire RAT新变种从受感染系统中搜集了以下信息:
如上所述,函数Task_Fun()被用于处理来自C2服务器的命令,并为一个命令调用一个子过程。
分析显示,它共有80多个子程序。这也就意味着,除了“9B”命令外,它还可以处理来自C2服务器的80多个命令:
在完成上述操作后,这个NetWire RAT新变种会将收集到的所有数据上传到C2服务器。
,版权声明:xxxxxxxxx;
工作时间:8:00-18:00
客服电话
电子邮件
扫码二维码
获取最新动态