研究人员近日发现了一个 Golang 开发恶意软件,并将其命名为 GoBruteforcer。该恶意软件主要针对 Web 服务,特别是 phpMyAdmin、MySQL、FTP 和 Postgres 服务。
简介
Golang 现在越来越来受到攻击者的欢迎,被用于开发个各种各样的恶意软件,包括勒索软件、窃密木马与远控木马等。
GoBruteforcer 就是一种用 Golang 编写的新型僵尸网络,主要针对 Web 服务,特别是 phpMyAdmin、MySQL、FTP 和 Postgres 服务。
GoBruteforcer 会扫描整个 CIDR 块,而不是单个的 IP 地址。发现主机存活后,GoBruteforcer 会通过暴力破解尝试入侵服务器。一旦获取访问权限,GoBruteforcer 就会立刻部署 IRC Bot。并且,留下 PHP WebShell 作为失陷主机的后门。
GoBruteforcer 攻击链
服务器的 /.x/ 目录下的 cache_init 文件,就是被发现植入的 GoBruteforcer 恶意软件。
失陷主机上的恶意软件
GoBruteforcer 恶意软件主要针对类 Unix 平台,支持 x86、x64 与 ARM 架构。
扫描与系统访问
GoBruteforcer 恶意软件样本使用 UPX 加壳,并且针对 CIDR 块内的主机进行扫描。
CIDR 块扫描
对目的 IP 地址来说,恶意软件对其进行扫描 phpMyAdmin、MySQL、FTP 和 Postgres 服务,每种服务都定义了单独的扫描模块。
扫描不同服务的模块
在不同的扫描模块间,会共用端口扫描模块。
端口扫描功能
phpMyAdmin 服务
扫描 phpMyAdmin 服务时,GoBruteforcer 会尝试通过暴力破解入侵服务器。GoBruteforcer 内部携带了各种硬编码的凭据,如下所示:
硬编码凭据列表
IRC Bot
通过 phpMyAdmin 服务成功进入失陷主机后,GoBruteforcer 会进一步部署 IRC Bot。文件 fb5 与 ab5 分别是 x86_64 和 ARM 架构的 IRC Bot,如下所示:
x86 平台的 IRC Bot
ARM 平台的 IRC Bot
GoBruteforcer 恶意软件通过 IRC Bot 启用 C&C 通信,如下所示:
IRC 的 C&C 通信
IRC Bot 也会设置定时任务进行持久化,如下所示:
定时任务持久化
MySQL 与 Postgres 服务
扫描 MySQL 与 Postgres 服务时,GoBruteforcer 检查 3306 端口与 5432 端口是否打开。确认服务开放后,尝试使用各种凭据进行登录,如下所示:
Mysql 登录尝试
Postgres 登录尝试
FTP 服务
确认 FTP 的 21 端口打开后,GoBruteforcer 会尝试使用 goftp 库进行连接尝试,如下所示:
FTP 登录尝试
PostResult 模块与 WebShell
扫描完成后会调用 GoBruteforcer 的 PostResult 模块,其中包含一个硬编码链接如下所示:
硬编码链接地址
进一步分析该 IP 地址的目录,其中发现了名为 x 的 WebShell。该 WebShell 与名为 pst.php 的 PHP 文件相似。这个 WebShell 实际上具备 Reverse Shell 与 Bind Shell 的功能,如下所示:
WebShell 功能
除此之外,WebShell 还提供了一个数据包生成工具。能够根据攻击者的控制生成定制化的数据包,例如主机、端口、超时时间等。攻击者可以利用这个工具,来深入地了解目标网络。
数据包生成工具
旧版本 GoBruteforcer
在研究人员分析 GoBruteforcer 攻击活动的时候,发现了旧版的 GoBruteforcer 样本文件。该版本的 GoBruteforcer 只针对 phpMyAdmin 服务进行攻击,且 VirusTotal 上为零检出。
VirusTotal 检测结果
结论
Web 服务器一直都是攻击者攻击的重点目标,如果存在弱口令会存在严重的安全隐患。GoBruteforcer 仍然在积极的开发升级中,不久的将来应该能够看到其他攻击 Web 服务的攻击技术。
IOC
de7994277a81cf48f575f7245ec782c82452bb928a55c7fae11c2702cc308b8b
602129f00bb002f07db07affa78d46f67bd0b2c8fb0867ea2da5fc3e73dd2665
acc705210814ff5156957c028a8d6544deaca0555156504087fdc61f015d6834
426b573363277554c7c8a04da524ddbf57c5ff570ea23017bdc25d0c7fd80218
726ccd223a1cfb60fc6c3b48ea3dbf057da918efac5acf620cd026ee38fb0044
526767fbb26c911601371745d603885b75deabcc18261ed2d5a509d58f95d28e
dd3555025957cd51cd048d920027a0ff2d5501bc85792529217d54086e9351c2
df7dc0fe7e90a2414ac188c55d06ad3882cfc7394869c9ffa549fb1ddb304919
ebe11121aafdac5d8f2eecba710ba85efa31617a5eb825ba2e89e23379b26b84
5548935e7c6cf3b38240a0579cac36906e9883a1ec5e85335609e9e2062588c5
5627b138bc857081d2251edd7eb3b68cbd58dfff2f51b7cd34c893fffff2cfab
5c1d3fb43e9e35b835e62e05a7b97ed66ab132eab35bfc18ce543e8f58ccf5e2
7c27ac0daba19de227fcc467abfcdefa99426c768a3601b1b181e9741717665b