针对 Web 服务器的 Golang 僵尸网络 GoBruteforcer

研究人员近日发现了一个 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 检测结果

猜你喜欢

转载自blog.csdn.net/m0_60571990/article/details/129627374
今日推荐