2020年9月,Palo Alto Networks 的网络安全研究人员开始对科威特一家组织的Microsoft Exchange服务器进行调查,该组织在持续的xHunt攻击中受到攻击组织的持续攻击。研究人员在这项调查中发现了两个新的后门,分别称为TriFive和Snugy,以及一个名为BumbleBee的新Webshell漏洞,研究人员将在此文中对其进行详细说明。
攻击者使用BumbleBee WebShell在受感染的Exchange服务器上上传文件或从受感染的Exchange服务器上下载文件,但更重要的是,运行攻击者用来发现其他系统并横向移动到网络上其他服务器的命令。研究人员发现BumbleBee托管在internal Internet Information Services (IIS) Web服务器上,该Web服务器与受感染的Exchange服务器位于同一网络上,还托管在其他两个科威特组织的两个内部IIS Web服务器上,研究人员目前仍然不知道用于攻击Exchange服务器的初始感染媒介。
研究人员观察到,该攻击者直接与科威特组织受感染的Exchange服务器上的BumbleBee Webshell交互,因为可以从Internet上访问该服务器。当直接访问可访问Internet的服务器上的BumbleBee时,攻击者使用了Private Internet Access提供的虚拟专用网络(VPN)。攻击者会经常在不同的VPN服务器之间切换,以更改服务器将存储在日志中的活动的外部IP地址。具体来说,攻击者将IP地址更改为不同的国家,包括比利时、德国、爱尔兰、意大利、卢森堡、荷兰、波兰、葡萄牙、瑞典和英国。研究人员认为,这是在逃避检测并使恶意活动的分析更加困难的尝试。研究人员还观察到攻击者在不同的操作系统和浏览器之间切换,尤其是在Windows 10,Windows 8.1或Linux系统上的Mozilla Firefox或Google Chrome。这表明攻击者可以访问多个系统,并使用它来使活动分析更加困难,或者涉及多个攻击者,他们对操作系统和浏览器的偏好不同。
除了使用VPN外,攻击者还使用SSH隧道与托管在内部IIS Web服务器上的BumbleBee Webshell进行交互,而这三个科威特组织都无法直接通过Internet进行访问。通过BumbleBee在服务器上执行的命令表明,攻击者使用PuTTY链接(Plink)工具创建SSH隧道来访问受感染网络内部的服务。研究人员观察到攻击者使用Plink为TCP端口3389创建SSH隧道,这表明攻击者使用隧道使用远程桌面协议(RDP)访问系统。研究人员还观察到攻击者在为TCP端口80创建到内部服务器的SSH隧道,这表明攻击者使用隧道来访问内部IIS Web服务器。研究人员相信攻击者可以访问这些其他内部IIS Web服务器,以利用内部Web应用程序中的文件上传功能来安装BumbleBee,作为横向移动的一种方法。
BumbleBee Webshell
参与xHunt活动的攻击组织入侵了科威特组织的Exchange服务器,并安装了一个研究人员称为BumbleBee的WebShell。研究人员将Webshell称为BumbleBee(大黄蜂),是因为Webshell的配色方案包括白色、黑色和黄色,如图1所示,BumbleBee非常简单。它允许攻击者执行命令,以及向服务器上传文件和从服务器上传文件。 BumbleBee有趣的部分是,它要求攻击者提供一个密码来查看Webshell,并提供第二个密码才能与Webshell交互。
xHunt 攻击者使用的BumbleBee Webshell在Microsoft Exchange Server上运行命令
要查看BumbleBee Webshell,攻击者必须在名为parameter的URL参数中提供密码。否则,用于与BumbleBee进行交互的表单将不会显示在浏览器中。为了检查提供的密码以进行身份验证,Webshell程序将生成参数值的MD5哈希值,并使用硬编码的MD5哈希值进行检查,在受感染的Exchange服务器上托管的BumbleBee示例中,研究人员发现该密码的MD5哈希值为1B2F81BD2D39E60F1E1AD05DD3BF9F56字符串fkeYMvKUQlA5asR。一旦显示,BumbleBee将为攻击者提供三个主要功能:
1.通过cmd / c执行命令;
2.将文件上传到服务器的指定文件夹(默认为c:\windows\temp);
3.从服务器下载文件;
要执行这些功能中的任何一个,攻击者必须提供第二个密码(在图1中带有“password”标签的字段中)。 BumbleBee Webshell将生成密码的MD5哈希值,并在执行功能之前使用硬编码的MD5哈希值对其进行检查。在执行攻击者所需的操作之前检查的MD5哈希值为36252C6C2F616C5664A54058F33EF463,但很遗憾,研究人员无法确定此密码的字符串形式。尽管研究人员不知道使用BumbleBee功能所需的密码,但是研究人员能够通过分析来自受感染的Exchange服务器的日志来确定通过webshell执行的命令,后面部分中将详细讨论。
在进行分析时,研究人员发现了另一个BumbleBee Webshell,其中包含不同的MD5哈希值以查看Webshell和执行命令,分别是A2B4D934D394B54672EA10CA8A65C198和28D968F26028D956E6F1199092A1C408。虽然可以确定A2B4D934D394B54672EA10CA8A65C198的哈希值是密码TshuYoOARg3fndI,但研究人员无法确定第二个哈希值的字符串。该Webshell托管在同一科威特组织的内部IIS Web服务器上,该原始Web站点在受感染的Exchange服务器上找到了原始BumbleBee。研究人员还发现该特定的BumbleBee示例驻留在科威特其他两个组织的内部IIS Web服务器上。研究人员能够从两个科威特组织之一的内部IIS Web服务器收集终端日志,以确定通过BumbleBee执行的命令。
与受攻击的Microsoft Exchange Server的交互
为了确定攻击者与科威特组织的受感染Exchange服务器有关的活动,研究人员从Exchange服务器收集了IIS服务器日志以及Cortex XDR为系统生成的日志。在IIS日志中,研究人员能够观察到当攻击者通过受感染的Exchange服务器上安装的BumbleBee WebShell发布命令时生成的HTTP POST请求。使用IIS日志,研究人员还可以观察到攻击者通过Outlook Web App登录到受感染的电子邮件帐户,并在登录后执行特定的活动,例如查看电子邮件和在受感染的网络上搜索其他电子邮件帐户。
不幸的是,受感染的Exchange服务器无法记录POST请求中的数据,因此尽管研究人员知道从这些日志中发出了多少命令,但研究人员不知道攻击者执行的实际命令。另外,从2020年1月31日到2020年9月16日,研究人员只能收集34天的日志,其中不包括来自受感染Exchange服务器的所有IIS日志。由于没有日志记录,研究人员无法完整了解活动情况,甚至无法了解攻击者与受感染的Exchange服务器进行交互的开始情况。例如,IIS日志显示了2020年2月1日的第一个BumbleBee Webshell活动,但它们还显示了TriFive后门程序从2020年1月31日上午开始每五分钟登录一个受感染的电子邮件帐户。 TriFive信标每五分钟显示一次,它是通过研究人员先前与该事件有关的后门博客中讨论的计划任务重复运行的,这还表明该攻击者已经可以在研究人员收集的日志显示之前持续访问受感染的Exchange服务器。
使用研究人员能够从受感染的Exchange服务器收集的IIS日志,研究人员可以汇总攻击者活动的时间表,包括与BumbleBee Webshell的交互。 2020年2月1日至7月27日,攻击者使用受感染的凭据通过Outlook Web App登录到Exchange服务器。攻击者使用Outlook Web App中的搜索功能来搜索电子邮件地址,包括搜索受感染科威特组织的域名以获取电子邮件地址的完整列表以及特定的关键字(例如服务台)。研究人员还看到攻击者在受感染帐户的收件箱中查看电子邮件,特别是来自服务提供商和技术供应商的电子邮件。此外,攻击者还查看了来自Symantec产品和Fortinet的FortiWeb产品的警报电子邮件。搜索发往服务台的电子邮件并查看安全警报电子邮件的行为表明,攻击攻击者有兴趣确定科威特组织是否已意识到恶意活动的存在。