导语:概要 近日,Palo Alto Networks Unit42团队宣布已经发现了一款名为“UBoatRAT”的新型自定义远程访问木马程序(RAT)。据悉,该木马程序的最初版本是2017年5月发现的,它是一款简单的HTTP后门程序,其利用香港公共博客服务,并在日本已经受
概要
近日,Palo Alto Networks Unit42团队宣布已经发现了一款名为“UBoatRAT”的新型自定义远程访问木马程序(RAT)。据悉,该木马程序的最初版本是2017年5月发现的,它是一款简单的HTTP后门程序,其利用香港公共博客服务,并在日本已经受到攻击的web服务器上构建C2服务器。不过,其开发人员很快就在源代码中添加了各种新功能,并在6月份发布了更新的版本。9月份发现的最新变种主要具有以下特点:
针对与韩国和电子游戏行业相关的个人或组织; 通过Google Drive云端硬盘分发恶意软件; 从GitHub获取C2服务器地址; 使用Microsoft Windows后台智能传输服务(BITS)保持持久性;
目标
在撰写本文时,我们还不明确该木马程序所针对的确切目标。但是,我们基于理论得出的猜测是:此次攻击的目标是与韩国或电子游戏行业有关的员工或组。假设的原因之一是攻击者在传递恶意软件时使用的文件名,其中包含韩国游戏名称、韩国游戏公司的名字以及一些电子游戏行业中使用的专业术语等;另一个原因是UBoatRAT只有在被入侵计算机加入活动目录(Active Directory)域时,才会在其上执行恶意操作。
以下是一些与UBoatRAT交付相关的文件名。前三个文件名是用韩语写的,且只包含一般的商业话题。最后一个文件名中包含未发行的游戏标题“Project W”以及韩国电子游戏公司的名字。
传输和植入
我们观察到来自Google Drive云端硬盘的多个UBoatRAT变体。据我们分析发现,并不是所有的链接都是有效的,但有些链接(包括下面的链接)是有效的。
【从Google云端硬盘下载的信息】
托管在Google Drive云端硬盘上的压缩文件中包含伪装成文件夹或Microsoft Excel电子表格的恶意可执行文件。UBoatRAT的最新版本于7月下旬或者更晚的时间发布,主要伪装成Microsoft Word文档文件。
【UBoatRAT伪装示例】
在执行操作时,UBoatRAT会检查受感染的机器上的以下两个条件:
检测虚拟化软件,如VMWare、VirtualBox或QEmu; 从网络参数获取域名;
如果该远程木马程序检测到虚拟环境存在或无法获取域名,则会显示以下虚假的错误信息提示并退出:
【虚假的错误消息】
否则,UBoatRAT会将自己复制为C: programdata svchost.exe,创建C: programdata init.bat并执行bat文件。然后显示以下信息提示并退出:
【安装后显示的虚假错误消息】
BITS持续传输
UBoatRAT通过使用Microsoft Windows后台智能传输服务(BITS)实现持久性。 BITS是一种在机器间传输文件的服务。虽然使用该服务最著名的应用程序是Windows Update,但其他应用程序或用户也可以使用该组件。Bitsadmin.exe是一个命令行工具,用户可以创建和监视BITS作业。该工具提供一个选项——/ SetNotifyCmdLine,当作业完成数据传输或出错时执行程序。 UBoatRAT利用该选项来确保它在系统上保持运行,即使在重新启动之后。
以下是init.bat的内容:在第二行,本地文件net.exe被指定传输到%temp%.log。完成复制本地文件后,BITS会执行第三行中配置了/ SetNotifyCmdLine的UBoatRAT文件。
bitsadmin /create d1f2g34bitsadmin /addfile d1f2g34 c:windowssystem32net.exe %temp%sys.log bitsadmin /SetNotifyCmdLine d1f2g34 “c:programdatasvchost.exe” “” bitsadmin /Resume d1f2g34 Del %0
即使计算机重新启动,BITS操作也会继续执行恶意软件。想要从列表中删除该操作,BITS需要调用“Complete”或“Cancel”。根据微软的文章指出,如果你没有“Complete”或“Cancel”调用,这项操作会默认执行90天。
C2通信和后门指令
UboadRAT 背后的攻击者将C2地址和目标端口隐藏在Github上的一个文件中,使用如下URL:
https://raw.githubusercontent[.]com/r1ng/news/master/README.md
该恶意软件访问URL并使用BASE64对字符串“[Rudeltaktik]”和字符“!”之间的字符进行解码。“Rudeltaktik”是德国军事术语,描述了二战期间的潜艇战争战略。
在下面的情况中,字符串可以解码为115.68.49[.]179:80:
[Rudeltaktik] MTE1LjY4LjQ5LjE3OTo4MA==!
UBoatRAT使用自定义命令和控制协议与攻击者的服务器进行通信。恶意软件在有效载荷或指令的顶部放置字符串“488”(十六进制中的0x34,0x38,0x38),并使用简单的XOR密码,用静态密钥0x88加密整个缓冲区。如此一来,网络负载便总是以0xBC,0xB0,0xB0进行启动。
一旦与C&C建立了一个隐藏通道,恶意软件就会等待来自攻击者的后门指令。
UBoatRAT的开发
在撰写本文时,我们已经确定了14个UBoatRAT样本和一个与攻击有关的下载程序。如上所述,大多数UBoatRAT样本都是从GitHub中检索C2地址。只有5月份发布的一个样本连接到香港的公共博客服务器,并将受损的日本合法web服务器用作C2服务器。该样本使用常规的HTTP协议进行通信。博客帐号“elsa_kr”早在2016年4月就已经存在了,只是目前没有发布任何有意义的内容。
【用作C2的香港公共博客服务器】
该恶意软件开发者在6月份发布了一个新版本,使用了各种新功能。这个新版本的早期版本从GitHub帐户“elsa999”拥有的存储库“uuu”中获得一个C2地址。在撰写本文时,“uuu”存储库已经被删除了。目前,它已经被另外三个存储库(“uj”、“hhh”以及“enm”)所取代,所有这些存储库都在账户中托管IP地址和端口的编码组合。
通过观察分析,我们发现该恶意软件开发者自7月以来经常更新这些文件。在进行快速分析之后,我们总结出这三个存储库可能主要是用于开发和测试的目的,原因如下:
他们使用不同的标记“### NEWS ###”来取代“[Rudeltaktik]”; 已编码的全局IP地址与已知的UBoatRAT示例不同; 开发者总是在短时间内将编码的地址换成本地主机(127.0.0.1);
【用于测试的GitHub帐户】
“elsa999”用户在其存储库中也有以下三个PowerShell脚本。这些脚本是由其他作者编写的,主要用于渗透测试目的:
gpp_autologon.ps1 gpp_pwd.ps1 wmi_scan.ps1
结论
尽管最新版本的UBoatRAT已于9月份发布,但是10月份在GitHub上我们已经看到了“elsa999”帐户的多个更新。开发者似乎正在大力开发和测试该木马威胁。对此,我们将继续监视这一行为的更新状态并进行及时报道。
最后,Palo Alto Networks建议其用户可以通过以下方式免受此次威胁的侵害:
本文讨论的所有样本已被“WildFire”和“Threat Prevention”识别为恶意软件; “Traps”可以阻止该报告中提到的恶意软件的执行; “AutoFocus”用户可对报告中提及的使用UBoatRAT的恶意软件进行跟踪;
点击查看完整报告