AdSanity、AccessPress 插件打開大量 WordPress 網站以進行接管
本周WordPress內容管理系統(CMS)讓管理員十分頭疼,這主要是由于該平臺的兩個完全不同的附加組件的安全問題。
第一個問題影響WordPress AdSanity插件。這是一個嚴重的安全漏洞,可能允許遠程代碼執行(RCE)和全站點接管。
第二個問題涉及經典的供應鏈攻擊,其中網絡犯罪分子破壞了屬于AccessPress Theme的40個主題和53個插件,以便向它們注入webshell。因此,任何安裝了受感染插件之一的網站也將對RCE和完全接管開放。
AdSanity插件允許RCE
AdSanity是WordPress的一個輕型廣告輪播插件。它允許用戶創建和管理網站上顯示的廣告,并通過一個集中的儀表板記錄瀏覽量和點擊量。
忍者技術網絡(Ninja Technologies Network)的研究人員稱,該漏洞在CVSS漏洞嚴重性等級上的評分約為9.9(滿分10分),“可能允許低權限用戶執行任意文件上傳、遠程代碼執行和存儲的跨站點腳本攻擊?!?/p>
他們在周二的一篇文章中解釋說,,漏洞(尚未分配CVE)是由于訪問控制被破壞而產生的。當用戶在網站上投放廣告時,他們會上傳包含材料的.ZIP文件。該過程在“adsanity/views/html5-upload.php”腳本中使用ajax_upload函數進行管理。
根據NinTechNet的說法:“該功能用于將.ZIP存檔的內容上傳并提取到'wp-content/uploads/adsanity/{post_id}/'文件夾中。”“它只有一個安全隨機數,任何具有貢獻者或以上權限的用戶都可以訪問,并且僅會進行簡單的檢查以確保存檔中有index.html文件。”
在WordPress中,貢獻者角色的權限僅限于三個任務——閱讀所有帖子,以及刪除或編輯他們自己的帖子。投稿人不能發布新帖子或上傳媒體文件,因此這些權限通常分配給一次性或有限角色的內容創建者、自由職業者和其他在公司網站上閑逛的人。
但是,由于該漏洞,惡意貢獻者可以通過AdSanity插件獲得對網站后端的完全訪問權限。研究人員指出,只需在要上傳的.ZIP存檔中添加index.php腳本即可實現漏洞利用。
他們解釋說:“它的代碼將由iframe而不是index.html文件加載,并在每次用戶訪問后端的廣告管理器時在metabox內執行?!薄叭绻┛陀幸粋€.htaccess文件來阻止/uploads/文件夾中的PHP代碼執行,攻擊者可以通過上傳另一個.htaccess [file].輕松覆蓋該保護?!?/p>
他們補充說,“此外,攻擊者還可以上傳帶有JavaScript代碼的文件,這可用于瞄準正在審查帖子的管理員?!?/p>
NinTechNet警告說,該漏洞已在1.8.2版本中修復,但更新后,網站所有者仍應審查用戶權限和對插件的訪問權限。
“新版本不允許Contributor用戶上傳文件,但仍允許Author+用戶上傳,因此如果您的博客上注冊了Author用戶,您可能要格外小心,”研究人員解釋說。
AccessThemes后門
與此同時,Jetpack的安全研究人員在對受感染網站進行取證時,偶然發現了AccessPress Themes的后門主題,該主題允許遠程攻擊者執行代碼。
Jetpack研究人員深入研究了該公司的圖書館并很快發現,當涉及到免費產品時,“所有主題和大多數插件......都被注入了后門”,這將使攻擊者能夠完全控制任何安裝了其中一個受損插件的網站。
AccessPress Themes提供了多個免費和付費的主題和插件,可用于自定義WordPress驅動的網站——據其網站稱,總共有64個主題和109個插件,總計360,000次安裝。
不幸的是,Jetpack上周發布的咨詢意見稱,問題似乎仍在繼續:“大多數插件已經更新,”“但是,受影響的主題尚未更新,并且是從WordPress.org主題存儲庫中提取的?!?/p>
值得注意的是,該漏洞會影響直接從開發者網站下載的產品;研究人員指出,任何直接從WordPress.org下載的AccessPress Themes產品都是無毒的。
一個基于Cookie的Webshell
受感染的擴展程序包含一個用于webshell的釋放器,該釋放器被注入到位于主插件或主題目錄中的“initial.php”文件中。
“運行時,它會在'wp-includes/vars.php'中安裝一個基于cookie的webshell,”研究人員解釋說?!皊hell是一個安裝在'wp_is_mobile()'函數前面的函數,名稱為'wp_is_mobile_fix()'。這大概是為了不引起隨意查看'vars.php'文件的人的懷疑?!?/p>
安裝shell后,dropper會將遠程圖像加載到命令和控制(C2)服務器,其中包含受感染站點的URL以及有關它使用的主題的信息。然后,根據分析,它會刪除dropper源文件以避免檢測。
C2可以通過發送帶有用戶代理字符串“wp_is_mobile”以及八個特定cookie的請求來激活webshell以執行代碼。然后后門將這些提供的cookie拼湊在一起并執行有效負載。
他們說,研究人員還發現了第二個稍舊的后門變體,直接嵌入到主題/插件的“functions.php”文件中。然而,所有的這些產品自9月以來都受到了損害。
Jetpack最初的公告底部提供了受攻擊影響的主題和版本的完整列表以及補丁狀態。
研究人員表示,受影響的用戶應該升級到固定版本(如果有的話)——如果沒有可用的安全版本,他們可以用WordPress.org的最新版本替換它。
“請注意,這不會從您的系統中刪除后門,因此您需要重新安裝干凈版本的WordPress以恢復在安裝后門期間對核心文件所做的修改,”該網站補充道。
WordPress:一個有趣的目標&風險中心
NTT Application Security的檢測研究高級主管Zach Jones指出,WordPress插件和主題仍然受到漏洞的困擾——這種情況在某種程度上已經融入了生態系統。
他告訴Threatpost:“WordPress及其生態系統源于一場DIY網站運動,它的開放性很高且易于訪問。”“任何人都可以編寫一個WordPress插件并與全世界分享。WordPress及其底層語言PHP通常是許多具有冒險精神和創業精神的創業者進入Web技術的入口點,這對生態系統來說是一個福音,但對其安全性卻是一個挑戰。WordPress是我早期專業開發網站工作的一部分,而且我個人創建了(幸好沒有發布)WordPress插件,事后看來,這些插件充滿了漏洞。”
nVisium的高級軟件工程師Yehuda Rosen指出,事實上,WordPress世界的開源性質已經吸引了大量具有不同程度安全技能的開發人員。
“任何人都可以創建和上傳自己的插件、主題等——而無需具備入門資格或經驗?!彼嬖VThreatpost?!艾F在任何人都可以從WordPress.org下載超過55,000個插件,以及9,000多個主題——絕大多數是由對安全最佳實踐缺乏經驗的編碼人員編寫的?!?/p>
他補充說:“因此,潛在的易受攻擊的代碼被部署到大量網站,這也使得WordPress生態系統成為潛在攻擊者非常誘人的目標。”
這也意味著,如果專門的攻擊者去尋找WordPress插件中的漏洞,他們幾乎肯定會在WordPress插件中發現漏洞。
“因此,即使只有10%的插件存在安全問題,真實的數字也可能會非常大,因為有數千個易受攻擊的主題,”Rosen說?!伴_源的性質,以及大量的部署,幾乎保證了安全問題將會很多?!?/p>
即便如此,WordPress仍被認為為超過40%的網站提供支持,總計數億個網站。羅森指出,它的范圍實際上延伸得更遠。
“WordPress不僅僅是一個博客軟件。Automattic——WordPress背后的公司——多年來一直在默默地接管更多的網絡領域,”他說。“包括垃圾郵件預防(Akismet)、電子商務(WooCommerce)、社交網絡(BuddyPress),甚至更多看似隨機的領域,如招聘(WPJobBoard)或播客(Pocket Casts)。以上所有屬性都是以WordPress為核心構建的,有人稱其為互聯網上最重要的軟件項目?!?/p>
在這種規模下,確保所有基礎設施的安全似乎是根本辦不到的。Vulcan Cyber的聯合創始人兼首席技術官Roy Horev指出,每個站點管理員都應該參與進來,確保執行安全基礎知識。
“任何運行WordPress的人都應該知道要及時進行他們的安全更新,”他告訴Threatpost。“每當一項技術像WordPress一樣普遍存在時,它就會成為黑客的熱門目標,因為他們知道一定會有些管理員沒有及時進行WordPress插件的更新。我們建議至少每季度對WordPress及其插件進行一次安全審計,并在新的安全版本可用時負責任地更新軟件?!?/p>
NTT的瓊斯補充說:“從企業使用或WordPress 角度來看,這里的一個重要的問題是許多組織沒有為升級WordPress做必要的努力,特別是在安全性方面。在選擇使用任何框架或第三方軟件(如插件)時,必須仔細調查,以確認引入的額外風險作為有效的整體應用程序安全計劃的一部分是已知和可控的?!?/p>
本文翻譯自:https://threatpost.com/adsanity-accesspress-plugins-wordpress-sites-takeover/177932/如若轉載,請注明原文地址。