威胁快报 | 首爆新型ibus蠕虫利用热门漏洞疯狂挖矿牟利 – 作者:阿里云安全

*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。

一、背景

日阿里云安全团队发现了一起利用多个流行漏洞传播的蠕虫事件。黑客首先利用ThinkPHP远程命令执行等多个热门漏洞控制大量主机,并将其中一台“肉鸡”作为蠕虫脚本的下载源。其余受控主机下载并运行此蠕虫脚本后,继续进行大规模漏洞扫描和弱口令爆破攻击,从而实现横向传播。涉及的漏洞除了ThinkPHP远程命令执行漏洞,还有JBoss、Weblogic、Redis等产品的漏洞。

因为该蠕虫最初植入的恶意脚本名为ibus,所以命名为ibus蠕虫。本篇文章主要介绍了阿里云安全对此类蠕虫入侵的各个阶段的检测、防御和隔离,保障阿里云用户的资产安全。希望读者通过本篇文章,可以意识到当前网络安全的风险与日俱增,安全漏洞无处不在,黑客通过简单、自动化的手段就可以对用户利益造成极大的损害。

目前阿里云安全团队对网络进行了实时监控,并帮助云上用户修复潜在风险,如果漏洞依然存在,建议请尽快对自身进行检查,或者参考文末的安全建议。

二、蠕虫主要特点及结构

基于阿里云态势感知的大数据平台,我们对该黑客组织进行了追踪和详细分析,该黑客通过ThinkPHP漏洞和蠕虫脚本获取了大量的肉鸡进行牟利。阿里云安全团队详细分析了此蠕虫的主要特点,包括:

使用多种漏洞进行传播,以web代码执行漏洞为主;

恶意脚本的名字及路径具有迷惑性,且多份拷贝存放于不同的目录下;

主要代码perl实现,具备功能完备的C&C通信模块;

C&C通信使用http协议,通信内容加密;

通过挖掘门罗币进行获利。

蠕虫的功能结构由恶意脚本、传播模块、C&C模块、挖矿模块等组成。

黑客首先利用ThinkPHP v5 远程命令执行漏洞攻击了大量主机,并将ip为67.209.177.163的服务器作为蠕虫脚本的下载源。

之后攻击者控制其他被入侵主机从67.209.177.163下载ibus脚本并执行。该脚本用perl语言写成,主要功能是解码、写入并执行C&C (Command and Control)模块。

攻击者进而通过向C&C模块发送命令,下载包含多种攻击payload的传播模块,以及由下载器、配置文件和挖矿程序组成的挖矿模块,挖矿从而获取利润。传播模块则继续攻击未被入侵主机,横向传播。

黑客入侵的各个阶段如下图所示:

​三、蠕虫模块分析

1.攻击及恶意脚本植入

对大多数被入侵主机,攻击者最初是利用ThinkPHP v5 远程代码执行漏洞,通过如下payload植入恶意脚本

可以看到这里从http://67.209.177.163/ibus下载并运行了ibus。分析后发现ibus是一个perl脚本,该脚本会从Linux根目录开始遍历所有目录(最大深度为6),找出当前账号有写权限的所有文件夹,存入列表。

之后对列表中的目录进行打分,取分数最高的三个目录。打分标准例如完整路径以”/bin”开头的目录分数最高,”/usr/bin”其次,以此类推。

在最后挑选出来的三个目录中,写入同样的C&C模块脚本(脚本分析见后文),并分别命名为nmi, nbus和.dbus。这三个都是系统程序的名字,定时执行时还会打印出“These are for bus-kernl-daemon service”,非常具有迷惑性。

​ibus脚本最后进行定时任务添加和脚本自删除操作。

​2.传播模块

下图为攻击函数列表,可以看出此蠕虫代码利用了多种漏洞进行横向传播,包括java反序列化漏洞、Weblogic WLS组件RCE漏洞(CVE-2017-10271)、WebLogic 任意文件上传漏洞(CVE-2018-2894)、redis 未授权访问漏洞等。

以下是部分攻击代码:

1)对JBoss用户名、密码暴力破解

涉及的部分用户名和弱口令列表:

​2)使用weblogic漏洞上传Webshell

3)redis 未授权访问漏洞

3.C&C模块

该部分的内容是由ibus中的$encnde解码后得到,相同内容被写入三个不同的文件夹,难以被彻底清理。

C&C模块也是一个perl脚本,它实现了完整的控制功能:

脚本包含的核心函数/模块:

newsocketto:实现socket通信

GetCommand、PostCommand:实现基本的http get/post功能

SendBackResult、SendBackState:返回c&c指令的执行结果和执行状态

register:c&c上线注册

check_relay:检测主c&c是否可用

Knock_Knock:获取C&C指令,会返回needregr、newtask、notasks、newreconfig四种指令

Update_Config_File、Load_Config_File:更新和加载配置文件

DownLoadExec、DownLoadExecPar:下载文件并执行,DownLoadExecPar可带参数执行

Updateme:更新

scanme:扫描目录

getrelfromblog、getrelfromblog1、srel:备用c&c

crntabvalidator:修改crontabs属性,后面会循环执行,防止定时任务被删除

UUID Management :为每个肉鸡生成uuid

MAIN Function:cc模块主函数

C&C模块的功能:

MAIN Function通过Knock_Knock获取c&c指令,实现如下功能

Command Execution :命令执行(实际并未实现执行功能)

Download Execute:下载文件执行

Download Execute W Params:下载文件带参数执行

Uninstall:卸载自身

killcycle:终止运行

Update Me:更新

C&C服务器是speakupomaha.com:

下图为控制主机执行GetCommand的部分代码:

四、影响范围

由配置文件可知,ibus蠕虫对应的钱包地址为4An3Radh69LgcTHJf1U3awa9ffej4b6DcUmEv8wirsDm8zRMSjifrwybH2AzHdEsW8eew3rFtk4QbGJMxqitfxmZJhABxpT。其影响范围从攻击者收益和挖矿规模的角度来看,由于该钱包地址在http://minexmr.com/#worker_stats对应的挖矿速率(HashRate)约为167KH/s,据此粗略估计,全网约有1万台的主机被这种蠕虫感染,黑客因此每天能牟利30.86美元(925.74美元 每月)。

​而从攻击时间上看,1月4号和12号是黑客攻击的高峰,且蠕虫攻击仍在蔓延。

五、安全建议

针对此次ibus蠕虫攻击,阿里云安全向用户提供以下安全建议:

互联网上扫描和攻击无处不在,web漏洞、弱密码、服务器存在未授权访问,都可能导致主机被挖矿,应尽量避免使用弱密码,此外可以选择购买阿里云的云防火墙和态势感知实现威胁检测、主机防御和安全隔离。

对于已感染的客户,可以通过购买阿里云安全管家服务,在安全专家的指导下进行病毒清理和安全加固。

IOC

*本文作者:悟泛、踢歪、桑铎,转载请注明来自FreeBuf.COM

来源:freebuf.com 2019-02-13 09:30:15 by: 阿里云安全

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论