新型 Golang 蠕虫在服务器上投放病毒

译者:知道创宇404实验室翻译组
原文链接:https://www.intezer.com/blog/research/new-golang-worm-drops-xmrig-miner-on-servers/
 
介绍12月初 , 我们发现了一种新的用Golang编写的蠕虫 。该蠕虫延续了 Golang在2020年流行的多平台恶意软件趋势 。
该蠕虫试图在网络中传播 , 以便大规模运行XMRig Miner 。恶意软件同时针对windows和linux服务器 , 可以轻松地从一个平台转移到另一个平台 。它的目标是面向公众的服务:密码较弱的MySQL、Tomcat管理面板和Jenkins 。在较旧的版本中 , 该蠕虫还尝试利用WebLogic的最新漏洞:CVE-2020-14882 。
在我们的分析过程中 , 攻击者不断更新C&C服务器上的蠕虫 。这表明该蠕虫处于活跃状态 , 并且可能在将来的更新中针对其他弱配置的服务 。
技术分析该攻击使用三个文件:一个dropper脚本(bash或powershell)、一个Golang二进制蠕虫和一个XMRig Miner , 所有这些文件都托管在同一C&C上 。
目前 , 还未检测到ELF蠕虫二进制文件和bash dropper脚本 。
图1显示了VirusTotal中的ELF蠕虫二进制检测结果 。

新型 Golang 蠕虫在服务器上投放病毒

文章插图
图1:在VirusTotal(ead2cf8ab7aef63706b40eb57d668d0a)中完全未检测到ELF文件
该恶意软件在Linux和Windows操作系统上的行为类似 。我们将在下面描述Linux蠕虫感染流程 。
Linux蠕虫感染流程在执行后 , 蠕虫会检查受感染计算机上的进程是否正在侦听端口52013 。此端口上存在的侦听器可充当恶意软件的互斥体 。如果该端口的套接字已经打开 , 则实例将退出 , 否则它将在该端口上打开网络套接字 。
在旧版本中 , 该蠕虫会将XMRig Miner作为Network01解压缩到tmp文件夹中并运行它 。使用名为go-bindata的Go资源嵌入包将矿工嵌入Golang二进制文件中 。恶意软件使用bindataFile函数解压缩嵌入式XMRig Miner二进制文件 。图2显示了此文件中的函数 。
新型 Golang 蠕虫在服务器上投放病毒

文章插图
图2:xmrigu linuxu amd64.go文件
恶意软件将使用TCP-SYN扫描网络 , 以便找到它可以暴力攻击并在网络上传播的服务 。它将扫描具有与这些服务有关的开放端口的IP:蠕虫的较旧版本上为8080(对于Tomcat和Jenkins)、3306(对于MySQL)和7001(对于WebLogic) 。这些漏洞利用程序均在src“exp”(漏洞利用)代码下具有一个程序包 。
新型 Golang 蠕虫在服务器上投放病毒

文章插图
图3:exp文件和函数
蠕虫使用gopacket库 , 该库为Go提供C绑定 , 以使用libpcap读取网络数据包 。通过运行pcapc , 蠕虫会获取用于收集ACKS的网络数据 , 并继续对服务进行暴力破解 。图4显示了蠕虫在Tomcat和MySQL服务上的暴力破解以及利用 。
新型 Golang 蠕虫在服务器上投放病毒

文章插图
图4:蠕虫输出的片段
【新型 Golang 蠕虫在服务器上投放病毒】攻击后 , 恶意软件将提供加载程序脚本:ld.sh(Linux)和ld.ps1(Windows) 。加载程序负责在被利用的服务上删除并运行XMRig Miner和Golang蠕虫 。图5和6中的加载程序脚本如下:
新型 Golang 蠕虫在服务器上投放病毒

文章插图
图5:ldr.sh——基于Linux的Dropper bash脚本

新型 Golang 蠕虫在服务器上投放病毒

文章插图
图6:ldr.ps1——基于Windows的Dropper powershell脚本
攻击流程下面介绍每种服务的攻击流程 。
MySql:3306端口
该恶意软件将运行暴力攻击 。该恶意软件使用包含弱凭据的硬编码字典(例如root:123456)来进行此攻击 。
成功登录后 , 它将运行一个shellcode , 以使用mysql UDF获得本地特权升级 。该漏洞利用程序以十六进制字符串形式嵌入二进制文件中 。该蠕虫针对每种操作系统和体系结构(UDFLINUX32 , UDFLINUX64 , UDFLWIN32和UDFWIN64)都有利用 。浏览此处以获取有关漏洞利用的更多信息 。
运行漏洞利用程序后 , 有效负载将使用sys_exec命令删除并运行加载程序脚本 。URLWIN和URLLINUX存储删除程序脚本URL 。图7和8显示了每个操作系统的有效负载 。
新型 Golang 蠕虫在服务器上投放病毒

文章插图
图7:MySQL查询——Linux有效负载


推荐阅读