一個名爲 "Dragon Breath"、"Golden Eye Dog" 或 "APT-Q-27" 的高級持續性威脅(APT) 黑客組織如今向世人展示了一股新趨勢,即使用典型的 DLL 側加載技術的多種複雜變體來逃避檢測。
這些攻擊變體始于一條初始途徑,該途徑利用了一個幹淨的應用程序(最常見的是 Telegram),側加載第二階段的攻擊載荷(有時也是幹淨的),第二階段的攻擊載荷進而側加載惡意軟件加載程序 DLL。
吸引受害者的誘餌是淪爲木馬的 Telegram、LetsVPN 或 WhatsApp 應用程序,這些适用于安卓、iOS 或 Windows 的應用程序據稱針對中國網民進行了本地化處理。淪爲木馬的應用程序被認爲是使用 BlackSEO 或惡意廣告進行推廣的。
據密切關注這夥威脅分子近期攻擊的 Sophos 分析師聲稱,這起活動的目标範圍集中在中國、日本、中國台灣、新加坡、中國香港和菲律賓講中文的 Windows 用戶。
圖 1. 普通攻擊示意圖(圖片來源:Sophos)
雙 DLL 側加載
DLL 側加載是一種自 2010 年以來就被攻擊者利用的攻擊技術,利用 Windows 加載應用程序所需要的 DLL(動态鏈接庫)文件的不安全方式大搞破壞。
攻擊者在應用程序的目錄中放置一個與所需的合法 DLL 同名的惡意 DLL。當用戶啓動該可執行文件時,Windows 優先考慮本地惡意 DLL,而不是系統文件夾中的合法 DLL。
攻擊者的 DLL 包含在此階段加載的惡意代碼,通過利用加載它的受信任、經過簽名的應用程序,爲攻擊者提供特權或在主機上運行命令。
在這起活動中,受害者執行上述應用程序的安裝程序,而安裝程序會在系統上投放組件,并創建桌面快捷方式和系統啓動條目。
如果受害者嘗試啓動新創建的桌面快捷方式(這是威脅分子預料的第一步),而不是啓動應用程序,以下命令就在系統上執行。
圖 2. 在被攻擊系統上執行的命令(圖片來源:Sophos)
該命令運行重命名版本的 "regsvr32.exe"("appR.exe"),以執行重命名版本的 "scrobj.dll"("appR.dll"),并提供一個 DAT 文件("appR.dat")作爲其輸入。該 DAT 文件含有由腳本執行引擎庫("appR.dll")執行的 JavaScript 代碼。
JavaScript 代碼在前台啓動 Telegram 應用程序用戶界面,同時在後台安裝各種側加載組件。
接下來,安裝程序使用幹淨的依賴項("libexpat.dll")加載第二階段的應用程序,進而加載第二個幹淨的應用程序作爲中間攻擊階段。
在攻擊的一種變體中,幹淨的應用程序 "XLGame.exe" 被重命名爲 "Application.exe",而第二階段加載程序也是一個幹淨的可執行文件,已由北京百度網訊科技有限公司簽名。
圖 3. 第一個攻擊變體示意圖(圖片來源:Sophos)
在另一種變體中,第二階段的幹淨加載程序是 "KingdomTwoCrowns.exe",它沒有經過數字簽名,Sophos 無法确定除了混淆執行鏈之外它還有什麽優點。
在攻擊的第三種變體中,第二階段加載程序是幹淨的可執行文件 "d3dim9.exe",已由惠普公司進行數字簽名。
圖 4. 由惠普簽名的可執行文件(圖片來源:Sophos)
這種 " 雙 DLL 側加載 " 技術實現了規避、混淆和持久化等目的,使防禦者更難适應特定的攻擊模式、有效地保護其網絡。
最終的攻擊載荷
在所有觀察到的攻擊變體中,最終的攻擊載荷 DLL 從 txt 文件("templateX.txt")解密後在系統上執行。
該攻擊載荷是支持多個命令的後門,比如系統重啓、注冊表項修改、獲取文件、竊取剪貼闆内容、在隐藏的 CMD 窗口上執行命令等等。
該後門還針對 MetaMask 加密貨币錢包 Chrome 擴展插件,旨在竊取受害者的數字資産。
總之,DLL 側加載仍然是黑客們的一種有效的攻擊方法,也是微軟和開發人員十多年來未能解決的一種方法。
在最新的 APT-Q-27 攻擊中,分析師觀察到 DLL 側加載變體難以跟蹤,因此它們獲得了一條更隐蔽的感染鏈。