OceanLotus下載器KerrDown分析
OceanLotus (也叫做APT32),其主要攻擊目標是東南亞。過去幾年發生的多起攻擊活動都與APT 32有關,雖然APT 32的攻擊活動是全球性的,但其主要活動在APAC區域,主要攻擊目標包括多個行業、外國政府、與越南相關的活動家和持不同政見者。
本文介紹OceanLotus從2018年初開始使用的定製的下載器惡意軟體KerrDown。研究人員在分析過程中還使用了Jaccard index(Jaccard相似係數)演算法來找出KerrDown惡意軟體家族與資料庫中其他惡意軟體家族的相似性。
研究人員一共發現兩種傳播 KerrDown下載器的方法。第一個是使用含有惡意宏的office文檔,第二個方法是使用含有DLL側載入的合法程序的RAR文件。對RAR文件來說,用於誘騙目標的文件名都是越南語的,如圖11所示。研究人員分析表明攻擊活動的主要目標是越南或說越南語的人。
惡意文檔
分析首先從word文檔開始,研究人員發現文檔中含有新的payload KerrDown。哈希值為(SHA256:89e19df797481ae2d2c895bcf030fe19e581976d2aef90c89bd6b3408579bfc3)。
下圖1是誘餌文檔的截圖。受害者打開誘餌文檔後,文檔中含有一個包含越南語消息的圖片,要求受害者啟用宏來查看文件的內容。乍一看,文檔除了要求啟用宏外沒有其他內容。但仔細查看發現頁面中有兩個base64的二進位大對象(blob)以單獨表格的形式插入到頁面中,而且字體大小被設置為1,以欺騙受害者忽視該內容。使用該技術的另一個原因是許多自動化的工具會檢測含有流的嵌入的二進位文件的存在。
傳播的文檔分析
圖1:誘餌文檔
增大了字體後,base64的blob就可以看到了。解碼後就可以在每個表格的開始看到PE DLL的MZ header,如圖2所示:
圖2: Base64編碼的pedll文件,以文本的形式嵌入到文檔中
圖3是嵌入的宏代碼,負責檢查base64 blob是否應該根據iCheck變數來解碼,iCheck是一個布爾值,如果受害者系統運行的是64位的系統,iCheck就被設置為true,如果受害者系統運行的是32位的系統,iCheck就被設置為false。如果系統是64位的,base64編碼的blob就用左側代碼解碼,如果是32位的,就用右側代碼解碼。
圖3: 基於系統檢查的Base64 blob選擇
研究人員發現攻擊者重用了Motobit的VBS解碼函數。圖4是宏代碼中使用的base64函數和Motobit的VBS base64解碼函數的對比。
圖4: Base64 decoder比較
KerrDown樣本相似性分析
研究人員從文檔中解碼和提取出DLL文件後,使用Jaccard index相似性演算法來分析該樣本和其他OceanLotus使用的惡意軟體樣本的異同。
圖5:使用Jaccard Index進行相似性分析
KerrDown與Cobalt Strike Beacon
基於操作系統的架構,不同版本的嵌入的KerrDown DLL會釋放到受害者機器中。DLL會被釋放到UsersAdministratorAppDataRoaming目錄中,保存為文件main_background.png。該DLL會從URL中取回payload,用DES演算法解密並在內存中執行。因此,只有KerrDown DLL下載器保存在系統中,payload會在不寫入系統的情況下直接在內存中執行。表1表示下載器會根據受害者機器的操作系統架構來下載payload的URL。
表1 : 基於架構的Payload DLL選擇
到KerrDown final payload的鏈接截止分析時還是活動的,因此研究人員下載了一個Cobalt Strike Beacon變種的副本。之前研究人員已經發布了關於OceanLotus在攻擊活動中使用Cobalt Strike的分析。從中可以看出,惡意軟體的目的是下載Cobalt Strike Beacon payload並在內存中執行。
含有KerrDown的RAR
研究人員在調查KerrDown時發現多個含有惡意軟體變種的RAR文件。研究人員還沒有找出傳播的方法和變種的目標。攻擊者通過加入多個攻擊階段,在每一階段加入壓縮和加密的方法來修改下載器代碼。攻擊者將惡意代碼執行的方式從office宏變為通過合法程序實現DLL側載入。
RAR文件
(SHA256:040abac56542a2e0f384adf37c8f95b2b6e6ce3a0ff969e3c1d572e6b4053ff3)的文件名為越南文件名Don khieu nai.rar,翻譯過來就是投訴信。該文件中含有一個合法的老版本的office word可執行文件Noi dung chi tiet don khieu nai gui cong ty.exe,翻譯過來就是學習如何使用你的公司。攻擊者用DLL側載入技術來載入惡意DLL。在打開RAR中的可執行文件時,會載入相同目錄中的惡意DLL。DLL會執行多個階段shellcode,每個shellcode會研用不同的技術來隱藏下一階段。整個安裝步驟如下:
·Word exe文件載入相同目錄中的wwlib.dll,執行DLL的FMain函數。
·DLL解碼body中base64編碼的shellcode,並執行。
·Shellcode解壓縮第2階段shellcode並執行,第2階段shellcode是用開源壓縮代碼URCL來壓縮的。
·第2階段shellcode會用AES解密第3個shellcode。
·第3階段shellcode會從遠程位置 https://cortanasyn[.]com/Avcv提取shellcode並執行;
·第4階段shellcode會在內存中載入嵌入的Cobalt Strike Beacon DLL,並執行。
圖6: 側載入的惡意下載器執行流
根據數據集中所有的KerrDown樣本的編譯時間戳,研究人員發現:
OceanLotus從2018年3月開始使用該下載器,並在之後的攻擊活動中持續使用該下載器。圖7是KerrDown樣本的時間線:
圖7: 下載器DLL的編譯次數
之前已經有分析報告顯示OceanLotus組織來源於越南,因此研究人員分析數據集中的樣本的工作時間。圖8是惡意軟體在GMT 7時間內的編譯次數,發現了該組織的可能的工作時間。OceanLotus組織的大多數的樣本編譯時間為上午9點到下午6點之間。
圖8: 惡意軟體在GMT 7時區內的編譯次數
研究人員發現所有樣本的編譯時間都是在工作日,即周一到周五。因此,說明OceanLotus組織在工作日工作,周末休息。圖9是每周編譯的樣本。
圖9: 惡意軟體的編譯量
結論
OceanLotus是一個活躍多年的APT組織,也是APAC區域比較複雜的攻擊組織之一。本文分析了該組織近期活動中使用的新下載器KerrDown,這也說明該組織在整個攻擊活動中持續構建和使用新的工具和技術。經過對樣本的分析,研究人員發現該組織有固定的工作時間。主要目標是說越南語的受害者,這與OceanLotus的攻擊範圍和行業是符合的,該組織可能使用相同的工具來攻擊其他的目標。
※朝鮮APT組織Lazarus使用KEYMARBLE後門攻擊俄羅斯
※Chrome 0day漏洞:不要用Chrome查看pdf文件
TAG:嘶吼RoarTalk |