我們很高興推出一系列技術分析文章,重點介紹各種常見漏洞和披露 (CVE),這些文章使用我們的高階威脅檢測技術進行識別和修復。 所有研究均由參與 OPSWAT 網路安全獎學金計劃於 2023 年 9 月啟動。
在這篇文章中,我們將解釋 Foxit PDF Reader CVE- 2020-14425 漏洞以及組織如何保護自己免受利用。
福昕PDF閱讀器
福昕PDF閱讀器是由福昕軟體公司開發的一款PDF工具,為創建、查看、編輯和數字簽名PDF檔案提供了一系列功能。福昕閱讀器的免費版本越來越受歡迎,被超過7億使用者使用。
為了增強其功能和靈活性,福昕PDF閱讀器支援JavaScript擴展,為使用者提供客製化選項;但是,這也帶來了潛在的安全風險,使軟體成為攻擊者的目標。
14425
Foxit PDF Reader 10.0 版之前存在一個漏洞,當打開特製的 PDF 檔時,攻擊者可以在受害者的設備上執行遠端代碼。此漏洞的發生是由於 app.opencPDFWebPage JavaScript 函數的安全漏洞所致。如果 Foxit Reader 配置為使用預設瀏覽器打開 PDF 檔中的嵌入 URL,則可執行檔中的嵌入惡意代碼可能會在不觸發安全警告對話框的情況下執行。
為利用此 CVE 而精心製作的 PDF 檔可以透過電子郵件網路釣魚活動或惡意嵌入連結進行分發。如果使用者使用易受攻擊的 Foxit Reader 版本打開受感染的 PDF 檔,攻擊者可以透過遠端執行代碼來控制受害者的設備。
CVE-2020-14425分析
PDF 檔使用基於樹的結構進行組織,該結構由標題部分、正文部分、交叉引用表和尾部部分組成。
- 標題以 %PDF-1.x 開頭,指示 PDF 格式的版本。目前,格式版本範圍從 1.0 到 1.7。標題部分還包括檔案元資料,例如作者、創建日期和其他相關訊息。
- 正文包括 PDF 檔的全部內容,結構化為頁面、文本流、字體、表單、JavaScript 代碼和其他元素等物件。
- 交叉引用表(外部參照表)保存 PDF 檔中所有物件的引用和位元組偏移量。它可以快速訪問物件,而無需讀取整個檔。
- 尾部儲存查找外部參照表所必需的其他資訊,例如外部參照表中的條目總數和指向其開頭的指標。
由於正文包含 PDF 檔的敏感物件,因此攻擊通常側重於將惡意代碼注入此元件。
由於 PDF 檔無處不在,它們已成為攻擊者的目標。由於 PDF 檔可以包含 JavaScript 代碼,因此當瀏覽器打開時,它們可用於執行各種攻擊,例如拒絕服務 (DoS)、開放重新導向或跨網站腳稿 (XSS)。
此外,攻擊者可能會使用一些可利用的技術,例如釋放後使用(UAF)和緩衝區溢出(BoF)。他們還可能利用軟體故障處理對受害者的系統執行遠端代碼執行 (RCE) 攻擊。因此,PDF 檔可能攜帶勒索軟體,加密機器上的資料並要求支付大量贖金進行恢復,或者攻擊者可以完全控制受害者的機器。
在 Foxit Reader 中,當嵌入網頁 URL 時,使用者有兩個查看選項:在 Foxit Reader 中顯示網頁或使用使用者裝置上的預設瀏覽器。在預設配置中,Foxit Reader 在內部訪問嵌入的網頁。在 PDF 內容中,為了請求打開網頁,Foxit Reader 使用 OpencPDFWebPage 函數(一種 JavaScript) API 旨在啟動 PDF 中嵌入網頁 URL 的打開。
但是,此漏洞中存在一個不正確的輸入驗證漏洞 API,這允許攻擊者在opencPDFWebPage函數中輸入本地檔案路徑。因此,該函數可能會打開帶有附加路徑的惡意檔並執行此可執行檔。此缺陷使攻擊者能夠啟動儲存在受害者電腦上的有效負載並獲得遠端代碼執行。
IE 10 或更高版本的要求是在 Foxit Reader 中打開網頁的選項,會在漏洞利用嘗試期間觸發警告對話方塊,而如果該選項設置為使用預設瀏覽器,則會繞過安全警告。
漏洞利用
透過識別的漏洞,潛在的攻擊媒介涉及利用 PDF 檔作為載入程式執行隱藏附加有效負載的網路釣魚攻擊。在這種情況下,威脅參與者向受害者發送一個包含 PDF 檔和隱藏可執行檔的 ZIP 檔,意圖欺騙他們打開檔案。然後,Foxit Reader 中的 CVE 允許嵌入的 JavaScript 代碼運行隱藏的可執行檔案,從而與攻擊者的電腦建立反向 shell 連接。
為了將JavaScript代碼注入PDF檔案,攻擊者可以直接修改PDF內容檔或使用Foxit Phantom PDF等工具。惡意代碼定義惡意檔案路徑,並使用opencPDFWebPage函數執行有害代碼。
在準備惡意PDF檔後,攻擊者會隱藏可執行檔,並將該資料夾壓縮為ZIP檔。為了逃避防病毒程式的安全保護,攻擊者可能會在將 ZIP 檔發送給受害者之前使用密碼對其進行加密。
如果受害者使用易受攻擊的 Foxit Reader 版本提取並打開惡意 PDF 檔,則可執行檔中嵌入的惡意代碼將被執行,使攻擊者能夠透過反向 shell 破壞受害者的設備。
修復
多防毒引擎掃描技術 Metadefender Core 檢測使用密碼壓縮的惡意檔,使管理員能夠準確識別這些威脅。整合了30多個殺毒引擎,惡意軟體檢測率達到99.99%以上。此外,藉助嵌入式 Deep CDR(內容撤防和重建)技術, Metadefender Core 可以有效地刪除潛在的惡意 JavaScript 代碼,並重新生成經過清理的、安全使用的檔。
此外 MetaDefender Endpoint可以識別易受攻擊的應用程式版本並自動更新到最新的補丁,從而增強端點安全性,以應對未來的潛在威脅。