Ubuntu服務器被黑經歷(ElastichSearch漏洞)


起因

最近我們的一台Ubuntu阿里雲服務器一直提示有肉雞行為,提示了好幾天,開始並沒有關注,然后連續幾天后發現應該是個大問題啊。很可能服務被侵入了!!!

尋找線索

一開始我是完全懵逼的狀態的,Linux不是很熟悉,只會簡單的命令,安裝部署redis,mongo這些東西。好吧,只能百度Google了!

  1. 尋找可疑進程

ps -ef
然而結果看起來一點頭緒都沒,非常不熟悉Linux底下常見的進程!

  1. 尋找相關的Log線索

Linux里有非常的多的日志文件,統一都存放在/var/log底下,這里我想先看看是不是有人破解了賬號入侵了服務器
cat /var/log/faillog --登陸失敗日志
cat /var/log/auth.log --驗證日志

確實發現了一些蛛絲馬跡(解決完后發現可能並非如此,暫時還沒有研究下去)

auth.log中發現了大量的Failed,這說明有人在嘗試暴力破解密碼,最可疑的是大量的session opened for user root by (uid=0)(開始我覺得是入侵進去了?)。百度了下,發現幾個線索:

  1. 阿里雲官方發布了臟牛漏洞的公告https://bbs.aliyun.com/read/297492.html
  2. 一篇黑客對決http://ruby-china.org/topics/23848

仔細看了下之后發現,卧槽!黑客對決這篇和我的情況如出一轍啊~前幾天為了部署ExceptionLess,遷移ElasticSearch到Linux。並沒有注意El的安全性啊。

尋找木馬

再一次查看進程,這次有文檔幫助,有了大致的了解,並且拿另外一台Linux服務器的進程做了一次對比。立馬定位到了可疑進程。

通過elastic+ 啟動的這幾個進程顯然是木馬進程,依據上邊的文檔,可以初步說明木馬沒有取得root權限,而運行在elastic的用戶權限底下。

找到了進程,怎么找到文件?百度!
cd /proc/31598
ls -l exe

卧槽還刪除了!不過也定位到可疑的地方/tmp
立即去/tmp查看

這些文件應該就是木馬了,down下來打開看了下,確實是木馬!也百度到了一些信息,這些就是肉雞程序了!文檔

干掉木馬

找到了木馬,最后就要干掉它,不過謹慎起見我還是做了一些其他的功課,防止隨意殺掉之后,造成木馬的更大破壞。(然而也就是百度了下,發現Linux只是太薄弱)

  1. 停止ElasticSearch

    service elasticsearch stop

  2. 更換ElasticSearch配置,這是這個漏洞的關鍵!

    script.disable_dynamic: true --從flase改成true

    我在想這樣的一個動態腳本能力是怎么考慮的?妥妥的漏洞啊,就像上次的Redis默認無安全驗證問題一樣啊!!!

  3. 刪掉temp
    rm -rf /tmp
    我這是很憤怒的!不過沖動是魔鬼,rm -rf請慎重!!!整個服務器刪掉的悲傷故事就是它惹的。

  4. 批量殺掉進程

    kill -9 $(ps -ef | grep elastic | grep -v grep | awk '{print $2}')

  5. 重新查看下進程列表 確保木馬不重啟

    ps -ef

    結果看起來是樂觀的,不過是不是真的殺掉了?還需要時間的檢驗了?

  6. 重啟Elastichsearch

    service elasticearch start

  7. 為了更安全起見,服務器都加強了密碼,還用ClamAV掃了一遍。

  8. 續集?? 希望不要有續集了!!!

總結

這次的安全事故,我想大概像我這樣的Linux新手不在少數,隨着.NET的跨平台,大量的.NET應用會依賴更多的linux環境組件,Linux的應用安全一定也是需要更受我們重視的(雖然Linux不是在業界號稱比Windows安全嘛,不過Linux應該會說這是Elasticsearch的鍋啊!!!)

后續

今天配置了防火牆,把內網機器的外網端口都限制了一遍,這下應該消停了。
但是也發現,elaticsearch禁用了動態腳本之后,貌似exceptionless報錯了。

參考文檔

話說這里應該有一句,Edit By Markdown。第一次用markdown寫完一整篇,排版有些難看,請見諒。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM