如何利用網絡流量分析挖礦病毒?(透視黑客行為)

這是我無意捕獲到比較具有特色的攻擊案例,黑客利用Struts2漏洞進行滲透,隨後下載腳本文件實現挖礦,由於攻擊鏈相對完整,所以就給大家展現黑客滲透攻擊的全部操作行為。

1.文章背景

一般來說我們通過部署IDS/IPS、WAF等設備就可以有效的解決此類現象,但為什麼還需要人為來分析呢?其實在很多情況下,我們安全建設頗為盲目,安全廠商不斷引導我們該如何進行安全體系建設,而我們一直處於被動接收的狀態,同時在建設過程中廠商很少考慮客戶安全方面的投入性價比,設備是否能治根解決此類安全事件等問題,如果我們想要做到安全建設自主性和實用性,應充分了解黑客常用攻擊手段,儘可能做到知己知彼,把“脈絡”看清楚後,我們才可相對從容應對安全異常事件。

2.殺傷鏈模型介紹

安全人員對殺傷鏈模型應該不陌生。該模型主要有偵查、工具製作、投放、漏洞滲透、安裝、控制、竊取破壞7個階段組成。模型由2011年由洛克希德馬丁公司創建,描述了黑客偷盜敏感信息通常經歷的階段。

黑客在不同階段使用不同方式對目標主機進行持續性破壞,最終達到勒索、篡改、竊密等操作。如下圖:

如何利用網絡流量分析挖礦病毒?(透視黑客行為)

殺傷鏈模型示例圖

通過對殺傷鏈的瞭解,結合第三部分流量分析,想必大家可以更加清晰瞭解黑客的攻擊手段。

3.流量分析

1.異常捕獲(偵查階段)

在網絡設備中,通過配置Struts2漏洞的前置條件,捕獲到了Struts2相關告警。黑客利用工具不斷對目標主機進行漏洞掃描,詳情見下圖(部分內容涉及敏感已模糊化):

如何利用網絡流量分析挖礦病毒?(透視黑客行為)

Struts2告警

該Struts2漏洞原理是,通過OGNL表達式靜態調用獲取ognl.OgnlContext的DEFAULT_MEMBER_ACCESS屬性,並將獲取的結果覆蓋_memberAccess屬性,這樣就可以繞過SecurityMemberAccess的限制,從而執行自定義內容。

2.數據包解碼(投放、滲透、安裝階段)

隨後對數據包進行解碼,更深度瞭解其攻擊行為。下圖為客戶端與目標主機會話信息,可見兩者已建立會話併產生數據交互。

如何利用網絡流量分析挖礦病毒?(透視黑客行為)

數據交互過程

上圖中綠色線條為TCP的三次握手;藍色線條為請求及返回信息;黑色線條為ACK包信息。

隨後我們對該數據包進行解碼,瞭解應用層HTTP所傳輸內容,發現黑客在Conten-type頭部中填充了Struts2漏洞利用數據。如下圖:

如何利用網絡流量分析挖礦病毒?(透視黑客行為)

數據包解碼

從數據流解碼視圖可以看到Content-Type中包含以下字段:

如何利用網絡流量分析挖礦病毒?(透視黑客行為)

Content-Type內容

該內容大體意思是通過wget(下載)arrow.jpg|sh文件,並指定此腳本使用/bin/bash來解釋執行。

3.文件下載(竊密控制階段)

隨後我們訪問該arrow.jpg|sh文件,下載後充命名為arrow.sh(不要嘗試啦,能訪問我就不公佈啦),打開發現其為Linux的sh腳本,其大概意思為:1.刪除文件,2.kill相關進程,3.啟動線程,4.下載acpid.conf配置文件。如下圖:

如何利用網絡流量分析挖礦病毒?(透視黑客行為)

arrow.sh文件

隨後我們下載sh腳本中的acpid配置文件,打開後如下圖:

如何利用網絡流量分析挖礦病毒?(透視黑客行為)

acpid.conf文件

該配置文件URL為礦池,user錢包,algo為門羅幣的挖礦算法。至此我們就完整的還原黑客的攻擊手段。

4.總結

從來沒有絕對安全,如何持續保障相對安全是每一位安全從業人員一直在做的事情。隨著大環境的變化,由之前粗放式攻擊到現在與商業結合,安全的建設越發具有挑戰性,無時無刻考驗著每一位安全人員,從底層出發,從原理出發是我們建築安全壁壘核心基石。


分享到:


相關文章: