行業(yè)動態(tài)

NukeSped 通過 Bundlore 發(fā)起了一種新型攻擊

來源:聚銘網(wǎng)絡    發(fā)布時間:2021-07-02    瀏覽次數(shù):
 

信息來源:嘶吼網(wǎng)


在調(diào)查 NukeSped(一種遠程訪問木馬)樣本時,趨勢科技研究人員發(fā)現(xiàn)幾個 Bundlore 廣告軟件樣本使用與 NukeSped 中發(fā)現(xiàn)的相同的無文件例程。

該后門可能是網(wǎng)絡犯罪組織 Lazarus開發(fā)的,該組織至少自 2014 年以來一直活躍。 NukeSped 有多種變體,旨在在 32 位系統(tǒng)上運行并使用加密字符串來逃避檢測。最近,作為 Lazarus 網(wǎng)絡間諜活動的一部分,這種名為 ThreatNeedle 的木馬程序出現(xiàn)了一種更復雜的形式。

在這些樣本中發(fā)現(xiàn)的加密 Mach-O 文件已將 Bundlore(一種以下載合法應用程序為幌子在目標設備中安裝廣告軟件的惡意軟件家族)升級為更隱蔽且常駐內(nèi)存的威脅。 Bundlore 還以 macOS 設備為目標,并與去年對 macOS Catalina 用戶的攻擊有關。北京時間2019年6月4日凌晨,在2019年WWDC全球開發(fā)者大會上,蘋果macOS全新版本Catalina發(fā)布。將iTunes拆分為蘋果音樂、蘋果播客和蘋果TV。

研究人員對 Lazarus 使用的 Ants2WhaleHelper 文件的分析導致研究人員將其檢測為 NukeSped。 VirusTotal 中還發(fā)現(xiàn)了另一個具有 NukeSped 檢測功能的文件 unioncryptoupdater。兩者都包含一個看起來基于 GitHub 提交的例程。然而,奇怪的是,這些文件似乎都沒有使用這個例程。

在 Ants2WhaleHelper 文件上使用 Interactive Disassembler Pro (IDA Pro) 顯示其主要載荷為 _mapBuffer(圖 1),它似乎是 _memory_exec 函數(shù)的修改版本(圖 2)。這個函數(shù)看起來像是基于 GitHub 帖子中的代碼;但是,沒有指向 _memory_exec 函數(shù)的引用。

NukeSped 通過 Bundlore 發(fā)起了一種新型攻擊

_mapBuffer 函數(shù)

NukeSped 通過 Bundlore 發(fā)起了一種新型攻擊

從 GitHub 帖子復制的 _memory_exec 函數(shù)

此外,有效載荷有一個 _resolve_symbol 函數(shù),它似乎沒有被使用。它似乎也不是必需的,如圖 3 所示。NukeSped 通常從 Web 服務器檢索和啟動其有效載荷,因此它不需要多余的 _resolve_symbol 函數(shù),該函數(shù)在內(nèi)部定位數(shù)據(jù)。如圖4所示,在VirusTotal上搜索這個函數(shù)的操作代碼會在201個文件中檢測到它。結(jié)果只產(chǎn)生了兩個NukeSped樣品,而其余的是Bundlore樣本。

NukeSped 通過 Bundlore 發(fā)起了一種新型攻擊

NukeSped(左)與 Bundlore(右)的 _resolve_symbol 函數(shù)

NukeSped 通過 Bundlore 發(fā)起了一種新型攻擊

搜索到的操作碼

類似地,使用 VirusTotal 的 Retrohunt 進行搜索得到 273 個結(jié)果;其中大部分是 Bundlore 文件,只有三個是 Nukesped 文件。但是,這些 Nukesped 樣本中的一個被驗證為來自先前搜索的 Nukesped 文件的父級。在發(fā)現(xiàn)的 Bundlore 樣本中,最古老的樣本可以追溯到去年 5 月。對來自 VirusTotal 查詢的這些 Bundlore 樣本的進一步調(diào)查顯示,這些樣本確實使用了無文件例程,使 Bundlore 能夠直接從內(nèi)存中執(zhí)行有效載荷。

Bundlore 的無文件例程

研究人員對 Bundlore 樣本的研究表明,它們利用了 NukeSped 樣本中未使用的相同功能。如圖 5 所示,它們被混淆了,因為在 IDA Pro 中反匯編時它們的名稱是隨機的。雖然函數(shù)有一些差異,但內(nèi)存文件執(zhí)行的例程保持不變(圖 6 和 圖8)。

NukeSped 通過 Bundlore 發(fā)起了一種新型攻擊

混淆函數(shù)

NukeSped 通過 Bundlore 發(fā)起了一種新型攻擊

NukeSped(左列)與 Bundlore(右列)樣本的反匯編

其中一個 Bundlore 樣本(sha256:0a3a5854d1ae3f5712774a4eebd819f9e4e3946f36488b4e342f2dd32c8e5db2)的主要例程如下:

解密 __DATA.__data 部分以顯示嵌入的 Mach-O 文件,如圖 7 所示。 解密使用每個周期遞增的 XOR 密鑰:例如,0xDD 遞增 0x2A、0xDD、0x00、0x2A、0x54, 0x7E、0xA8、0xD2、0xFC、0x00 等等。

NukeSped 通過 Bundlore 發(fā)起了一種新型攻擊

 __DATA.__data部分的解密例程

調(diào)用一個名為 NSCreateObjectFileImageFromMemory 的函數(shù)從內(nèi)存中的 Mach-O 文件創(chuàng)建一個廣告軟件圖像。之后,調(diào)用 NSLinkModule 將惡意圖像鏈接到主可執(zhí)行文件的圖像庫。 Mach-O 文件格式從可執(zhí)行文件 (0x02) 更改為包 (0x08),然后才能調(diào)用 NSCreateObjectFileImageFromMemory,如圖 6 所示。

在內(nèi)存中解析 Mach-O 文件的頭結(jié)構(gòu)以獲取 value(LC_MAIN),一個值為 0x80000028 的加載命令。該命令包含諸如 Mach-O 文件入口點的偏移量之類的數(shù)據(jù)(圖 8)。之后,廣告軟件檢索偏移量并轉(zhuǎn)到入口點。

NukeSped 通過 Bundlore 發(fā)起了一種新型攻擊

在 NukeSped(左列)與 Bundlore(右列)中查找惡意圖像的入口點

Bundlore 的 Mach-O 文件在內(nèi)存中運行

解密密鑰和增量值在 Bundlore 樣本中有所不同,為了更好地理解嵌入文件,研究人員創(chuàng)建了一個 Python 腳本來解密和提取嵌入的 Mach-O 文件。通過這樣做,研究人員能夠觀察到一個這樣解密的 Mach-O 文件(sha256:a7b6639d9fcdb13ae5444818e1c35fba4ffed90d9f33849d3e6f9b3ba8443bea),它連接到一個目標URL (13636337101185210173363631[.]cloudfront[.]net/?cc-00&),但是地址在不同的樣本中是不同的。然后下載一個名為 Player.app 的應用程序包,它偽裝成 Flash Player,然后被下載并解壓縮到 /tmp 目錄中。 chmod 777 命令用于提取的應用程序包,然后啟動偽造的應用程序。在執(zhí)行這些例程時,Bundlore 會顯示一條欺詐性錯誤消息(圖 10)。完成后,它通過調(diào)用 sleep 函數(shù)并重復循環(huán)來休眠。

NukeSped 通過 Bundlore 發(fā)起了一種新型攻擊

解密后的 Mach-O 文件的主要程序

NukeSped 通過 Bundlore 發(fā)起了一種新型攻擊

Player.app 顯示的虛假錯誤消息


 
 

上一篇:普京年度電話直播遭黑客攻擊

下一篇:2021年7月2日聚銘安全速遞