一、背景

近日阿里云安全团队发现了一起利用多个流行漏洞传播的蠕虫事件。黑客首先利用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. Python数据格式化

    Python有两种格式化字符串的方式,使用%或者使用内置format()函数. 使用%格式化字符串 在Python中使用%来格式化字符串,用法和效果类似于C语言中的%.格式为:%特定的转换类型 %da ...

  2. [sonata admin] argument "$code" of method

    2. CREATING AN ADMIN 按照这里,在 AppBundle中的Controller创建了 CategoryAdmin 类,当运行 php bin/console server:star ...

  3. 前端基础之BOM与DOM操作

    目录 BOM操作 navigator对象 screen对象 history对象 localtion对象 弹出框 计时 setTimeout() clearTimeout() setInterval() ...

  4. SpringBoot_01_SpringBoot入门

    1 Spring的优点分析 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品.无需开发重量级的Enterprise JavaBean( ...

  5. vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)

    在新建好的项目中,一般执行npm run build就是打包了,但此时只能打包到一个环境,不同环境需要配置不同的地址,可以手动更改接口的地址,也可以自行配置命令而不需要每次打包进行地址切换,步骤如下: ...

  6. jeecms vue-cli项目结构详解

    Vue-cli是vue官方出品的快速构建单页应用的脚手架,如果你是初次尝试Vue,不建议使用,推荐你使用普通引入javascript文件的方式进行学习,如果你已经有vue基础那么就可以用vue-cli ...

  7. java流对象

    Java和C++都是静态类型的面向对象编程语言 stream结尾都是字节流,reader和writer结尾都是字符流 区别: 就是读写的时候一个是按字节读写,一个是按字符. 实际使用通常差不多. 在读 ...

  8. Python-pip更改国内源

    windows方式: 1.打开任意文件夹,在上方地址栏中输入%appdata% 2.在此目录里新建文件夹pip 3.在pip文件夹里新建文件名:pip.ini 4.把以下内容复制到pip.ini中,保 ...

  9. 04-2-object类型

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 对话框处理Enter,Esc键相应问题

    在类视图里面选择你要实现的类,右键属性,在属性里面找到函数PreTranslateMessage,然后添加PreranslateMessage的消息函数,在PreTranslateMessage的消息 ...