WordPress REST API 漏洞利用繼續
已發表: 2017-02-14
自 WordPress 安全團隊在 4.7 和 4.7.1 中披露 REST API 端點中的未經身份驗證的提權漏洞以來,已經過去了將近兩週。 該漏洞被默默地修補,披露被推遲了一周,以便讓 WordPress 網站所有者在更新到 4.7.2 時搶占先機。 上週,數十萬個易受攻擊的站點已經被污損,損壞報告仍在不斷湧現。
上週末,攻擊有所增加,WordPress 安全公司看到更多嘗試被他們的防火牆阻止。 向 WordPress 報告該漏洞的網站安全公司 Sucuri 上周正在跟踪“被 w4l3XzY3 攻擊”活動,估計有 66,000 次破壞。 該特定活動現已通過 Google 索引的 260,000 頁。 這是近兩打針對該漏洞的破壞活動之一。
“在過去的 24 小時內,我們看到每個廣告系列的污損頁面平均增長了 44%,”Wordfence 首席執行官 Mark Maunder 週五表示。 “谷歌索引的所有這些活動的污損頁面總數已從 1,496,020 增加到 1,893,690。 在短短 24 小時內,污損頁面總數增加了 26%。”
蒙德引用了一張谷歌趨勢圖表,他說該圖表展示了過去一周污損活動取得的成功。 峰值開始於 WordPress 披露該漏洞的那一天。
然而,另一家提供安全服務的公司 White Fir Design 對 Wordfence 聲稱有 180 萬頁被黑客入侵的說法提出異議。 BBC、The Enquirer、Ars Technica、CIO.com 和其他出版物的報導中引用了大約 200 萬頁的數據。 White Fir Design 認為,被谷歌索引的被黑頁面並不是一個準確的表示。
Sucuri 首席技術官 Daniel Cid 也不完全同意 Wordfence 對情況的評估。 在周末進行了一些研究後,Sucuri 估計有超過 50,000 個網站被黑,每個網站有 20-30 個頁面被污損。 這將是估計值的低端大約 100 萬,最高可達 150 萬。
Sucuri 也開始看到更嚴重的 REST API 漏洞嘗試,其形式是使用允許從帖子和頁面內執行 PHP 的插件對站點進行遠程代碼執行 (RCE) 攻擊。 其中一個嘗試注入 PHP 的活動包括從受感染站點添加內容,然後注入隱藏在 /wp-content/uploads 中的後門。
“污損不會帶來經濟回報,因此它可能很快就會消失,”Cid 說。 “剩下的就是嘗試執行命令 (RCE),因為它使攻擊者可以完全控製網站 - 並提供多種獲利方式 - 以及垃圾郵件 SEO/附屬鏈接/廣告注入。 我們開始看到他們在一些網站上被嘗試,這很可能是這個漏洞在未來幾天、幾週甚至幾個月內被濫用的方向。”
黑客的目標是任何尚未更新到 4.7.2 的網站——其中似乎沒有任何模式。 快速瀏覽最活躍廣告系列的 Google 結果顯示,受感染的網站包括博客、媒體、政府、教育、體育、醫療和技術網站。
為什麼默認啟用 REST API
默認情況下啟用 WordPress REST API,因為計劃是讓更多的管理員和插件功能在未來依賴 REST API。 在最近的攻擊之後,一些用戶評論了漏洞披露,詢問為什麼默認啟用它。
“安全問題在於我不在我的任何網站上使用的功能(REST API),然而,這個功能首先默認啟用,其次是從 WordPress 4.7 開始,你甚至需要一個插件——這可能會引入更多的安全問題——禁用該功能?” 一位用戶 (@helios2121) 對該帖子發表了評論。 “請重新考慮你的安全方法。 製作並非每個人都需要選擇加入的功能。 或者至少提供一種選擇退出的方法,而不需要額外的插件。”

Morten Rand-Hendriksen 打開了一張 trac 票,討論了默認禁用 REST API 並僅在站點管理員請求時啟用它,或者主題或插件依賴於它。
核心提交者 Sergey Biryukov 證實,該計劃是引入更多依賴 REST API 的核心功能。 “關閉 REST API 就像關閉 admin-ajax.php - 兩者都會破壞您的網站,”Biryukov 說。
Rand-Hendriksen 詢問為什麼默認情況下不能保護內容端點,同時允許 REST API 默認打開以用於管理目的。 另一位用戶詢問為什麼默認情況下用戶端點不受保護(即 https://news.microsoft.com/wp-json/wp/v2/users 或 https://www.obama.org/wp-json/wp /v2/users),它“比以往任何時候都更容易在任何使用 4.7+ 的站點上獲取所有用戶名”。

“如果你真的想在你的站點上禁用 REST API,這是我們目前的建議:將其限制為經過身份驗證的用戶,”核心提交者 James Nylen 說。 “但是,我們希望繼續增加 REST API 的採用和使用,我希望隨著時間的推移,即使是這種修改也會破壞越來越多的 WP 功能,例如 API 驅動的主題和嵌入。”
Nylen 向那些希望在使用 WordPress 4.7+ 的網站上遵循該建議的人推薦禁用 JSON API 插件。 該插件目前有超過 10,000 次活動安裝。
WordPress 安全團隊通過幫助主機和安全公司在問題公開之前實施保護措施,努力減輕攻擊。 然而,漏洞的全部披露被隱藏在 Make/Core 博客上,該網站在普通 WordPress 網站所有者中並未廣泛閱讀。 一周後,該披露的鏈接作為上一篇文章的附錄發佈在 WordPress 新聞博客上。
“雖然我感謝負責任地披露此問題並努力解決它,但我希望您考慮通過 WordPress 新聞網站上的新帖子發布未來公告,而不是僅僅將更新附加到以前的帖子,”用戶 @johnrork 評論道關於官方披露。 “如果這在周三出現在我的 RSS 閱讀器中,我可能不是唯一一個可以避免受到損害的人。”
那些閱讀 Make 博客的人在修復自己的網站和/或客戶的網站方面處於領先地位。 那些依賴 WordPress 新聞博客獲取有關安全更新信息的人可能在該帖子最初發佈時閱讀了該帖子,並且一周後再也沒有返回查看更新。 如此嚴重的問題保證了 WordPress 在其新聞博客上的新帖子中的透明度。 這也將自動向官方 WordPress 帳戶和擁有超過一百萬點讚的 Facebook 帳戶上超過 50 萬的追隨者發送一條推文。
幸運的是,也有可能允許攻擊者利用此漏洞的插件的易受攻擊站點的數量要少得多。 污損的網站令人尷尬,但很容易修復。 在大多數情況下,管理員只需更新到 4.7.2 並將已損壞的帖子回滾到最新版本。 大多數網站所有者不知道在公開披露後漏洞攻擊開始出現的速度有多快,但這種情況溫和地提醒了更新 WordPress 的重要性以及保持自動更新的好處。
