一、背景

近日阿里云安全团队发现了一起利用多个流行漏洞传播的蠕虫事件。黑客首先利用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蠕虫攻击,阿里云安全向用户提供以下安全建议:

  1. 互联网上扫描和攻击无处不在,web漏洞、弱密码、服务器存在未授权访问,都可能导致主机被挖矿,应尽量避免使用弱密码,此外可以选择购买阿里云的云防火墙和态势感知实现威胁检测、主机防御和安全隔离。
  2. 对于已感染的客户,可以通过购买阿里云安全管家服务,在安全专家的指导下进行病毒清理和安全加固。

IOC

从virustotal查询发现,9b6c1672fc9d5721af5ae6ac9d053b34 这个恶意脚本IoC,目前市面上大多数引擎检测不出来。

而阿里云态势感知基于深度学习和规则引擎的模型可以对大部分的恶意脚本进行识别。态势感知告警如下图所示,

钱包地址:4An3Radh69LgcTHJf1U3awa9ffej4b6DcUmEv8wirsDm8zRMSjifrwybH2AzHdEsW8eew3rFtk4QbGJMxqitfxmZJhABxpT

恶意Host:

67.209.177.163

190.2.147.11

C&C 服务器:

http://speakupomaha.com

备用C&C服务器:

linuxservers.000webhostapp.com

linuxsrv134.xp3.biz

5.196.70.86

矿池地址:

http://minexmr.com

作者:悟泛、踢歪、桑铎;致谢:刘洪亮、千霄、淡陌

原文链接
更多技术干货 请关注阿里云云栖社区微信号 :yunqiinsight

威胁快报|首爆新型ibus蠕虫,利用热门漏洞疯狂挖矿牟利的更多相关文章

  1. 威胁快报|首爆,新披露Jenkins RCE漏洞成ImposterMiner挖矿木马新“跳板”

    简介 阿里云安全于近日捕获到一起使用Jenkins RCE漏洞进行攻击的挖矿事件.除挖矿外,攻击者还曾植入具有C&C功能的tsunami木马,也预留了反弹shell的功能,给用户带来极大安全隐 ...

  2. 威胁预警|首现新型RDPMiner挖矿蠕虫 受害主机易被添加恶意账户

    近日,阿里云安全发现一种新型挖矿蠕虫RDPMiner,通过爆破Windows Server 3389端口RDP服务的方式进行挖矿木马传播,致使用户CPU占用率暴涨,机器卡顿,更被创建名为Default ...

  3. 利用redis 漏洞入侵挖矿临时解决办法

    top 看到一个bashd的进程占据了cpu ps aux |grep bashd cd /tmp 发现ddg.2011 的文件.root dump.rdb 在/root/.ssh  也有奇怪的文件 ...

  4. 威胁快报|Solr dataimport成挖矿团伙新型利用方式

    概述 近日,阿里云安全团队监测到挖矿团伙利用solr dataimport RCE(CVE-2019-0193)作为新的攻击方式对云上主机进行攻击,攻击成功后下载门罗币挖矿程序进行牟利.该团伙使用的恶 ...

  5. 威胁快报|Bulehero挖矿蠕虫升级,PhpStudy后门漏洞加入武器库

    概述 近日,阿里云安全团队监控到Bulehero挖矿蠕虫进行了版本升级,蠕虫升级后开始利用最新出现的PHPStudy后门漏洞作为新的攻击方式对Windows主机进行攻击,攻击成功后会下载门罗币挖矿程序 ...

  6. Watchdogs利用Redis实施大规模挖矿,常见数据库蠕虫如何破?

    背景 2月20日17时许,阿里云安全监测到一起大规模挖矿事件,判断为Watchdogs蠕虫导致,并在第一时间进行了应急处置. 该蠕虫短时间内即造成大量Linux主机沦陷,一方面是利用Redis未授权访 ...

  7. 威胁快报|挖矿团伙8220进化,rootkit挖矿趋势兴起

    近日,阿里云安全团队发现8220挖矿团伙为了更持久的驻留主机以获得最大收益,开始使用rootkit技术来进行自我隐藏.这类隐藏技术的使用在watchdogs等挖矿蠕虫使用后开始出现逐渐扩散和进化的趋势 ...

  8. 一则利用内核漏洞获取root权限的案例【转】

    转自:https://blog.csdn.net/u014089131/article/details/73933649 目录(?)[-] 漏洞描述 漏洞的影响范围 漏洞曝光时间 漏洞产生的原因 漏洞 ...

  9. 利用CVE-2018-0950漏洞自动窃取Windows密码

    i春秋作家:浅安 0×00 前言 记得还在2016年的时候,我的一个同事那时还在使用CERT BFF(自动化模糊测试工具),他向我询问到如何将微软办公软件中看起来可利用的漏洞转化成可以运行的病毒程序并 ...

随机推荐

  1. pycharm IDE在导入自定义模块时提示有错,但实际没错

    在建立python项目时,有时为了区分资源和代码,如在项目文件夹下新建img和src两个文件夹,这时导入自定义模块会提示错误,结果没错但感觉别扭.如: 这是因为pycharm提示功能是从根目录上去寻找 ...

  2. JPA默认方法查询遇到转JSON的处理

    JPA提供的findAll等查询方法在有关联的对象时 比如:在查userInfo @Entity@Table(name = "user_info")public class Use ...

  3. Java虚拟机性能管理神器 - VisualVM(2) 入门【转】

    Java虚拟机性能管理神器 - VisualVM(2) 入门[转] 标签: java插件jvm监控工具入门 2015-03-11 16:54 955人阅读 评论(0) 收藏 举报  分类: Visua ...

  4. golang和python的二进制转换

    1.二进制转换规则 比如13,对13整除2,余数1,整除变为6,依次类推 13/2=6余1 6/2=3余0 3/2=1余1 1/2=0余1 所以最后的结果为1101 2.python def conv ...

  5. .Net StackFrame

    StackFrame指的是一个.net运行的时候堆栈上的一个帧(Frame),每次进入一个方法的时候就会有一个新的方法帧压入线程执行堆栈,可以通过StackFrame获取相关的信息,比如当前代码所在文 ...

  6. 02.vs插件 获取项目和解决方案路径

    获取项目 解决方案路径 /// <summary> /// 获取并设置项目和解决方案绝对路径 /// </summary> /// <returns></re ...

  7. Servlet和模本办法

    抽象类HttpServlet,提供7个子方法的默认实现,当我们手写Servlet只需要继承HttpServlet并替换相应的do方法来完成自己的业务逻辑即可. 我们一般的实现方法: public My ...

  8. 博弈论 | 暑期集训Day2学习总结

    今天的知识点为博弈论. 相比于昨天完全陌生难懂的概念,今天接触到的东西应该算是非常容易理解了,一下子又对ACM的学习重拾信心.毕竟game作为主题也吸引眼球,每种博弈背景下引入的游戏介绍也十分有趣.主 ...

  9. QC的安装和配置

    QC(Quality center)的安装配置 Wmware 虚拟机 数据库SQL server2000 Windows server 2003 须安装数据库的sp4补丁包 注意事项 数据库安装时选择 ...

  10. occ+vtk显示igs模型

    使用Opencascade读取igs文件内模型,使用vtk进行显示. 本案例环境:Opencascade6.6.0 +  vtk-5.10 + VS2005(win32) 使用CMake管理工程. C ...