網路間諜組織「海蓮花」打造全新MacOS後門程序
E安全7月1日訊,最近,國外安全公司Palo Alto Networks在其雲分析平台當中發現了一種最新版本的Mac OS後門程序,該後門程序由網路間諜組織「海蓮花」(OceanLotus,也稱為APT32,該組織自2012年4月起針對中國政府的海事機構、海域建設部門、科研院所和航運企業,展開了精密組織的網路攻擊)所開發利用,這很可能是迄今為止所見到過的最為先進的Mac OS後門程序。以下為E安全譯制的Palo Alto Networks的分析報告。
網路間諜組織「海蓮花」最新版本的Mac OS後門程序主要用於攻擊越南國內的受害目標,而且在距離首次被發現近一年後的今天,大多數反病毒檢測仍然無法發現這款後門。而且後門的活躍度似乎相當驚人。在分析過程當中,我們仍然能夠與2017年6月初建立的C&C(遠程命令和控制伺服器)進行直接通信。
雖然此次發現的版本似乎與2015年5月曝光的海蓮花樣本存在相似之處,但新版本確實利用這兩年時間完成了一系列改進。這些改進具體包括利用誘餌文檔、不再使用命令行工具、強大的字元串編碼機制、具備加密功能的定製化二進位協議流量以及一套模塊化後門。
感染向量
這款新的海蓮花後門通過zip格式文件進行傳播。儘管尚無直接證據可證明其初始感染向量,但我們認為可能性最高的途徑是藉助電子郵件附件作為載體。一旦用戶解壓該zip文件,即會看到一個包含有微軟Word文檔圖標的文件目錄。該文件實際上屬於一個應用程序包,其中包含可執行代碼(見圖一)。在用戶雙擊該所謂的Word文檔之後,木馬執行後將啟動Word並顯示一份假冒的誘餌文檔。
該惡意軟體利用此誘餌文檔掩蓋惡意軟體的執行。這種技術在Windows平台上的各類惡意軟體中可謂屢見不鮮,但在Mac OS平台當中卻相當罕見。為了實現這種誤導,該惡意軟體作者需要欺騙操作系統,即將這個擁有.docx後綴名稱的文件夾視為應用程序包。從傳統角度來看,不少Mac OS惡意軟體已經能夠成功冒充合法的應用安裝程序——例如Adobe
Flash,而海蓮花在其早期版本中也採用過這種打包方式。
圖一:上下文菜單與文件列表
一旦該應用程序包啟動,其就會打開包內Resources文件夾中一個名為.CFUserEncoding的隱藏文件——此文件屬於受密碼保護的Word文檔(見圖二)。另外,其還會將此文件複製到可執行路徑,而後對原有應用程序包進行替換。如此一來,受害目標不會察覺到任何異狀,畢竟預想當中的Word文檔已經順利打開。在本案例中,該Word文件的名稱為「Noi
dung chi tiet.docx」,這一表達正是越南語中的「Details(細節信息)」之意。
圖二:誘餌文檔提示輸入密碼以打開該文件
駐留機制
相較於該後門的早期版本,新版本的駐留機制基本保持不變。新版本會創建一個Launch
Agent,其在受害目標主機啟動時開始運行——這一點不同於原有版本在用戶登錄時方開始運行的方式。另外,新版本後門會根據運行應用程序之用戶的具體UID將自身以不同文件名複製到不同位置。
對於未進行系統引導的用戶,該後門則提取由getpwuid()返回的MD5哈希結構,並將該哈希拆分成〈前8位哈希值字元〉-〈16位哈希值字元〉以及〈後8位哈希值字元〉的形式。這些經過拆分的MD5哈希值會在前面被加上「0000-」,而後作為~/Library/OpenSSL/ 下的一個目錄用於存儲該可執行文件(詳見圖三)。當該用戶進行系統引導時,該可執行文件即會被存儲在系統的/Library/TimeMachine/bin/mtmfs系統級庫目錄當中。
值得一提的是,該可執行文件以及plist位置從表面上看與其它合法應用程序無異。
圖三:根據用戶UID生成的plist與可執行文件名稱及位置
一旦該惡意軟體的駐留機制設置完成,其即會從可執行文件路徑內刪除原本的應用程序包而只留下誘餌文檔,並立足新位置將自身作為服務進行啟動。
取消命令行工具
關於此後門的最新版本,我們首先發現的特徵在於其缺少其它惡意軟體通常會在受害目標主機上用於提供上下文信息的可疑文本。在大多數Mac OS惡意軟體當中,調用system()或exec()函數可以運行其他腳本。但在本案例當中,我們沒有發現任何此類調用或者其它可輕鬆判斷應用程序惡意意圖的命令行工具字元串。與大量從互聯網中獲取並粘貼現成腳本的其他攻擊者相比,這款後門程序的作者顯然對於Mac OS平台擁有更為深入的理解。
這種字元串的缺失可能屬於一種反分析技術,旨在令該惡意軟體看起來更為正常,特別是能夠很好地避免被靜態分析所發現。
字元串解碼
由於明文中似乎並不存在明顯可疑的字元串,因此我們轉而考慮後門作者使用字元串編碼或者混淆機制的可能性。
此後門中的字元串解碼方式對原有版本進行了升級,其中字元串進行XOR編碼,同時利用「Variable」一詞作為鍵。該字元串的解碼過程由bit位移與XOR運算共同組成,其中Variable鍵取決於需要進行編碼處理的字元串長度。如果變數XOR鍵的計算結果為0,則使用0x1B這一默認XOR鍵。圖四所示即為該解碼功能的Python實現方案。
圖四:此惡意軟體字元串解碼功能的Python實現方案
在對字元串進行解碼之後(詳見圖五),我們即可了解該惡意軟體如何實現持久駐留、調查受害目標計算機,並將相關信息發送回C&C伺服器。到這裡,該惡意軟體中所包含的後門功能仍未得到明確體現。
圖五:解碼字元串列表
定製化二進位協議與加密流量
就目前來看,編寫此惡意軟體的作者似乎投入了大量精力以開發自己的定製化通信協議。他們並沒有簡單使用現成的Web伺服器充當其C&C伺服器,這顯然與常見作法有所區別。相反,他們構建起僅屬於自己的C&C機制。
此後門在TCP埠443上採用一項定製化二進位協議——由於該埠使用HTTPS連接,因此傳統防火牆一般不會將其屏蔽。如圖六所示的數據包利用bit位移(見圖七)與XOR配合0x1B鍵共同進行編碼。在執行XOR運算之前,這些bit總是向左旋轉三次。相較於原本僅利用0x1B鍵進行XOR編碼的作法,新版本對於數據包的處理顯然經過了改進。
圖六:由客戶端發送至伺服器的初始數據包
圖七:用於對網路數據包進行編碼/解碼的bit位移功能
在對數據包進行解碼之後,我們即可看到其中的具體欄位。圖八所示為客戶端發送至伺服器的初始數據包。除了「magic」位元組,我們還可以發現數據長度與通信類型。
圖八:由客戶端發送至伺服器的初始數據包(已解碼)
取決於伺服器所發出的具體命令響應,數據包的大小可能超過0x52位元組。超出0x52位元組的數據會進行zlib壓縮,而後利用AES以CBC模式進行加密——其中使用一個null初始化向量(簡稱IV),而由伺服器發出的密鑰則被填充為32位元組。
我們從伺服器處捕獲到實時流量,並發現由伺服器發出的加密密鑰往往屬於臨時性密鑰。這意味著每個接入伺服器的新會話都會被賦予一個不同密鑰,用以對該會話當中的往來數據進行加密。與僅利用單位元組密鑰對XOR編碼進行加密的以往版本相比,這種作法無疑是一大顯著改進。
在對由伺服器發出的數據包進行解碼之後,該後門會驗證「magic」位元組等特定欄位,同時確保所接收到數據的長度不會超過特定值。在該程序的整個執行過程中,其還會檢查並處理一切可能發生的錯誤。
C&C通信
命令與控制伺服器通信順序具體如下:
1. 客戶端通過在命令欄位內配合0x2170272發送數據包以初始化接入伺服器的會話。
2. 伺服器隨後會返回一條臨時加密密鑰與一條命令。
3. 客戶端會檢查該接收自伺服器的數據包是否有效。
4. 客戶端執行由伺服器發出的命令,對結果進行zlib壓縮與AES加密,而後將其發送回伺服器端。
與可輕鬆從字元串當中捕獲具體命令的海蓮花後門以往版本不同,該程序的作者利用常量值對各函數進行了混淆。我們對以下可用命令進行了解碼,具體如圖九所示。
圖九:可用命令列表
命令0x2170272
當該後門被啟動後,其會在/Library/Preferences/.files 或者~/Library/Preferences/.files 當中創建一個文件,具體取決於受害目標的用戶ID。此文件(詳見圖十)包含一個時間戳以及與設備序列號相關聯的受害目標名稱,其隨後會利用MD5進行兩次散列處理。此結果隨後會被複制至長度為0x110位元組的緩衝區,並由AES以CBC模式利用一條空IV與一個「pth」鍵進行加密。加密後的結果將被保存在該文件當中。
在此文件創建完成之後,客戶端會向伺服器發送首個數據包,並在命令欄位當中填入0x2170272。伺服器使用同樣的命令進行確認與響應,而客戶端隨後驗證此文件是否已經確實創建完成。
圖十: ~/Library/Preferences/.files下的解密內容
命令0x18320E0
在0x2170272命令發出後,伺服器接下來利用臨時性密鑰發送命令0x18320E0。如圖十一所示,客戶端將收集全部數據,利用伺服器提供的密鑰對其進行加密,而後將結果發回。這裡需要強調的是,此數據包所發送的為Base64字元串。該字元串在二進位文件內以靜態形式存在且不會變更,這可能代表著其負責對活動或者版本標識進行標記。
圖十一:由客戶端發送至伺服器的數據包內的解密內容
儘管沒有在圖十一中以高亮形式顯示,但此數據包中確實包含有內核引導時間。C&C伺服器可以利用內核引導時間來確定後門是否運行在沙箱環境當中。
命令0x25D5082、0x1B25503與0x1532E65
這些命令利用dlopen()載入一套動態庫,同時包含一項函數指針以利用dlsym()在該共享庫內實現執行。遺憾的是,我們尚不清楚各命令當中所使用的具體動態庫或者函數,這是因為上述命令由伺服器提供,而我們無法捕獲到任何使用這些命令的通信內容。
不過,我們可以作出這樣的假設:由於各函數的參數擁有同樣的參數值,且各命令常量的開頭部分非常相似(詳見圖十二),而此後門又具備一項用於接收文件的函數,因此這些函數很有可能對應著一套伺服器上傳至受害目標主機上的共享庫。這意味著攻擊者可以通過C&C伺服器將更多模塊直接上傳至後門程序內以實現功能添加。
圖十二:代碼片段顯示所載入的函數指針及其參數
總結
當前,大多數Mac OS惡意軟體在複雜度方面相對較低,但攻擊者們顯然已經開始改進其入侵手段。複雜度與技術水平的不斷提升很可能表明未來針對Mac OS設備的惡意軟體將越來越多。考慮到此次海蓮花後門程序的出現,加之此前Sofacy組織專為Mac OS系統推出的黑客工具集合,我們已經觀察到多種專門針對Mac
OS的入侵威脅方案。正因為如此,各類組織機構需要甚至必須以等同於Windows設備防禦水平的安全實踐與實施策略對自有Mac OS設備加以保護。
蘋果公司已經更新了Mac OS保護系統以解決海蓮花後門程序各類變種所帶來的安全風險。
入侵跡象
哈希值
b33370167853330704945684c50ce0af6eb27838e1e3f88ea457d2c88a223d8b Noi dung chi tiet.zip
b3cf3e3b52b4b899cd0814fc75698ea24f08ce18642665adcd3555a068b5c16d Info.plist
07154b7a45937f2f5a2cda5b701504b179d0304fc653edb2d0672f54796c35f7 Noi dung chi tiet
82502191c9484b04d685374f9879a0066069c49b8acae7a04b01d38d07e8eca0 PkgInfo
f0c1b360c0b24b5450a79138650e6ee254afae6ce8f6c68da7d1f32f91582680 .CFUserEncoding
e84b5c5152d8edf1e814cc4b4975bfe4dc0063ef90294cc96b383f523042f783 info.icns
C&C伺服器
call[.]raidstore[.]org
technology[.]Mac OSevents[.]com
press[.]infomapress[.]com
24h[.]centralstatus[.]net
93.115.38.178
Dropped Files
E安全註:本文系E安全獨家報道,轉載請聯繫授權,並保留出處與鏈接,不得刪減內容。聯繫方式:① 微信號zhu-geliang ②郵箱eapp@easyaq.com
@E安全,最專業的前沿網路安全媒體和產業服務平台,每日提供優質全球網路安全資訊與深度思考,歡迎關注微信公眾號「E安全」(EAQapp),或登E安全門戶網站www.easyaq.com , 查看更多精彩內容。


※卡巴斯基產品或被美《國防授權法案》禁用
※美國防部IT預算要求增加5% 保密投資佔總數的22%
※心塞!新型Petya並不是來勒索的,它在清除數據搞破壞!
※北約:「網路」屬於軍事領域
※Linux現嚴重漏洞,僅靠惡意DNS響應就能實施遠程攻擊
TAG:E安全 |
※黑客組織「海蓮花」再活躍 打造全新macOS後門
※新型MacOS後門程序浮出水面 被指與黑客組織「海蓮花」有關聯
※APT32海蓮花組織最新活動:老技術,新後門
※網路間諜組織Tick通過U盤感染未聯網計算機
※頭條:Orangeworm網路間諜組織瞄準全球醫療機構
※俄羅斯打臉國際組織,OAR後又一神秘軍團,室內田徑ANA摘金
※APT 32組織裝備新型「網路攻擊武器」,亞信安全強力解讀
※APT28網路間諜組織瞄準軍事和政府機構
※朝鮮APT組織Lazarus使用KEYMARBLE後門攻擊俄羅斯
※商業丨解鎖品牌聯動新姿勢,Keep組織了新年「花車巡遊」
※MATLAB自帶的自組織神經網路
※動漫中黑暗組織大PK,秦時VS火影VS斗破,羅網PK曉組織
※APT組織「海蓮花」再度活躍 利用後門木馬瞄準東亞國家
※《名偵探柯南》中黑衣組織的大BOSS是誰?
※網路間諜組織通過MikroTik路由器影響受害者
※華為、IBM、Google組織演進的必經之路
※中國B站新加入,日本AR/VR 3D虛擬角色組織VRM掛牌新聯盟
※三星大規模組建印刷OLED等次世代技術開發組織,用Oxide研發QD-OLED TV?
※AMD加入CXL開放組織:聯盟Intel研究CPU/加速器內存共享方案
※AMD加入CXL開放組織:聯盟Intel研究CPU/加速器內存共享方案