本文来自https://www.intezer.com/muhstik-botnet-reloaded-new-variants-targeting-phpmyadmin-servers/
注:原文中implant 此文翻译为植入物,有更好的建议请留言提出。限于个人水平,如有翻译不当不顺,请在评论区中直接提出
Muhstik僵尸网络于2018年5月首次被Netlab360的研究人员发现。这个僵尸网络主要针对GPON路由器。在Intezer,我们发现Muhstik通过定位托管phpMyAdmin的 Web服务器来扩展其攻击设备的范围。
众所周知,PhpMyAdmin是一个用PHP编写的开源工具,旨在通过Web管理MySQL。由于Web浏览器操作数据库非常便利,该工具在Web开发人员中非常流行。另一方面,这些类型的工具的使用导致服务器前端的暴露,特别是phpMyAdmin,它缺乏对暴力破解的保护。
本博客将介绍较新版本的Muhstik恶意软件如何使用phpMyAdmin扫描器,来扩展其易受攻击设备的发现和获取范围。
最近另一个针对phpMyAdmin服务器的IoT恶意软件攻击是Operation Prowli,然而,这种针对网络服务器的僵尸网络并不常见。
我们还将揭示Muhstik的phpMyAdmin扫描器和开源TCP端口扫描器Pnscan之间的关系,因为我们相信Muhstik背后的威胁因素从这个项目中借用和修改了代码。
在分析了各种已知的Muhstik样本后,我们发现一些较难检测的样本暴露了该僵尸网络中添加的新特性。其中一个例子是以下MIPS示例:
d0d8f3c3e530a75768784c44772b2a71c5b3462d68a3217fee1f6767686cea4e
下面是Netlab360报告中已知的Muhstik下载方法:
Muhstik GPON开发利用部署
在分析字符串时,我们注意到有一些不常见的Muhstik 字符串以及已知的Muhstik有效payload。
来自已知Muhstik变种的已知和未知字符串:
Intezer Analyze ™
重用字符串
在分析代码之后,我们得出结论,新的功能是一个phpMyAdmin scanner模块。此外,这些新发现促使我们在我们的数据库中索引一些较难检测到的变种,以便评估是否可能进一步发现较难检测到的变种。
由于我们支持Intezer Analyze ™中的ELF文件,但目前不支持MIPS 二进制文件,因此我们决定依靠我们的“ 字符串重用 ”功能,以便找到较难检测到的共享了大部分phpMyAdmin扫描程序代码库的变种。
https://analyze.intezer.com/#/analyses/3d36dd7a-03f0-4568-aa57-c03cde6de325
该变种与早期Mushstik变种共享相同的基础结构,具有扫描、报告、下载和控制阶段。
Muhstick的phpMyAdmin扫描器基础设施
样本:d0d8f3c3e530a75768784c44772b2a71c5b3462d68a3217fee1f6767686cea4e。
扫描程序是一个命令行工具实用程序,其中包含 bruteforce 的CIDR列表的文件应该是第一个参数。
在每个分析的样本中,我们都注意到在主函数中对报告和下载服务器进行硬编码的重复模式:
phpMyAdmin Scanner中的硬编码服务器
然后,扫描器尝试获得开始扫描所需的CIDR列表。对于这个特定的示例,它从下载服务器获得这样的列表,但是我们知道示例中包含二进制本身中硬编码的IP块:
从下载服务器检索CIDR
下载服务器(217.13.228.176)承载由受感染服务器下载的植入物和由phpMyAdmin扫描仪使用的CIDR。在此示例中,下载服务器将这些文件托管在/rescueshop_dev/x/:
下载服务器开放目录
根据Netlab360的报告,我们发现了CIDRs的名字与Muhstik’s aioscan
植入物的名字相关。
使用CIDR的Muhstik的旧版本
下载服务器还包含一系列文件,这些文件是Muhstik phpmyAdmin Scanner的实例。这些文件以名称pma<number>.
存放在下载服务器的根目录中。
此外,一旦扫描程序获得目标IP块,它将开始进行暴力破解以查找易受攻击的服务器。下面的图片展示了扫描程序在发现的phpMyAdmin登录页面后进行暴力破解时,构造http请求的几种方法之一:
Muhstick的phpMyAdmin HTTP标头
一旦扫描程序找到易受攻击的服务器,它就会将其公开给报告服务器(report server)。
用于报告的易受攻击的phpMyAdmin URL
负责报告易受攻击的phpMyAdmin URL的函数
在扫描程序找到易受攻击的phpMyAdmin服务器后,它将以下列格式将完整的易受攻击的URL发送到报告服务器(128.199.251.119):
http:://<reportserver>/pma.php?ip=<vulnerable url>.
报告服务器IP也可以在Netlab360用于部署Muhstik的GPON漏洞的报告中看到:
Muhstik的GPON开发利用部署
在整个调查过程中,我们无法找到报告服务器中托管的pma.php的确切操作,尽管我们非常确信它被用于发布phpMyAdmin的EXP,因为它与前面观察到的Muhstik EXP发布具有相同的调用方式。
此外,我们在VirusTotal发现了一个core dump,暴露了一些pma.php的行为。
Muhstik的phpMyAdmin扫描仪核心转储VirusTotal分析
在分析核心文件中的堆栈段时,我们发现了以下内容:
core dump堆栈概述
我们观察到下载的文件和Muhstik phpMyAdmin扫描实例的路径被保存在可疑的环境变量中。我们还注意到,基于$PWD环境变量,这个核心文件来自WordPress服务器。
这个二进制文件是从/tmp/目录执行的,它的名称是pma6,它遵循了在其下载服务器中托管的Muhstik phpMyAdmin扫描实例的相同命名约定。
此外,环境变量$ SHLVL的值为3.每次shell启动时,此环境变量的值都会增加1。换句话说,在生成 core dump的时候,二进制文件在3个嵌套shell上运行。这些是在受损系统中生成此核心文件的可靠指标。
总而言之,这个 core dump留下了关于如何部署攻击链的提示。似乎植入物可能已经被其他代理在攻击阶段(exploitation stage)下载,并且扫描器是更广泛的后期开发工具集的一部分。
如果我们将植入物提交给 Intezer Analyze ™,我们会发现它们被进行了UPX加壳。
Packed Muhstik样品
https://analyze.intezer.com/#/analyses/3b4001a1-5cc3-4022-9ad3-b4024f696003
在相关样本部分,我们会发现在MalwareMustDie报道的Kaiten变种中也发现了相同的UPX变种。
在样本去掉压缩壳(unpacking)后,我们看到,基于代码重用的unpacked Muhstik植入物与Tsunami共享代码片段。众所周知,Tsunami和STDBot来自一个名为Kaiten的IRC僵尸程序恶意软件系列。因此,这种联系表明Muhstik植入物也是基于Kaiten。
该植入物可与不同的IRC 服务器配合使用,实现SSH,HTTP 扫描功能和多种DDoS功能,扩展了常规Kaiten变体的常用功能。
根据Netlab360的报告,我们可以假设这个僵尸网络从2018年5月就开始活跃了。然而,当我们分析僵尸网络在其IRC通道的某个点上使用的用户名时,我们会注意到日期是后缀名。我们相信这个命名约定是用来在僵尸网络的IRC频道中追踪新的变种。这个示例的固定IRC用户名表明,该版本是在Netlab360发布关于Muhstik的博客一天之后发布的。
在研究了这个新的Muhstik变种后,我们注意到其他一些与Muhstik无关的恶意软件使用了类似的扫描程序。
基于代码相似性,我们发现Muhstik 借用代码的原始扫描程序是一个名为Pnscan的开源项目。Pnscan由瑞典Linköping 大学的计算机系统管理员Peter Eriksson编写。
Pnscan的Github
必须知道的是,Pnscan工具与DrWeb在2015年8月报告的Linux.Pnscan.2蠕虫没有直接关系。Pnscan是一个开源TCP 端口扫描工具,它的名字是Parallel Network Scanner的缩写。。
当我们将未剥离的Muhstik phpMyAdmin扫描器中发现的一些函数和Pnscan进行比较时,我们有确凿的证据表明它们共享一个公共代码库。根据函数、字符串和符号命名的相似性,我们可以看到这一点。
Pnscan部分主要功能
Muhstick phpMyAdmin Main部分功能
Pnscan的get_ip_range
Muhstick的phpMyAdmin Scanner get_ip_range函数
Pnscan的get_port_range函数
Muhstick的phpMyAdmin get_port_range
近年来,入侵者更为广泛地使用PhpMyAdmin扫描器用来危害系统。特别值得一提的是,Muhstik僵尸网络已经采用了新的技术来破坏更广泛的系统。
与以前针对GPON路由器的版本相比,phpMyAdmin扫描器变种似乎已经在监控中,但迄今为止尚未看到报告。
为了减轻这些针对phpMyAdmin的攻击,应该使用更为复杂的密码,或者应用某种形式的反暴力破解方案,例如帐户锁定策略,或谷歌的reCaptcha。
此外,我们在过去已经观察到公开源项目可能被用于恶意目的的影响,这就是一个展示了入侵者如何借用和修改公开发布的代码来进行他们的活动的例子,。
c356bf0fd5140f428c2f7c39b96095584c4b99fa6f077f0c1cf9d1ecd9d26e88
7109ba2b506fbcc2a99dfdee14bc1dbb0a8b5dbe14f530b12ffcfc3fa04f90b7
e6ee7da0d9e5d38b44be7f2c2c038708acc12819cb5d6635b8e31715de6026b7
61af6bb7be25465e7d469953763be5671f33c197d4b005e4a78227da11ae91e9
d0d8f3c3e530a75768784c44772b2a71c5b3462d68a3217fee1f6767686cea4e
e0da49d8def275d7e35b2ad4559330301debc9f10cc9bdde953748c18075994e
68002efcc5e13bf6a8c6738cdb324eb7d92bcc54080e3fa6beff2612e4f7252f
679fd3ff024750ef4753f6f52bc99c3d7bb9793e5d32742751099edbed558623
fbfc7b127ab9a03bb6b3550e6678e8224ab3d18d1e96ea473ec50eb271fcf05b
7296f5b14f5c55e1f359bb752e18323ba2819f4a43066d50cf4e0294c9d33766
9ae309db0fe53092e67bea17d37a6137bcca70e9c4c31491f15e493ebca3d1c7
fc367a6247e8dca792b54e49dc997e3bc48d28161d7d987043c12c9408933c61
094cd380b411951a2fe00c2d38208838463b83160199f4495062391ced106946
6d0a52bc9b3c6cdef438cbf22c9968e3c06eff6037ffc5ddc645f0f158513ef2
9519e0cd8ec702af86367c1245afea85fd98cc1160cf46e2874a60dfd0952ed8
82bf0be6debed7eb94d4d64e806e0c9f2458d58936443b12c8bd6ae805106e68
3756a7a180b4573efcb88bcba663c66d9474f19e7f646840469f2f60cad236d4
8426f4623aab0af7aaab2d5919dc86ffd9f167f2e423ca3838d7fe24591458f1
96867f503d65c564b146e8961dffae1f90962ba171dd0a5f856ed3f648cb7f4c
767cc42e1b6cc082bd41eecdb2743173d69ac5e8e02f5b63fa104e3c19d90345
Mushtik implant unpacked
b56f666944b3f6bc459546d34002e607c0dc51b1b8bc14999ff4a1e6665a1c9a
Dd6c74d2942fe9e1cee82e39e7de6986589ae923530864d61b58e21318bf4f7b
Pnscan源代码:https: //github.com/ptrrkssn/pnscan