新的Perl僵尸网络(Tuyul)可能来自于印尼

2020年1月15日,F5威胁研究人员检测到一个针对易受攻击的PHPUnit系统的新运动(CVE-2017-9841),该运动试图安装Internet中继聊天(IRC)机器人。这个名为Tuyul的机器人创建了一个比过去跟踪的僵尸网络还要小的僵尸网络。在2月中旬的最后一次检查中,它由大约350个目标系统组成。它比其他僵尸网络小得多,其他僵尸网络的范围从每天大约1400个受感染系统到每天使用的40,000多个活动系统。1个

主要发现

  • Tuyul似乎是新的。我们观察到的峰值大小在IRC通道中有366个受害系统。
  • Bot根据其功能以多种编程语言编写。2 Tuyul用Perl编写。这与我们通常看到的情况不同,通常IRC机器人是用PHP或Python编写的。3
  • 该僵尸网络可能存在印度尼西亚语归属。我们根据一些线索进行了评估,包括时区,僵尸网络名称,使用的管理员昵称和存储库服务器等。有关详细信息,请参见本文的“ 可能的归因”部分。
  • 我们继续看到该机器人正在积极研究中,并且我们希望它会继续增长。F5研究人员将继续使用该僵尸网络,并将报告将来的发现。

技术细节

首先,我们讨论恶意软件本身的一些详细信息,然后讨论攻击者网络的组成。

恶意软件

威胁参与者使用罕见的漏洞来接管受害者的服务器。该恶意软件专门搜索未修补的PHPUnit实例,PHPUnit是PHP编程语言的单元测试框架。它专门利用了CVE-2017-9841,该漏洞使攻击者能够在服务器上注入任意PHP代码。
尝试在服务器上执行bash脚本的活动的样本请求
通过目睹机器人对机器人主控发送的pwd(打印工作目录)shell命令的响应,我们可以确认这是唯一针对的漏洞。
受感染服务器响应“ pwd” shell命令的屏幕截图

攻击者网络的组成

我们能够确认威胁演员与Tuyul一起使用的两个注册域:
  • https:// localroot [。] zyx-恶意软件存储库和命令和控制(C&C) 31.220.52.186-C&C开发服务器
  • http:// zer0art [。] com-感染日志记录API http://103.3.189.32-API开发服务器
localroot [。]的xyz服务器主机恶意软件文件和子站点下充当C&C IRC [。] localroot [。]的xyz。除了C&C服务器之外,攻击者还维护着两个开发服务器来开发和测试其脚本。一台服务器是开发IRC服务器,另一台服务器用于记录成功感染。C&C服务器具有有效的SSL证书。此外,两台服务器均利用Cloudflare保护。
C&C服务器具有有效的SSL证书,并利用Cloudflare保护

攻击方式

攻击者使用两种不同的方法来感染和控制受Tuyul感染的受害者:注入Web Shell或将服务器连接到IRC服务器并加入僵尸网络。以下各节将对两者进行说明。

方法1:通过注入Web Shell获得访问权限

攻击者使用许多不同的PHP Web Shell来访问服务器。当活动启动时,称为Tiny File Manager的开源应用程序将用作后门,使攻击者可以轻松访问服务器的文件系统。
Tiny File Manager屏幕快照,该程序充当后门程序
在活动的后期阶段,将部署另一个未知的Web Shell。此Shell具有更高级的功能和先进性。我们需要进行其他研究才能完全了解其功能。
具有未知功能的未知Web Shell的屏幕截图
值得注意的是,图5中引用的外壳使用了来自Black Hat信息安全事件的Black Hat徽标。 使用的第三个Web Shell是混淆的PHP Shell,在部署时需要执行三个步骤。第一步,在目标服务器上执行一个名为inject的bash dropper 。该脚本有两件事:首先,它从本地localroot [。] xyz服务器下载PHP脚本。
bash dropper的屏幕截图称为“ inject”
如果在服务器上成功执行了第一个脚本,则POST请求将发送到第二个zero0art [。] com服务器上的API ,记录成功感染。
Wireshark捕获的屏幕截图,显示POST请求,记录了成功的感染
成功执行后,PHP脚本服务器通过在服务器上的多个位置安装混淆的PHP后门,充当了放置程序。
PHP dropper inject.php的屏幕截图,允许后门执行。
后门已安装,并通过称为preman的参数接收命令,该参数似乎是攻击者的绰号之一。
接收命令的PHP后门的屏幕截图
我们能够获得API脚本的源代码,并找到了有关攻击者起源的重要线索。PHP代码的date_default_timezone_set函数设置为Asia / Jakarta。
将亚洲/雅加达设为默认时间的攻击者的API源代码

方法2:通过IRC僵尸网络获得访问权限

第二种感染方法将受害者的服务器连接到IRC僵尸网络。该恶意软件是用Perl编写的,因此值得考虑。过去,Perl是编写攻击工具的流行语言。由于Perl比诸如C之类的低级语言更容易,因此吸引了许多脚本小子。4 2012年编写的DDoS Perl IRCBot脚本仍然是当今使用的最常见的IRC恶意软件脚本之一。但自2005年以来,5 Perl一直在减少对IRC机器人和常规编程使用Python的支持。正如关键发现中指出的那样,许多IRC僵尸网络现在都是使用Python创建的。由于Perl的入门门槛低,它仍然被使用,并且是脚本小子学习的一种通用语言。因为可以用来创建功能强大且密集的程序,所以全球仍然有许多Perl用户。6在2020年在Perl中开发恶意脚本使该威胁参与者的选择变得有趣。 感染的第一阶段指示服务器下载Bash脚本删除程序(请参见图11)。放置程序指示服务器下载已编译的Perl二进制文件并在系统上执行它。如果不成功,则尝试下载该文件的未编译版本并使用Perl执行该文件。
告诉服务器执行Perl脚本的联接bash放置程序
在撰写本文时,防病毒软件未检测到该恶意软件的二进制版本。这使攻击者可以在计算机上工作,而这些计算机实际上未被基于签名的防病毒软件检测到。
屏幕截图显示没有防病毒引擎选择了该恶意软件
如果成功执行,该服务器将连接到攻击者的C&C服务器上的IRC服务器(irc [。] localroot [。] xyz),并与其余受感染的服务器连接,以等待攻击者的进一步指示(请参见图13)。
IRC bot恶意软件配置的屏幕截图
为了保持在系统上的持久性,该恶意软件会定期下载名为cron的bash脚本,以确保仍安装Tuyul脚本(请参见图14)。
bash脚本的屏幕快照,可确保Tuyul脚本仍在运行
它还可以检测并杀死其他恶意软件感染的竞争进程(请参见图15)。
bash脚本杀死了竞争对手的恶意软件进程的屏幕截图

恶意软件源代码

在监视活动期间,我们收集了四个不同版本的恶意软件源代码。尽管有这些不同的版本,但以下核心功能保持不变:
  • 赞成:将机器人提升为更高的特权。允许漫游器在其他漫游器上执行命令。
  • 新手:将漫游器从“专业”状态降级。
  • 更新:下载并安装较新版本的恶意软件。
  • bc:连接到反向外壳。
  • shell 执行一个shell命令。
  • perl:执行一个Perl脚本。
  • 终止,自杀:杀死机器人的连接。
从脚本中的命令列表中,很难确定Bot Master的意图。与以前的著名IRC机器人不同,在IRC机器人中,命令具有更具体的描述,例如DDoS或加密挖掘功能,而Tuyul机器人仅具有通用命令。在监视僵尸网络时,除了维护之外,我们没有发现与这些僵尸网络有关的任何活动。发现一些个别的僵尸程序传播了Tuyul恶意软件,但我们没有检测到僵尸网络的大规模激活。

图尤尔僵尸网络的组成

被感染的服务器连接到攻击者的IRC服务器,并加入配置的通道。在最初版本的恶意软件中,使用的渠道称为“ #idiot”,从而揭示了演员对受害者的感受。 连接到服务器的每个漫游器都有一个昵称,带有“ TuYuL”前缀和一个随机字符串。
Tuyul僵尸网络的屏幕快照,显示连接的179个僵尸
出于明显的原因,该脚本仅允许使用某些昵称来操作该漫游器。在早期版本中,管理员定义了四个不同的昵称。这表明该运动可能是共同努力,而不是一个人的工作。在更高版本的代码中,管理员人数减少到两个。
Tuyul僵尸网络的早期版本配置
由于我们拥有源代码,并且可以查看该僵尸程序侦听的管理员,因此我们想看看是否有可能接管僵尸网络。首先,我们尝试使用非管理员昵称在私人聊天中激活漫游器:
尝试使用非管理员昵称执行shell命令的用户的屏幕快照
但是,当将昵称更改为未签署服务器的管理员之一时,我们可以在受感染的机器人上执行命令,如图19所示。
尝试使用管理员昵称执行shell命令的用户的屏幕快照
监视频道几天后,漫游器管理员注意到了我们的活动,并注册了管理员的昵称,并将允许加入网络的IRC客户端列入白名单。这阻止了我们假装成为管理员和控制机器人。 在我们的研究中,僵尸网络的峰值约为350个僵尸网络,这是一个相对较小的僵尸网络。例如,去年报道了一个不同的IRC僵尸网络,其中包含1400多个僵尸。7大多数受害者都托管在Amazon Web Services(AWS)和DigitalOcean等云服务上,而大约三分之一则托管在Linode上。当我们对僵尸网络上的IP地址进行地理定位时,我们发现美国和英国的服务器几乎占了僵尸网络的一半。

可能的归因

请注意,在发布之时,尚无任何组织声称拥有该僵尸网络,并且我们还没有编写和操作Tuyul的个人的正式署名。我们可能的印尼语归因于调查该恶意软件时收集到的许多证据。 时区。正如“ 攻击方法”部分所述,亚洲/雅加达时区是一个重要线索,因为它设置了所有日期/时间功能所使用的默认时区。8这是在API源代码中设置的攻击者起源的最令人信服的证据,如“恶意软件”部分所述。尽管可以有目的地将其设置为其他时区,但这只是我们确定可能归因时要考虑的众多指标之一。此外,其他一些线索也指向印度尼西亚。 管理员昵称。用于配置该僵尸网络的管理员昵称可能会提供可能的归属信息。普雷曼(Preman)是所使用的绰号之一,是印尼黑帮的代名词,根据维基百科,它是有组织犯罪集团的成员。9 连接到C&C开发环境时,会出现印尼语“ assalamualaikum pak aji”。它不会出现在主C&C上。 IP地址。随着对该机器人的调查继续进行,新版本具有一个有趣的IP地址,该地址公开了威胁参与者的开发环境。威胁参与者运行此开发环境以测试Perl脚本的新版本。在注册管理员昵称后,我们继续监视主IRC服务器和开发IRC服务器的活动。在开发IRC服务器中,未注册管理员昵称,并且还提供了有关威胁参与者来源的其他线索,包括使用了assalamualaikum pak aji短语,其翻译为“问候Aji先生”。根据names.org的说法,Aji这个名字可能有很多渊源,其中一个常见的名字是来自印度尼西亚,意思是“祝福”。10
开发服务器的屏幕快照,显示短语assalamualaikum pak aji
恶意软件存储库。在研究的后期阶段,当尝试访问不存在的文件时,在主要恶意软件存储库中添加了一条消息-hidup ini indah,印度尼西亚语短语翻译为“美好的生活”。
印度尼西亚语“ hidup ini indah”短语的屏幕截图,英语翻译为“生活很美好”
僵尸网络名称。该僵尸网络的名称也是来源和归因的一种可能指示。图尤尔(Tuyul),有时也称为Toyol,是东南亚,特别是印尼民间传说中的人物。11图尤尔人在这个民间传说中以不死婴儿的身份出现,他被用黑魔法召唤来执行诸如盗窃,破坏或其他罪行的任务。根据IMDB的说法,2015年的恐怖电影《 Tuyul》是对印尼神话的现代再现,其中Tuyul伤害了居住在其房屋中的家庭。12 根据这些发现,我们得出结论,运行Tuyul僵尸网络的威胁者可能在印度尼西亚。目前,我们不将此活动归因于国家赞助的演员。我们不能肯定地说这是否与有组织犯罪或网络犯罪活动有关,但是,网络犯罪活动通常位于印度尼西亚。2020年1月,印度尼西亚因涉嫌参与Magecart袭击而首次逮捕了3名男子。13除此之外,印度尼西亚的许多非政府组织长期存在恶意活动,无论是在特定的活动下还是出于个人利益。4, 5, 6 我们继续看到该机器人正在积极研究中,并且我们希望它会继续发展。F5研究人员将继续使用该僵尸网络,并将报告将来的发现。

结论

这项新的活动表明,僵尸网络继续对组织构成威胁,并具有多种用途,从IRC机器人到购物机器人再到加密货币挖矿。那些对构建僵尸网络感兴趣的人无需走远路就能找到源代码以创建自己的僵尸网络。用于服务的僵尸网络也很常见且易于购买。负责任的组织可以通过制定DDoS策略,确保关键服务的冗余,实施凭据填充解决方案以及不断向员工宣传IoT设备的潜在危险以及如何安全使用它们,来尽最大努力保护员工。
0 0 vote
Article Rating

未经允许不得转载:x-sec » 新的Perl僵尸网络(Tuyul)可能来自于印尼

赞 (0) 打赏
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

0
Would love your thoughts, please comment.x
()
x