使用 Go 编写的多平台 GoBrut 僵尸网络最近部署了新变种进行传播,同时正对数以百万计的 WordPress 网站进行爆破。
2019 年 3 月 GoBrut 僵尸网络被发现,在此前的分析文章中分析了该僵尸网络使用 Go 语言编写的 Windows 版本。Go 语言的使用使得代码具有极高的可移植性,攻击者可以只编写一次代码然后在各种不同的操作系统中编译运行。所以最近也发现了针对 Linux 平台的新版本部署。
这已经不是第一次在野发现 GoBurt 的 Linux 样本。事实上,2019 年 4 月时有其他研究人员发现 2.24 版本的 GoBurt 已经开始存在 Linux 版本。本次我们发现的是新部署的新版本 3.06,同样也是针对 Linux 平台的。
技术分析
在我们的情报监控运营时发现的一个失陷网站,其中包含大量的可疑文件,这些文件实际上是同一个文件的副本。
字段 | 值 |
---|---|
哈希 | 0f4755f65c495d3711bf22271f85f1ee86da8b7a487e770f769af56e189be48c |
威胁 | GoBrut |
简要描述 | GoBrut Linux 版本 3.06 |
ssdeep | 98304:EE1b80T1Mv8SzjLZ/YJG9MMa2megmG5OFZj8KIX:n980JpSzBsMa2ac8K |
因此,我们比较了这个最新的样本与前述文章中提到的样本:
新样本其他已知的 GoBrut 样本之间存在许多相似之处,例如控制流与通信协议都是类似的,校验与任务的检索没有大幅改动。
向 C&C 注册
样本向 C&C 服务器的 bots/knock 路径发送注册请求,表明该主机的种类、操作系统与恶意软件的版本。服务器响应 1 作为应答。
检查更新
样本向 C&C 服务器发送其版本与主机的体系结构,C&C 服务器使用 Yes/No 响应是否存在更新。
检索要执行的任务
样本向 C&C 服务器发送查询要执行的任务的请求,在监控过程中发现唯一的执行任务是 wpBrt 即 WordPress Brute Forcing(WordPress 爆破),样本使用字典攻击超过 27 万个第三方网站。
检索要攻击的目标
与旧版本相同,该版本也使用 JSON 格式检索要攻击的目标列表,并尝试访问。这一点上可以发现 GoBrut 的行为特征:
危险的升级
新版本中更新了一些更强大的功能模块,如:
StealthWorker/WorkerQnap:针对 Qnap 的 NAS 服务登录页 StealthWorker/Worker_WooChk:针对名为 WOO Commerce 的 CMS StealthWorker/Worker_wpMagOcart:针对 MageCart 的电商登录页面 StealthWorker/Worker_WpInstall_finder:针对 WordPress 的安装目录的侦察工具 StealthWorker/WorkerBackup_finder:用于检索暴露的备份文件夹的实用工具 StealthWorker/WorkerHtpasswd:尝试从错误配置的 htpasswd 文件中检索信息
完整的模块列表在文后列表中。
目标分布
截至编写本报告时发现了超过二百七十万个第三方网站受到攻击。
除了 .com、.org 和 .info 大多数域名都归属于中东欧地区,几乎没有俄罗斯的域名存在。可能是由于僵尸网络的运营者没有打算对俄罗斯的网络空间发动攻击,也可能是由于当前客户来源是俄罗斯。
此外,在本次攻击行动中发现了超过 4500 个意大利的域名。大多数都是中小型公司的网站,也包括律师事务所和非盈利组织。这些实体更容易被犯罪分子利用其关系与声誉,攻陷更高价值的目标,如大型企业或者他们的 VIP 客户。
结论
该僵尸网络的流行也暗示着 Go 在编写恶意软件时正在变得越来越受欢迎。这一趋势也被 PaloAlto Unit42 在 2019 年 1 月的一篇文章中提到,他们注意到自从 2016 年以来,使用 Go 编写的恶意软件数量大幅增长。
通过分析可以发现,GoBrut 正在扩大其运营业务,努力支持更多技术模块。攻击行动涉及数百万量级的网站,其中一部分是意大利的公司。
IOC
0f4755f65c495d3711bf22271f85f1ee86da8b7a487e770f769af56e189be48c formfactset.org:8082
模块列表
StealthWorker_WorkerPMA_check_DetectCMS StealthWorker_WorkerPMA_check_Worker StealthWorker_WorkerWP_check_userEnumerate StealthWorker_WorkerWP_check_Worker StealthWorker_WorkerWP_brut_checkBrutOk StealthWorker_WorkerWP_brut__ptr_WP_Login StealthWorker_WorkerWP_brut__ptr_WP_Login StealthWorker_WorkerWP_brut_Worker StealthWorker_WorkerWP_brut__ptr_WP_HttpClient StealthWorker_WorkerWHM_check_DetectCMS StealthWorker_WorkerWHM_check_Worker StealthWorker_WorkerMagento_check_Worker StealthWorker_WorkerMagento_check_saveGood StealthWorker_WorkerJoomla_check_Worker StealthWorker_WorkerJoomla_check_saveGood StealthWorker_WorkerDrupal_check_Worker StealthWorker_WorkerDrupal_check_saveGood StealthWorker_WorkerCpanel_check_DetectCMS StealthWorker_WorkerCpanel_check_Worker StealthWorker_WorkerCpanel_check_saveGood StealthWorker_WorkerFTP_check_ScanPort StealthWorker_WorkerFTP_check_Worker StealthWorker_WorkerFTP_check_saveGood StealthWorker_WorkerPMA_brut__ptr_Instance_HttpClient StealthWorker_WorkerPMA_brut__ptr_Instance_TryLogin StealthWorker_WorkerPMA_brut__ptr_Instance_TryLogin StealthWorker_WorkerPMA_brut_Instance_CheckSuccessFull StealthWorker_WorkerPMA_brut_Worker StealthWorker_WorkerPMA_brut__ptr_Instance_CheckSuccessFull StealthWorker_WorkerCpanel_brut_Brut StealthWorker_WorkerCpanel_brut_Worker StealthWorker_WorkerWHM_brut_Brut StealthWorker_WorkerMagento_brut_basicAuth StealthWorker_WorkerMagento_brut_BrutRSS StealthWorker_WorkerMagento_brut_BrutPanel StealthWorker_WorkerMagento_brut_BrutDownloader StealthWorker_WorkerMagento_brut_Worker StealthWorker_WorkerJoomla_brut_Worker StealthWorker_WorkerDrupal_brut__ptr_WP_Login StealthWorker_WorkerDrupal_brut_Worker StealthWorker_WorkerSSH_brut_Exe_cmd StealthWorker_WorkerSSH_brut_check_honeypot StealthWorker_WorkerSSH_brut_Brut StealthWorker_WorkerSSH_brut_Worker StealthWorker_WorkerSSH_brut_SaveGood StealthWorker_WorkerSSH_brut_Exe_cmd_func1 StealthWorker_WorkerFTP_brut_Brut StealthWorker_WorkerFTP_brut_SaveGood StealthWorker_WorkerFTP_brut_CheckFalsePositive StealthWorker_WorkerFTP_brut_Worker StealthWorker_WorkerFTP_brut_Worker_func1 StealthWorker_WorkerMysql_brut_Brut StealthWorker_WorkerMysql_brut_Worker StealthWorker_WorkerPostgres_brut_Brut StealthWorker_WorkerPostgres_brut_Worker StealthWorker_WorkerPostgres_brut_SaveGood StealthWorker_WorkerBackup_finder_HttpCheck StealthWorker_WorkerBackup_finder_Worker StealthWorker_WorkerBitrix_brut__ptr_WP_Login StealthWorker_WorkerBitrix_brut_SaveGood StealthWorker_WorkerBitrix_brut_Worker StealthWorker_WorkerBitrix_brut__ptr_WP_HttpClient StealthWorker_WorkerBitrix_check_Worker StealthWorker_WorkerOpencart_check_Worker StealthWorker_WorkerOpencart_brut_Worker StealthWorker_WorkerOpencart_brut_newfileUploadRequest StealthWorker_WorkerOpencart_brut__ptr_WP_HttpClient StealthWorker_WorkerHtpasswd_check_Worker StealthWorker_WorkerHtpasswd_brut_SaveGood StealthWorker_WorkerHtpasswd_brut_Worker StealthWorker_WorkerAdminFinder_GetPage StealthWorker_WorkerAdminFinder_SaveGood StealthWorker_WorkerAdminFinder_Worker StealthWorker_Worker_WpInstall_finder_Worker StealthWorker_Worker_WpInstall_finder_saveGood StealthWorker_Worker_wpMagOcart_Worker StealthWorker_Worker_WooChk_userEnumerate StealthWorker_Worker_WooChk_Worker StealthWorker_Worker_WooChk_saveGood StealthWorker_WorkerQnap_check_Worker StealthWorker_WorkerQnap_check_saveGood StealthWorker_WorkerQnap_brut_SaveGood StealthWorker_WorkerQnap_brut_Worker StealthWorker_WorkerQnap_brut_newfileUploadRequest StealthWorker_WorkerQnap_brut_HttpClient
*参考来源:Yoroi,FB 小编 Avenger 编译,转载请注明来自 FreeBuf.COM