當前位置:
首頁 > 新聞 > WordPress殭屍網路攻擊WordPress網站

WordPress殭屍網路攻擊WordPress網站

Defiant威脅情報團隊最近發現一起針對WordPress網站的有組織的暴力破解攻擊活動。攻擊者創建了一個由受感染的WordPress網站組成的殭屍網路來執行攻擊,攻擊中嘗試通過XML-RPC認證來訪問其他WordPress網站的特權賬戶。Wordfence過去30天共攔截到與該攻擊活動相關的認證有超過500萬次。

攻擊者用一組4個C2伺服器來發送請求給14000個俄羅斯代理提供商best-proxies[.]ru提供的代理伺服器。攻擊者用這些代理使C2流量匿名化。請求傳遞給代理伺服器後,會被發送給超過20000個被感染的WordPress網站。這些網站都運行一個攻擊WordPress網站的攻擊腳本。攻擊鏈如下圖所示:

下面介紹攻擊鏈的詳細情況:

暴力破解攻擊腳本

研究人員分析發現執行暴力破解攻擊的IP幾乎都與主流的web託管提供商相關,而且攻擊的都是WordPress /xmlrpc.php的XML-RPC介面。研究人員還注意到與這些請求匹配的User-Agent字元串與wp-iphone和wp-android與XML-RPC介面交互的方式是匹配的。因為這些應用都會本地保存憑證,因此如果有大量的登陸失敗記錄屬於異常情況。研究人員共發現有超過20000個WordPress網站攻擊其他的WordPress網站。

WordPress攻擊WordPress

攻擊腳本首先會攻擊WordPress網站的XML-RPC介面來測試username/password的組合,對每個請求隨機偽造User-Agent字元串:

暴力破解腳本會通過POST來獲取C2輸入來定義執行設置的字元串,比如目標域名的JSON數組和本地wordlist(詞典):

與攻擊活動相關的詞典包含一小部分常見密碼集。腳本還可以根據常見的模式來動態生成合適的密碼。常見的模式有:

%domainPattern%

%userName%

%userName%1

%userName%123

%userName%2018

%userName%2017

%userName%2016

換句話說,如果暴力破解腳本嘗試以用戶alice來登陸example.com,就會生成alice1, alice2018這樣的密碼。但這種技術在一些給定的網站中並不會成功,因此在大規模嘗試的過程中就會出現大規模失敗。

Multicall組呼功能

WordPress的XML-RPC介面在2015年的暴力破解攻擊中就被關注過,那時候利用組合功能的攻擊還非常流行。使用介面攻擊者可以在一個請求中發送大量的user/password組合。WordPress會測試每個組合,然後返回成功/錯誤的列表。因為攻擊者只需要發送一個憑證列表然後等待結果就可以了,因此這使暴力破解攻擊大規模應用時變得更加簡單。

攻擊活動中的暴力破解腳本默認會執行組呼攻擊。下面的代碼段可以看出,在給定用戶名和一些密碼後,函數會組合一個含有所有要嘗試的密碼的XML對象。

使用指令來執行暴力破解攻擊的C2系統還可以選擇性的定義$startPass和$endPassvariables,這使暴力破解腳本只嘗試一個給定列表的密碼子集,而不是完整的密碼集,這可以節省時間。

Multicall攻擊不再有效

許多WordPress用戶可能並沒有意識到XML組呼攻擊不再有效了。因為WordPress 4.4中引入了wp-includes/class-wp-xmlrpc-server.php的補丁。引入該補丁後,如果一個用戶在目標網站上的XML-RFC嘗試登陸請求失敗了,那麼相同請求中隨後的嘗試都會失敗,即使憑證是有效的。

WordPress 4.4的XML-RPC補丁並沒有發布記錄。但是如果WordPress版本在4.3之前,該攻擊方法還是有效的。攻擊者應該也是意識到了該補丁,研究人員工防火牆攔截到的請求中都定義了$startPass和$endPass參數,並且值也是一樣的。也就是說攻擊腳本每次只嘗試一個用戶名和密碼的組合就結束。

基礎設施

C2伺服器

攻擊鏈在攻擊者和目標站點之間使用了多抽象層。暴力破解攻擊是由受感染的WordPress網路執行的,受感染的WordPress站點是通過代理伺服器網路來接收指令的,所以很難追蹤背後的中心C2伺服器。

但研究人員發現攻擊者用於暴力破解的腳本存在一些錯誤。每個腳本所用的詞典都保存在同一受感染的WordPress站點上,其中含有重新生成字典的函數:

checkWordsList()函數會傳遞一個$path參數,該參數定義了含有字典的遠程地址。如果沒有本地字典,腳本就會從給定的地址下載。路徑是從代理伺服器發給暴力破解腳本的POST數據的剩餘部分。研究人員攔截到的請求中包含有路徑和IP地址。

IP指向一個含有登錄頁的伺服器:

C2伺服器中的簡單登陸頁

C2介面訪問

對C2的進一步分析顯示,對這些系統的認證並不是強制的。嘗試訪問C2介面的頁面會觸發一個302錯誤重定向到登陸頁,但應用在重定向的時候也會發送數據。

到C2伺服器主頁的cURL請求

研究人員用BurpSuite創建了一個忽略登陸重定向的代理規則,這樣就可以瀏覽C2應用的介面了。該介面包含大量特徵,包括訪問含有暴力破解腳本的受感染的WordPress殭屍網站的能力。

C2介面顯示攻擊者導出的日誌列表

Best-Proxies.ru

研究人員通過訪問C2伺服器介面發現這些伺服器和代理伺服器有一定的相關性。每個伺服器在webroot中都含有proxy.txt文件。該文件中有含有上萬條SOCKS代理地址、IP地址和埠的文件。這些IP地址與之前發現的代理伺服器的地址是重合的,也就是說C2在攻擊時根據該文件隨著選擇代理,研究人員共發現14807個代理伺服器。

但是也有C2伺服器的proxy.txt文件中不含有代理地址,而是一個HTML文件。該文件是一個503服務不可達的錯誤頁面副本,其中含有一個到api.best-proxies.ru的鏈接。文件也是俄語的,翻譯過來就是「認證錯誤,key的有效期已過,請購買新key」。

C2伺服器錯誤文件截圖顯示,攻擊者沒有更新用來訪問代理列表的API key。

如何應對

為了防止WordPress網站成為暴力破解攻擊的受害者,管理員應該對錯誤登陸進行限制和鎖定等策略。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

2018年網路安全「金帽子」獎年度評選活動火熱進行中——揭秘豪華評審團
萬豪國際泄露事件後續——簡單調查分析與建議

TAG:嘶吼RoarTalk |