起因

一早起来就收到了阿里云的紧急安全事件:挖矿病毒的短信,马上开始排查
2024-04-07T12:09:24.png
(此时我还没意识到事情的严重性[其实也不严重],我想着被打进来了,刚好趁这次来简单熟悉一下应急响应来着,因此没直接杀进程)

查看CPU占用

2024-04-07T12:09:36.png
占用了99.9%,肯定不正常,是普通用户admin(阿里云默认用户)
命令名字是kswapd0,通过浏览器搜索得到的第一个结果: kswapd0 是系统的虚拟内存管理程序,但占用了99.9%的CPU,肯定不正常,猜测和搜索到的不是同一个东西.
(阿里云安全平台将这次攻击定义为挖矿病毒,见后面)
在网上查证发现,这种病毒早在18年就发现了

排查kswapd0的进程

ps aux |grep kswapd0
root          90  0.0  0.0      0     0 ?        S    03:57   0:07 [kswapd0]
root        8008 92.4  0.0  40568  6820 ?        Ssl  06:29   0:29 ./kswapd0
admin       8023  0.0  0.0   6432   668 pts/0    S+   06:30   0:00 grep --color=auto kswapd

确实有一个同名的,这个应该是真的

来自Bard AI:
[kswapd0] 表示该进程是 kswapd0 守护进程。kswapd0 是 Linux 内核中的内存交换守护进程,负责将内存中不常使用的部分交换到磁盘上,以腾出内存空间供其他进程使用。

(此时机器已经很卡了,但还不想杀进程...)
本地机器上运行前后的对比

查看网络连接

netstat -antlp|grep kswapd0

2024-04-07T12:10:40.png

通过 IP查询到这是一个米兰的IP

分析到这里的时候就服务器就卡死了...
重启-关机-开机都不行(服务器配置新加坡-2核1G)
因为磁盘I/O读写不正常,ssh死活是连不上.
折腾了好几个小时终于可以再次连接了(差点就重置操作系统了)
使用阿里云的命令助手插件执行反弹shell的命令得到如下shell

这时候就怕再次卡死,于是就杀了./kswapd0的进程
2024-04-07T12:10:56.png
通过这样也可以查看文件所在

root@ziion-sec554 /h/a/.c/a# ps aux --sort=-%cpu | head -n 3   
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
admin     278289  189  0.1 2439876 9104 ?        Ssl  09:02   1:08 ./kswapd0
ziion     276764  2.8  4.1 3295300 336340 ?      Sl   08:45   0:29 /usr/lib/firefox/firefox http://www.minpop.com/sk12pack/names.php
root@ziion-sec554 /h/a/.c/a# ls -l /proc/278289/exe            # 显示进程 278289 的执行文件的名称和权限
lrwxrwxrwx 1 admin admin 0 Jan 30 09:02 /proc/278289/exe -> /home/admin/.configrc5/a/kswapd0*

处理

将这个进程杀掉,删除定时任务,删除文件就可以了
具体操作如下

# 删除定时任务,以防死灰复燃
crontab -r -u admin
# 杀死进程
kill -9 1068
# 将挖矿病毒备个份 :)
zip -r kswapd0.zip .
# 删除病毒文件
rm -rf /home/admin/.configgrc5

在应急响应过程中,发现了/home/admin/.ssh/authorized_keys文件被加入了rsa公钥,将其删除

echo '' > /home/admin/.ssh/authorized_keys

关掉不常用的用户的ssh远程连接

root@koi ~# vim /usr/ssh/ssh_config
DenyUsers admin   # 添加

阿里云盾里的报警

2024-04-07T12:11:13.png

2024-04-07T12:11:30.png

总结

此次事件的起因是我为了方便,将阿里云默认用户admin改成了弱口令(图方便),不知道怎么就被扫到了,虽然是29号凌晨三天才发的告警,通过查看/var/log/auth.log中的连接记录可以知道在28号就有不断地ssh暴力破解
2024-04-07T12:11:44.png
爆破时间挺长的,但是没在日志里面找到admin用户ssh连接成功的日志:(.
样本链接 提取码:mars (仅供学习研究,请勿非法传播)

Last modification:April 7, 2024
请我喝瓶冰阔落吧