一種新的JavaScript混淆方法利用不可見的Unicode字符來表示二進制值,在針對美國政治行動委員會(PAC)附屬機構的網絡釣魚攻擊中被濫用。
發現此次攻擊的網絡威脅實驗室報告稱,該攻擊發生在2025年1月初,并帶有復雜的跡象,例如使用了:
·針對受害者提供個性化的非公開信息;
·調試器斷點和定時檢查以逃避檢測;
·遞歸包裝郵戳跟蹤鏈接到模糊的最終網絡釣魚目的地。
JavaScript開發人員在2024年10月首次披露了這種混淆技術,它在實際攻擊中的迅速采用凸顯了新研究被武器化的速度。
使JS有效負載“不可見”
新的混淆技術利用不可見的Unicode字符,特別是韓文半寬(U+FFA0)和韓文全寬(U+3164)。
JavaScript負載中的每個ASCII字符被轉換為8位二進制表示,其中的二進制值(1和0)被不可見的韓文字符替換。
混淆后的代碼作為屬性存儲在JavaScript對象中,由于韓文填充字符呈現為空白,因此腳本中的有效負載看起來為空,如下圖末尾的空白所示。
隱藏惡意代碼的空白
一個簡短的引導腳本使用JavaScript代理的“get()陷阱”檢索隱藏的有效負載。當訪問hidden屬性時,Proxy將不可見的韓文填充字符轉換回二進制并重建原始JavaScript代碼。
Juniper分析師報告稱,攻擊者除了上述步驟之外,還使用了額外的隱藏步驟,比如用base64編碼腳本,并使用反調試檢查來逃避分析。
韓文填充字符序列的Base64編碼
Juniper解釋說:“攻擊是高度個性化的,包括非公開信息,最初的JavaScript會在被分析時試圖調用調試器斷點,檢測到延遲,然后通過重定向到一個正常的網站來中止攻擊。”
這種攻擊很難檢測,因為空白減少了安全掃描儀將其標記為惡意的可能性。
由于有效負載只是對象中的一個屬性,因此可以將其注入合法腳本而不會引起懷疑;另外,整個編碼過程很容易實現,不需要高級知識。
Juniper表示,此次活動中使用的兩個域名先前與Tycoon 2FA網絡釣魚工具包有關。如果是這樣,我們很可能會看到這種不可見的混淆方法在未來被更廣泛的攻擊者采用。
參考及來源:https://www.bleepingcomputer.com/news/security/phishing-attack-hides-javascript-using-invisible-unicode-trick/
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.