天天看點

某關鍵業務網絡感染挖礦病毒事件應急響應處置回顧

作者:俊傑說黑客

2023年7月14日(周五),安服團隊接到XX公司運維人員回報,XX系統收到大量攻擊事件告警通知,如下圖:(告警内容:主機<*.*.1.136>存在大量掃描連接配接内網其它伺服器的6379端口<redis>,正常情況下該主機不會向内網其它主機發送大量6379端口的連接配接請求。)安服人員第一時間響應客戶請求,迅速進行分析研判,初步判斷該主機可能已經遭受攻擊。

某關鍵業務網絡感染挖礦病毒事件應急響應處置回顧

圖1:告警通知

排查對象所處的網絡環境,如下圖:

某關鍵業務網絡感染挖礦病毒事件應急響應處置回顧

圖2:網絡拓撲示意圖

排查過程

根據天象平台告警通知内容提示,立即對目标主機(*.*.1.136)進行上機排查,發現該主機确實存在大量非正常業務的網絡連接配接,此時基本可以判斷該主機已經被攻陷。

某關鍵業務網絡感染挖礦病毒事件應急響應處置回顧

圖3:*.*.1.136通過6379掃描内網

根據惡意連接配接PID(17575)進一步排查該程式(或腳本)的相關資訊,包括檔案路徑、行為動作、存儲時間等,然後通過該檔案的相關資訊,排查在該檔案落地前的曆史指令,找出入口程式是Nginx還是Redis,或者其它,如果發現是哪個程式引入的,就可以對該程式的相關日志進行分析。

某關鍵業務網絡感染挖礦病毒事件應急響應處置回顧

圖4:TOP指令顯示惡意程式

某客戶關鍵業務網絡感染挖礦病毒事件應急響應處置回顧

某關鍵業務網絡感染挖礦病毒事件應急響應處置回顧

圖5:惡意腳本路徑

某關鍵業務網絡感染挖礦病毒事件應急響應處置回顧

圖6:惡意腳本内容

經過對惡意腳本進行分析,該腳本是由SystemdMiner、H2Miner兩個挖礦團夥,通過組合利用PostgreSQL和Redis的未授權通路漏洞控制伺服器,并寫入/etc/cron.d/systemdd定時任務,執行後續惡意腳本,進行橫向滲透,和下載下傳挖礦程式并上傳中毒伺服器資訊,完成後删除自身,進而達到控制大量主機或伺服器進行挖礦操作。

某關鍵業務網絡感染挖礦病毒事件應急響應處置回顧

圖7:病毒攻擊路徑

針對上述病毒檔案進行分析,該病毒隻是後期利用的手段,并非攻擊入口,要杜絕此類問題的再次發生,必須找到入侵入口。繼續進一步排查發現,該伺服器上還發現存在其它惡意事件——frpc代理請求(由于被攻擊者均存在防火牆之後,且隻開啟了443端口,如果攻擊想控制伺服器,就需要應該類似rpc進行内網穿透工具實作反向代理),如下圖:

某關鍵業務網絡感染挖礦病毒事件應急響應處置回顧

圖8:frpc代理告警

通過對DMZ區其它伺服器進行上述惡意程式和IP(http://192.124.176.23/)排查,看看哪還有哪些伺服器有類似事件,然後深入分析這些伺服器的nginx日志、message日志、auth.log日志、cron、secure等日志,找出惡意攻擊的初始入口點。

某關鍵業務網絡感染挖礦病毒事件應急響應處置回顧

圖9:*.*.1.37伺服器frp日志及檔案

在分析*.*.1.37(https://xxxx.xxxxx.com/)伺服器上的frpc程式時,發現從http://*.*.176.23下載下傳了frp檔案,通過查找該檔案的存儲路徑,我們發現在*.*.1.37這個系統的web伺服器目錄下(/var/www/talent/public/uploads/annex/20200326)還包括多個可疑的php檔案(php1.php、php2.php、2014.php等),因為uploads目錄一般是用來存儲使用者上傳的靜态檔案的,而php檔案一般是攻擊者用來上傳webshell(webshell是黑客經常使用的一種惡意腳本,常見的webshell編寫語言為asp、jsp和php等)來控制伺服器的,需要進一步排查這些php檔案,以及這些檔案上傳的路徑。

某關鍵業務網絡感染挖礦病毒事件應急響應處置回顧

圖10:删除*.*.1.37病毒檔案

經過分析,該系統目錄的uploads路徑上傳檔案有兩種方法,一種是通過web頁面的上傳漏洞進入,一種是通過web伺服器的其它漏洞上傳進入。

通過進一步排查,發現web日志中存在如下通路記錄:

某關鍵業務網絡感染挖礦病毒事件應急響應處置回顧

對該指令進行分析發現,這是一條thinkphp架構的invokefunction RCE漏洞,它允許攻擊者構造任意指令執行操作,進而控制伺服器。此指令是從http://*.*.176.23下載下傳了2014.txt的檔案,然後儲存在/var/www/talent/public/uploads/annex/20200326/目錄下的2014.php,最後通過諸如“中國菜刀”、“冰蠍”、“蟻劍”等工具連接配接該伺服器。類似下圖:

某關鍵業務網絡感染挖礦病毒事件應急響應處置回顧

圖11:中國菜刀webshell連接配接示例

某關鍵業務網絡感染挖礦病毒事件應急響應處置回顧

圖12:中國菜刀webshell連接配接cmd示例

排查結果

至此,我們已經可以肯定,該起攻擊是事件是通過*.*.1.37這台伺服器的web入口,利用thinkphp RCE漏洞寫入WEBSHELL控制了該台伺服器,然後利用PostgreSQL和Redis的未授權通路漏洞控制其它伺服器,最後還在多台伺服器上部署frpc程式,實作内網穿透遠端控制的目的。

排查步驟如下:(因為被攻擊的WEB伺服器采用的是HTTPS協定,是以惡意攻擊者上傳的惡意檔案也不能解密和識别)

  • 通過分析*.*.1.136 Nginx日志,發現淩晨2-3點有異常通路的IP(*.*.232.28,*.*.192.15),但未能于此事件進行關聯。
  • *.*.1.136未開啟Redis日志記錄功能。
  • 該主機無其它對外開放端口。
  • *.*.1.37(https://xxxx.xxxx.com/)存在thinkphp RCE漏洞,導緻攻擊者上傳了php惡意檔案,進而控制伺服器。随後利用其它漏洞對DMZ區其它伺服器進行攻擊。

處置措施

1、封禁惡意攻擊者的外聯ip或域名(*.*.176.23、relay.tor2socks.in等等)

2、删除惡意檔案及相關配置(frpc、WEBSHELL、挖礦病毒、計劃任務等)

3、關閉未修補漏洞的伺服器(限制無密碼redis伺服器連接配接ip<後續修改無密碼redis及調用伺服器配置>)

4、漏洞伺服器更新檔修複(更新thinkphp版本)

加強方案

根據次此DMZ區伺服器中病毒事件,我們需要總結經驗教訓:

  • 對DMZ區伺服器進行漏洞掃描、更新檔驗證、漏洞修補;
  • 針對DMZ伺服器沒有任何終端防護手段,我們可以通過安裝萬象終端管理系統,監控和管理關鍵檔案、關鍵程序和通路行為的微隔離措施等;
  • 因為被攻擊的WEB伺服器采用的是HTTPS協定,是以惡意攻擊者上傳的惡意檔案不能解密和識别,需要将所有HTTPS的證書導緻至APT裝置中,實作惡意腳本檢測的功能。
  • 同時,由于APT的基本特性,隻對已識别的告警資料進行存儲,後續不能對未識别的流量進行有效的追溯,所有需要增加一台流量審計裝置,對全流量進行存儲,友善後續溯源審計。

後記

網絡安全(或資訊安全)是一個持續對抗的過程,有攻才有防,且防禦手段永遠滞後于攻擊手段,随着防禦手段的不斷跟進,攻擊者也在不斷更新自己的攻擊技術,進而又給安全防禦帶來了更多的挑戰,沒有一種防禦手段可以解決所有的攻擊行為。

  • 沒有哪一款防毒軟體可以殺掉所有病毒;
  • 沒有哪一款流量審計(IDS、APT)裝置可以識别所有攻擊流量;
  • 沒有哪一款防火牆防可以攔截所有的非法連接配接(正常端口的漏洞連接配接、端口複用等);
  • 加密資料越來越多,流量檢測技術的有效性越來越小;

雖說上述手段不能解決所有的問題,但每一條都有它防禦的重點,需要全方位、多層次地綜合考慮。

繼續閱讀