歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

Evernote Chrome擴展漏洞分析

來源:本站整理 作者:佚名 時間:2019-06-17 TAG: 我要投稿


 
0x00 前言
2019年5月,Guardio研究團隊發現了Evernote Web Clipper Chrome插件中的一個嚴重漏洞。這是一個邏輯缺陷,攻擊者可以借此破壞域名隔離機制,以用戶身份來執行代碼,最終訪問敏感用戶信息(不局限于Evernote自己的域名)。金融、社交媒體、個人郵件等其他信息都是攻擊者潛在的目標。這個通用型XSS漏洞編號為CVE-2019-12592。
成功利用漏洞后,如果用戶訪問攻擊者控制的網站,第三方網站就可以竊取訪問者的私密數據。在PoC中,Guardio演示了如何利用該漏洞訪問社交媒體(讀取并發表社交內容)、金融交易歷史、個人購物清單等。
由于Guardio及時反饋,Evernote已經修復該漏洞,并在幾天內推出了新版本。
 
0x01 背景
現在大多數互聯網用戶已經不需要下載可執行文件或者安裝專用軟件。對于社交賬戶、購物以及金融領域,用戶們已經越來越傾向于直接使用瀏覽器提供的軟件及工具。
這種場景也給app開發者帶來了不小挑戰。某些工具需要更多訪問權限,才能更出色地完成任務,此時就輪到瀏覽器擴展(extension)派上用場。雖然app開發者的初衷是提供更好的用戶體驗,但擴展通常具備訪問大量敏感資源的權限,因此與傳統網站相比可能會帶來更大的安全風險。
在Guardio安全研究工作中,我們的研究人員發現了Evernote Web Clipper Chrome擴展中的一個嚴重漏洞。由于Evernote現在使用范圍特別廣泛,這個問題影響范圍較大,在本文撰寫時大概有超過4,600,000用戶受到影響。
與之前擴展中的嚴重漏洞相比(比如大家熟悉的Grammarly安全漏洞),這個漏洞會直接影響第三方服務,因此攻擊范圍不局限于用戶的Evernote賬戶。
 
0x02 PoC
為了演示攻擊者如何利用這個漏洞,Guardio發布了一個PoC,可以悄無聲息竊取用戶的敏感信息。將幾個攻擊步驟結合在一起后,我們能看到令人驚訝的攻擊效果。
PoC攻擊步驟:
1、用戶瀏覽攻擊者控制的惡意網站(比如社交媒體、郵件或者惡意博客評論等);
2、惡意網站悄悄加載隱藏的、合法的目標站點iframe標簽(鏈接);
3、惡意網站觸發漏洞,導致Evernote內部架構將攻擊者控制的payload注入所有iframe上下文中;
4、注入的payload為每個目標網站專門定制,可以竊取cookie、憑據、私密信息、以用戶身份操作等。

 
0x03 漏洞細節
為了理解漏洞細節,我們首先需要大概了解Evernote Web Clipper Chrome插件如何與站點及frame交互。
Evernote的代碼注入鏈可以追溯到擴展的manifest文件(manifest.json),其中BrowserFrameLoader.js內容腳本會以聲明方式被注入到所有網頁及frame中。需要注意的是,由于注入frame的行為比較敏感,因此這似乎是使用all_frames指令注入的唯一腳本,這樣可以減少可能存在的攻擊面。這個腳本的主要目標是承擔小型的命令及控制服務器角色,以便根據需要將其他代碼載入頁面中。

在通信渠道方面,該腳本通過postMessage API來實現窗口消息傳遞。作為小型注入腳本,該腳本只為幾種消息類型提供處理接口(handler),其中就包含installAndSerializeAll命令,該命令可以注入第二階段的FrameSerializer.js,執行序列化操作。這種機制采用了弱認證方案,本身并不是一個漏洞,但可以作為后續漏洞利用鏈的支撐點,在網站沙盒上下文中運行的腳本可以觸發后續命令。這個消息處理接口涉及到的參數(這里為resourcePath及target)可以作為命令請求消息中的payload字段進行傳遞。

_getBundleUrl函數本來的功能是向該擴展的命令空間(chrome-extension://...)提供有效的URL,但由于代碼邏輯疏忽,并且沒有對輸入進行清洗過濾,因此我們可以使用前面接口的resourcePath輸入參數來篡改URL的第一部分數據。

將這些細節組合成完整的利用鏈,該漏洞可以允許遠程攻擊者通過簡單的一條window.postMessage命令,將自己可控的腳本載入其他網站的上下文中。通過濫用Evernote的注入框架,惡意腳本可以被注入到頁面的所有目標frame中,無視跨域策略約束。

攻擊者可以通過這種方法,通過可控的任何網站實現通用型XSS注入。漏洞利用成功后,攻擊者還可以執行各種操作,Guardio在向Evernote提供的PoC中只給出了一些攻擊場景,實際上利用場景要廣泛得多。
 
0x04 緩解措施
Evernote已經發布了補丁,向用戶推出了新版本。大家可以訪問Evernote Chrome擴展頁面(chrome://extensions/?id=pioclpoplcdbaefihamjohnefbikjilc,出于安全原因,需要手動將該地址拷貝到瀏覽器地址欄),查看是否安裝了最新版本,確保當前版本號不低于7.11.1。
這個漏洞表明,我們需要重視瀏覽器擴展的安全性,只安裝來自于可信源的擴展,畢竟攻擊者只需要一個不安全的擴展就能對用戶的在線數據造成威脅(如金融、社交媒體、個人郵件等數據)。
 

【聲明】:黑吧安全網(http://www.pcpbjo.tw)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        云南快乐十分前三电视