l  首先执行$ top命令,检查系统运行状态,此台Linux服务器的CPU利用率为732%

l  再执行$ ps aux |grep [pid]命令,定位到可疑的挖矿木马文件,位于/var/tmp/目录下

l  继续执行$ hadoopversion命令,检查Hadoop版本,当前Linux服务器上安装的Hadoop版本号为2.6.0(此版本支持认证服务,但若未开启,攻击者则可通过Hadoop Yarn资源管理系统REST API未授权漏洞入侵系统)

l  执行$ crontab-u yarn -l命令,检查任务计划,yarn用户每分钟向C2地址发起请求,获取最新脚本文件

l  执行$ head/var/log/cron-20180617命令(实际操作中需要查看对应的日志文件),检查任务计划日志,发现挖矿木马在6月10日替换过C2地址

通过上述操作,我们定位到了此次事件中的门罗币挖矿木马程序和核心控制脚本,并进行了详细分析,分析情况见样本分析一节。

攻击植入过程分析

通过对其中某台服务器检查,初步判定攻击者利用了Hadoop Yarn REST API未授权漏洞入侵了这些服务器,从而植入挖矿木马实现获利:

分析了整个攻击植入流程如下:

样本分析

相关样本

我们将此次事件中挖矿木马的核心文件以列表的形式整理如下,并逐一进行分析:

文件名 MD5 作用
cr.sh 1f6554f2559d83ace7f0af82d32beb72 Shell脚本,用于下载挖矿程序和配置文件
x_64 7f4d9a672bb7ff27f641d29b99ecb08a 64位ELF挖矿程序
x_32 b00f4bbd82d2f5ec7c8152625684f853 32位ELF挖矿程序
w.conf   配置文件,保存钱包地址,矿池地址

样本分析–cr.sh核心脚本

攻击者利用YARN默认开放的8088端口服务,向服务器提交恶意作业,该作业包含远程下载并执行Shell脚本的命令。下载回来的脚本cr.sh完成如下功能:

1、  清理主机环境:停止、删除主机已经存在的其他挖矿程序

2、  检查主机环境:检查指定的挖矿程序是否已经存在

3、  配置主机环境:下载挖矿程序和配置文件并执行

4、  持续感染主机:设置任务计划,保持更新,持续感染主机

5、  清理任务计划:清除其他挖矿相关的任务计划

清理主机环境代码片段:结束当前主机正在运行的其他已知挖矿程序并删除,已知挖矿程序的文件名如pscf、ntpd、ntp、qq、qq1等:

...
ps ax | grep 'wc.conf\|wq.conf\|wm.conf\|wt.conf' | grep -v grep | grep 'ppl\|pscf\|ppc\|ppp' | awk '{print $1}' | xargs kill -9
rm -rf /var/tmp/pscf*
rm -rf /tmp/pscf*
pkill -f ririg
rm -rf /var/tmp/ntpd
pkill -f /var/tmp/ntpd
rm -rf /var/tmp/ntp
pkill -f /var/tmp/ntp
rm -rf /var/tmp/qq
rm -rf /var/tmp/qq1
pkill -f /var/tmp/qq
rm -rf /tmp/qq
rm -rf /tmp/qq1
pkill -f /tmp/qq
pkill -f /var/tmp/aa
rm -rf /var/tmp/aa
 

C2信息

本次事件中,攻击者使用了Github作为云分发平台,保存挖矿程序和配置文件。该攻击者会不定期的创建删除Github账号,保证可用性及隐私性。

已使用的Github账户名(均已删除):

l  ffazop1

l  zzgamond1

Github项目地址(均已删除):

l  https://raw.githubusercontent.com/ffazop1/mygit/master/w.conf

l  https://raw.githubusercontent.com/ffazop1/mygit/master/x_64

l  https://raw.githubusercontent.com/zzgamond1/mygit/master/w.conf

l  https://raw.githubusercontent.com/zzgamond1/mygit/master/x_64

l  端口关联

在多起事件中,出现的C2服务器统一使用8220号端口,因此我们可将其作为身份识别的一个弱特征。

l  文件名关联

在多起事件中,重复使用了相同的文件名,例如1.ps1、2.ps1、logo0.jpg、logo2.jpg、logo3.jpg、logo4.jpg、logo7.jpg等,因此我们也将其作为身份识别的一个弱特征。

l  钱包地址关联

从同一个C2上,我们获取到该团伙不同时期使用的两个脚本,这两个脚本包含了两个不同的门罗币钱包地址,并且这两个钱包地址在这些事件中都有使用。考虑钱包的私有特性,我们可将其作为身份识别的一个强特征。

运行在C2服务器8220端口上的Apache服务

攻击活动时间线

通过对关联信息的整理归纳,我们绘制了过去一年与该团伙相关的攻击活动的时间图:

活动图中的时间顺序仅为我们发现该团伙最早的活动时间,并不表示该团伙只在此时间段利用此漏洞。相应的,此图直观体现了该团伙积累了较多的网络攻击武器。我们有理由相信,还有大量关于该团伙的未被曝光的攻击事件。

钱包信息

钱包1

l  钱包地址:

41e2vPcVux9NNeTfWe8TLK2UWxCXJvNyCQtNb69YEexdNs711jEaDRXWbwaVe4vUMveKAzAiA4j8xgUi29TpKXpm3zKTUYo

l  Monerohash上的有效期:? — 2018/5/08

l  总收益:90.1934XMR(仅Monerohash公开矿池)

l  交易记录截图

钱包2

l  钱包地址:

4AB31XZu3bKeUWtwGQ43ZadTKCfCzq3wra6yNbKdsucpRfgofJP3YwqDiTutrufk8D17D7xw1zPGyMspv8Lqwwg36V5chYg

l  Monerohash上的有效期:2018/5/15 — 今

l  总收益:140.3400XMR(仅Monerohash公开矿池)

l  交易记录截图

收益汇总及评估

仅看Monerohash公开矿池的交易记录,“8220挖矿团伙”累计获取超过230枚门罗币。其中,钱包2提供的算力高达365KH/sec,占Monerohash矿池算力的7%左右。做个简单估算,以INTELCORE I5-2400处理器作为参考,核心全开的情况下算力大约在70H/sec左右,那么相当于大约有5200台服务器在同一时间为该团伙进行挖矿。

通过查询其他相关公开矿池的交易记录,此团伙累计获取超过1000枚门罗币,按照市价974元/枚计算,其价值将近100万元人民币。考虑还有未统计的公开矿池及无法查询的私有矿池,保守估计该团伙累计获益已达数百万

钱包信息关联

从以上交易截图中可观察出,“8220挖矿团伙”前期使用的钱包1在今年4月时,被安全厂商标注为Botnet,各大公开矿池也将其列入黑名单,禁止接入挖矿。此后,该团伙使用了另一个钱包2,在大型矿池挖矿,并持续至今。

攻击者画像-疑似国内团伙

我们对涉及的样本做了简单的统计如下:

配置文件使用过的名称:

l  w.conf、dd1.conf、gg1.conf、test.conf、tes.conf、hh1.conf

l  kkk1.confttt1.conf、ooo1.conf、ppp1.conf

挖矿程序使用过的名称:

l  nginx、suppoie、java、mysql、cpu.c、ntpd、psping、java-c、pscf、

l  cryptonight、sustes、xmr-stak、ririg、ntp、qqaa、ubyx

l  logo4.jpg、logo0.jpg、logo9.jpg

l  apaqidajiba、look、orgfs、crant、jvs、javs

通过对相关样本的统计分析,结合其具有中文特色命名的特点、交易发生的时间(统计分析主要集中在UTC+8时区)及其他一些信息,怀疑这是一支来源于国内的挖矿团伙。

总结及安全建议

用户使用如下步骤检测及清理疑似中招的服务器:

1、   使用top查看进程,KILL掉异常进程

2、   检查/var/tmp目录,删除java、pscf3、w.conf等异常文件

3、   检查crontab任务列表,删除异常任务

4、   检查YARN日志,删除异常的Application ID

5、   开启Hadoop Kerberos认证服务

IOC

矿池地址及C2

IP 说明
158.69.133.20:3333 私有矿池地址
192.99.142.249:3333 私有矿池地址
202.144.193.110:3333 私有矿池地址
192.99.142.232:8220 C2
192.99.142.235:8220 C2
192.99.142.226:8220 C2
192.99.142.246:8220 C2
192.99.142.248:8220 C2
158.69.133.18:8220 C2
198.181.41.97:8220 C2
46.249.38.186 C2

建议封禁以下地址

部分相关URL

  1. http://185.222.210.59/x_wcr.sh
  2. http://185.222.210.59/re.php
  3. http://185.222.210.59/g.php
  4. http://185.222.210.59/w.conf
  5. http://185.222.210.59/cr.sh
  6. http://192.99.142.226:8220/w.conf
  7. http://192.99.142.226:8220/xm64
  8. http://192.99.142.226:8220/cr.sh
  9. http://95.142.40.83/xm64
  10. http://95.142.40.83/xm32
  11. https://transfer.sh/1o3Kj/zzz
  12. https://transfer.sh/wbl5H/pscf
  13. https://transfer.sh/WoGXx/zzz

挖矿木马 sustes 追踪溯源分析相关推荐

  1. libgcc_a挖矿木马应急响应及分析

    目录 起因 进程排查 文件排查 持久化排查 逆向分析 自查方法 处理方案 IOC信息 IP及域名IOC: 文件Hash 后话 起因  用户反馈服务器linux系统感染挖矿病毒,已通过人工方式清理了一部 ...

  2. 应急响应 | TeamTNT挖矿木马应急溯源分析

    声明:本人坚决反对利用文章内容进行恶意攻击行为,一切错误行为必将受到惩罚,绿色网络需要靠我们共同维护,推荐大家在了解技术原理的前提下,更好的维护个人信息安全.企业安全.国家安全. 在前一周的时间里,客 ...

  3. 挖矿木马的战略战术分析

    前言 比特币等虚拟货币在2019年迎来了久违的大幅上涨,从最低3000美元上涨至7月份的14000美元,涨幅达300%,巨大的金钱诱惑使得更多的黑产团伙加入了恶意挖矿的行列.阿里云安全团队通过对云上僵 ...

  4. 安全分析--追踪溯源的找人思路

    安全分析–追踪溯源的找人思路 零.绪论: 一旦发生攻击行为,确定攻击者或者说是责任人一般是定损止损快速恢复业务之后的第二反应.谁要为事件负责?谁该承担责任变成了进一步追查的目标.可是在网络攻击行为中能 ...

  5. Xmrig挖矿木马之暴力分析!

    前提:某天腾讯云发来一封邮件来提醒,自己的服务器中木马了.根据邮件中的提示,把疑似木马的程序tsm64拷贝下来,上传到vt上,确认是木马.好了,开始分析它. 一.初步定位恶意程序在系统中的痕迹 首先, ...

  6. python挖矿木马_kworkerds 挖矿木马简单分析及清理

    公司之前的开发和测试环境是在腾讯云上,部分服务器中过一次挖矿木马 kworkerds,本文为我当时分析和清理木马的记录,希望能对大家有所帮助. 现象 top 命令查看,显示 CPU 占用 100%,进 ...

  7. 分析teamTNT团队Linux挖矿木马执行过程与防范

    分析teamTNT团队Linux挖矿木马执行过程与防范 公司需要扩展海外业务,需要有一台海外云服务器.当我们把应用部署上去时的第二天所有应用down掉了,然后发现ssh连接服务器特别慢.好不容易连接上 ...

  8. 病毒分析之“驱动人生”挖矿木马分析及其清除方案

    "驱动人生"挖矿木马分析及其清除方案 0x00 概述 自2018年12月份"驱动人生"挖矿木马爆发以来,此木马一直处于活跃状态,更新版本更是达到了20+次.此木 ...

  9. 记一次linux挖矿木马的处置

    场景 受公司委托对客户服务器挖矿木马进行应急处置,客户说服务器很卡让我们排查处置一下,okok,直接远程开搞开搞,所有可疑文件先下载留存,再删除. 排查分析 使用top命令查看CPU使用率时发现,进程 ...

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

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

最新文章

  1. 最长有效括按号长度(利用栈解决java语言)
  2. 中国「人造太阳」刚刚再破纪录:运行时间突破千秒,负责人:为稳态的聚变工程堆奠定基础...
  3. 翟树卿:如何让数据挖掘助力精准化营销
  4. 实验15:通过注解分别创建Dao、Service、Controller★
  5. css 右上角 翻开动画_css简单动画(transition属性)
  6. bluemix java_Bluemix 基础:将 SQL 数据库添加到您的 Java 应用程序中
  7. Ajax和JSON-学习笔记01【原生JS方式实现Ajax】
  8. 最好的android one手机,最高配置的Android One手机登场 LG推出G7 One与G7 F
  9. mysql 主键 最佳实践_Spring Data Jpa + MySQL IDENTITY 主键下批量插入最佳实践
  10. php插入一个自增字段,thinkphp-自增或自减一个字段的值
  11. 《机器学习训练秘籍》中文版58章节 完整开源 吴恩达
  12. 利用 Domino V8 新特性开发 Mashup 应用(转载)
  13. PHP写一个登录表单,并实现注册+登录功能
  14. 资源管理器经常崩溃重启问题解决方法
  15. 魔兽世界最新服务器排行榜,wow国服服务器排行榜:十大平衡服已全面解锁 | TG魔兽世界专区...
  16. 【组成原理-处理器】处理器的相关概念
  17. 工欲善其事 必先利其器-——Idea使用(1)-初次识别
  18. JavaScript 一团乱,这是好事
  19. web前端开发技术期末考试_智慧职教mooc2020HTML5+CSS3 Web前端开发技术期末考试大全答案...
  20. 『暴走漫画』-快活啊~尽情释放男人的天性啊~

热门文章

  1. 快逸报表数据库密码加密解决方案
  2. MATLAB2016a+eeglab安装
  3. 如何查询淘宝天猫的宝贝类目
  4. w10计算机字体怎么设置在哪里设置,win10系统电脑字体设置的操作方法
  5. 三维点云数据处理软件供技术原理说明_十大点云数据处理技术梳理
  6. 激光点云数据编辑处理(一)——CloudCompare
  7. Matlab2016b和Matlab2020b安装包
  8. 中文文本分析工具总结
  9. Asp.net自定义控件开发任我行(1)-笑傲江湖
  10. 4.java中的常见语句