《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > macOS.Macma后門(mén)的分析

macOS.Macma后門(mén)的分析

2021-11-26
來(lái)源:維他命安全
關(guān)鍵詞: macOS.Macma

  執(zhí)行摘要

  上周,谷歌的威脅分析小組分享了“使用macOS漏洞分析水坑攻擊”報(bào)告,該活動(dòng)疑似APT活動(dòng)。谷歌的報(bào)告集中在兩個(gè)漏洞的使用上:一個(gè)0 day和一個(gè)N day(有補(bǔ)丁的已知漏洞)。

  事實(shí)上,在谷歌發(fā)布報(bào)告時(shí),這兩個(gè)漏洞已經(jīng)被修復(fù)了幾個(gè)月。而利用這些漏洞投放的惡意軟件卻沒(méi)有受到太多關(guān)注:一個(gè)后門(mén),該后門(mén)即使在最新的macOS Monterey的補(bǔ)丁系統(tǒng)上也能正常運(yùn)行。

  谷歌將該后門(mén)命名為 “Macma”,我們也將使用這個(gè)名字。在谷歌發(fā)布后不久,ObjectiveSee上很快發(fā)布了對(duì)后門(mén)的相關(guān)分析(名為“OSX.CDDS”)。在本文中,我們深入研究了macOS.Macma,分享了更多的IOC來(lái)幫助防御者和分析人員,并推測(cè)了macOS.Macma的一些(迄今未被提及)有趣的工件。

  持久性

  基于谷歌 TAG 團(tuán)隊(duì)的工作,我們成功獲取了威脅者植入的后門(mén)的兩個(gè)版本,我們將其標(biāo)記為UserAgent 2019和UserAgent 2021。兩者都非常有趣,但可以說(shuō)早期的 2019 版本壽命更長(zhǎng),因?yàn)榻桓稒C(jī)制似乎在 macOS Monterey 上運(yùn)行良好。

  2019年版的macOS.Macma在macOS Monterey上可以正常運(yùn)行

  UserAgent 2019是一個(gè)由名為 “SafariFlashActivity.app ”的應(yīng)用程序投放的Mach-O二進(jìn)制文件,其本身包含在一個(gè)。DMG文件中(谷歌發(fā)現(xiàn)的磁盤(pán)鏡像樣本的名稱為 “install_flash_player_osx.dmg”)。UserAgent 2021是一個(gè)獨(dú)立的Mach-O二進(jìn)制文件,包含與2019年版本基本相同的功能以及一些新增的AV捕獲功能。這個(gè)版本的macOS.Macma是在威脅者利用谷歌文章中描述的漏洞時(shí),由一個(gè)單獨(dú)的Mach-O二進(jìn)制文件投放安裝的。

  兩個(gè)版本都在當(dāng)前用戶的~/Library/LaunchAgents文件夾中安裝相同的持久性代理com.UserAgent.va.plist。

  Macma的持久性代理com.UserAgent.va.plist

  如上圖所示,屬性列表包含一些有趣的功能。首先,除了可執(zhí)行文件的路徑外,我們可以看到持久性代理在運(yùn)行前向惡意軟件傳遞兩個(gè)參數(shù):-runMode和ifneeded。

  該代理還將當(dāng)前的工作目錄切換到一個(gè)自定義文件夾,在該文件夾中,將存放來(lái)自單獨(dú)的鍵盤(pán)記錄器模塊的數(shù)據(jù)等。

  我們發(fā)現(xiàn)一個(gè)有趣的現(xiàn)象,開(kāi)發(fā)者選擇將LimitLoadToSessionType鍵的值設(shè)為 “Aqua”。Aqua “值確保LaunchAgent僅在有一個(gè)登錄的GUI用戶時(shí)運(yùn)行(而不是作為后臺(tái)任務(wù)運(yùn)行或在用戶通過(guò)SSH登錄時(shí)運(yùn)行)。這可能是確保其他功能正常運(yùn)行所必需的,例如請(qǐng)求用戶授予對(duì)麥克風(fēng)和輔助功能的訪問(wèn)權(quán)限。

  提示受害者允許macOS.Macma 訪問(wèn)麥克風(fēng)

  然而,由于在完全沒(méi)有指定鍵的情況下,launchd默認(rèn)為 ”Aqua“,因此這種包含是相當(dāng)多余的。我們可以推測(cè),這里包含的鍵表明開(kāi)發(fā)者熟悉在其他背景下開(kāi)發(fā)其他LaunchAgents,而某些背景下鍵可能是必要的。

  ”混亂的“開(kāi)發(fā)過(guò)程

  由于我們正在討論屬性列表,SafariFlashActivity.app 的 Info.plist 中就有一些有趣的工件,這反過(guò)來(lái)又使我們注意到捆綁可執(zhí)行文件中的一些其他奇怪之處。

  查找包含Info.plist的捆綁包中的惡意軟件的一個(gè)好處是,它提供了一些關(guān)于惡意軟件何時(shí)、在什么機(jī)器上構(gòu)建的有趣細(xì)節(jié)。

  macOS.Macma是在ElCapitan上構(gòu)建的

  在這種情況下,我們看到該惡意軟件是在運(yùn)行Build 15C43的El Capitan機(jī)器上構(gòu)建的。這很奇怪,因?yàn)锽uild 15C43從來(lái)都不是一個(gè)公開(kāi)發(fā)布的版本:它是El Capitan 11.2的beta 版(測(cè)試版),在2015年10月至11月左右短暫地提供給開(kāi)發(fā)人員和AppleSeed(Apple beta 測(cè)試人員)。2015 年 12 月 8 日,El Capitan 11.2 發(fā)布了內(nèi)部版本號(hào) 15C50,取代之前的 11.1 公開(kāi)版本,從 10 月 21日開(kāi)始內(nèi)部版本為 15B42。

  在這個(gè)時(shí)候,我們注意到,該惡意軟件是用臨時(shí)簽名進(jìn)行簽名的,這意味著它不需要Apple開(kāi)發(fā)人員賬戶或ID來(lái)滿足代碼簽名要求。

  這里面有一個(gè)異常之處:該捆綁包是在不需要開(kāi)發(fā)人員賬戶的情況下簽名的,但似乎用來(lái)創(chuàng)建這個(gè)版本的macOS.Macma的macOS版本確實(shí)來(lái)自于一個(gè)開(kāi)發(fā)人員賬戶。這樣的賬戶可能屬于作者,可能是偷來(lái)的,也可能是用假身份證獲得的。但是,后兩種情況似乎與臨時(shí)簽名存在矛盾,如果開(kāi)發(fā)者有一個(gè)假的或偷來(lái)的Apple ID,為什么不用它來(lái)編碼,以增加可信度呢?

  當(dāng)我們?cè)诓聹y(cè)開(kāi)發(fā)者或開(kāi)發(fā)者的身份時(shí),軟件包中的另外兩個(gè)工件值得一提。/MacOS中的主要可執(zhí)行文件名為”SafariFlashActivity“,顯然是在2019年9月16日編譯的。在/Resources文件夾中,我們看到了9天前(9月7日)構(gòu)建的可執(zhí)行文件”SafariFlashActivity1“的早期版本。

  雖然這兩個(gè)可執(zhí)行文件共享大量的代碼和功能,但它們之間也有一些區(qū)別。有趣的是,它們似乎是由兩個(gè)完全不同的用戶創(chuàng)建的,有意或無(wú)意為之。

  同一macOS.Macma捆綁包中兩個(gè)二進(jìn)制文件的用戶字符串

  用戶賬戶 ”lifei“(推測(cè)為李飛,一個(gè)常見(jiàn)的中文名字)似乎已經(jīng)取代了用戶賬戶 ”lxk“。當(dāng)然,這可能是同一個(gè)人操作不同的用戶賬戶,或者是兩個(gè)完全不同的人從一個(gè)共同的項(xiàng)目中分別構(gòu)建。事實(shí)上,在如此短的時(shí)間內(nèi),代碼之間存在著足夠大的差異,因此有理由認(rèn)為兩個(gè)開(kāi)發(fā)人員在同一個(gè)項(xiàng)目上獨(dú)立工作,并且一個(gè)開(kāi)發(fā)人員被選為嵌入/MacOs文件夾中的最終可執(zhí)行程序。

  請(qǐng)注意,在 ”lifei “構(gòu)建中,我們看到第一次使用”Mac_Ma “和 ”preexcel“--在最終代碼簽名中用作團(tuán)隊(duì)標(biāo)識(shí)。這些都沒(méi)有出現(xiàn)在 ”lxk “構(gòu)建中,”SafariFlashActivity“似乎是項(xiàng)目名稱。這種分歧甚至擴(kuò)展到包中使用的標(biāo)識(shí)符和代碼簽名中使用的標(biāo)識(shí)符之間的異常不一致,其中一個(gè)是xxxx.SafariFlashActivity,另一個(gè)是xxx.preexcl-project。

  macOS.Macma的捆綁和代碼簽名中使用的標(biāo)識(shí)符不一致

  無(wú)論如何,在2019年版本的macOS.Macma的其他幾個(gè)二進(jìn)制文件中發(fā)現(xiàn)了 ”lifei “這個(gè)字符串,而 ”lxk “卻沒(méi)有再出現(xiàn)。在2021年的版本中,”lifei “和 ”lxk “以及所有其他開(kāi)發(fā)人員工件都從安裝程序和UserAgent二進(jìn)制文件中完全消失了,這表明開(kāi)發(fā)過(guò)程已經(jīng)被故意清理。

  用戶lifei的 ”Macma “似乎已經(jīng)贏得了 ”開(kāi)發(fā)者之戰(zhàn)“

  最后,如果我們回到在軟件包中發(fā)現(xiàn)的各種(公認(rèn)的,可偽造的)編譯日期,還有一個(gè)奇怪的現(xiàn)象:我們注意到,該惡意軟件似乎是在2015年的macOS開(kāi)發(fā)者版本上編譯的,然而Info.plist的版權(quán)日期是2018年,而根據(jù)(完全可操作的)時(shí)間戳,這個(gè)軟件包中的可執(zhí)行文件是在三年多后的2019年9月構(gòu)建的。

  我們能從這些糾纏不清的線索中得出什么結(jié)論?無(wú)可否認(rèn),沒(méi)有什么具體的結(jié)論。但似乎有兩種合理的說(shuō)法,即使是相互競(jìng)爭(zhēng)的說(shuō)法:也許威脅者花了非常大的力氣,而且很可能是不必要的力氣來(lái)混淆這些二進(jìn)制文件中的工件。或者,威脅者存在些許混亂的開(kāi)發(fā)過(guò)程,有不止一個(gè)開(kāi)發(fā)人員和不斷變化的需求。毫無(wú)疑問(wèn),事實(shí)要復(fù)雜得多,但鑒于上述工件的性質(zhì),我們懷疑后者很可能至少是故事的一部分。

  對(duì)于防御者來(lái)說(shuō),這些提供了大量可收集的工件,也許可以幫助我們?cè)谖磥?lái)的事件中識(shí)別這個(gè)惡意軟件或追蹤這個(gè)威脅者。

  鏈接到 Android 和 Linux 惡意軟件

  當(dāng)我們查看可執(zhí)行代碼本身中的工件時(shí),事情開(kāi)始變得更加有趣了。正如我們?cè)诮榻B中指出的,關(guān)于這個(gè)惡意軟件之前的報(bào)告將其稱為 ”O(jiān)SX.CDDS“。我們可以看到命名的原因,因?yàn)榇a中充斥著以CDDS為前綴的方法。

  在2021年UserAgent可執(zhí)行文件中發(fā)現(xiàn)的一些CDDS方法

  但是,該代碼是DDS(數(shù)據(jù)分發(fā)服務(wù))框架的一個(gè)實(shí)現(xiàn)。我們?cè)噲D找到與macOS.Macma中使用的功能相匹配的DDS的特定實(shí)現(xiàn),雖然我們的搜索結(jié)果為空白,但我們確實(shí)發(fā)現(xiàn)了其他使用相同框架的惡意軟件。

  Android惡意軟件投放了一個(gè)包含相同CDDS框架的ELF bin

  指向已知Android 惡意軟件投放器的鏈接

  這些 ELF bin 和兩個(gè)版本的 macOS.Macma 的 UserAgent 還有一個(gè)共同點(diǎn),即字符串”O(jiān)ctstr2Dec“和 ”Dec2Octstr“。

  macOS.Macma和惡意ELF共享對(duì)象文件之間的共同點(diǎn)

  后面的這些字符串,似乎是包含八進(jìn)制和小數(shù)的字符串的轉(zhuǎn)換,可能只是巧合或代碼重用的問(wèn)題。我們發(fā)現(xiàn)的代碼相似性也有指向臭名昭著的Shedun Android惡意軟件的安裝程序的鏈接。

  谷歌的TAG在其報(bào)告中指出,macOS.Macma與一個(gè)他們未能完全修復(fù)的iOS漏洞鏈有關(guān)。我們的分析表明,macOS.Macma背后的威脅者至少是在重用ELF/Android開(kāi)發(fā)人員的代碼,并且可能也將惡意軟件瞄準(zhǔn)了Android手機(jī)。但這些需要進(jìn)一步分析,以了解這些連接的延伸程度。

  Macma的鍵盤(pán)記錄和 AV 捕獲功能

  雖然該惡意軟件之前的報(bào)告已經(jīng)涵蓋了macOS.Macma功能的基本情況,但我們希望擴(kuò)展之前的報(bào)告以揭示更多的 IoC。

  如前所述,macOS.Macma將在~/Library/LaunchAgents/com.UserAgent.va.plist處投放一個(gè)持久性代理,在~/Library/Preferences/lib/UserAgent處投放一個(gè)可執(zhí)行程序。

  正如我們?cè)谏厦嬷赋龅?,LaunchAgent 將確保在正常運(yùn)行之前,可執(zhí)行文件的當(dāng)前工作目錄將更改為上述的”lib “文件夾。該文件夾被用作由鍵盤(pán)記錄器 ”kAgent “收集的數(shù)據(jù)的存儲(chǔ)庫(kù),該記錄器本身與 ”at “和 ”arch “Mach-O二進(jìn)制文件一起被放置在~/Library/Preferences/Tools/。

  由macOS.Macma投放的二進(jìn)制文件

  kAgent鍵盤(pán)記錄器從任何文本輸入字段(包括 Spotlight、Finder、Safari、Mail、Messages 和其他具有密碼等文本字段的應(yīng)用程序)創(chuàng)建捕獲的鍵盤(pán)記錄文本文件。創(chuàng)建的文本文件的名稱帶有Unix的時(shí)間戳,并收集在名為 ”data“的目錄中。

  文件1636804188包含由鍵盤(pán)記錄器捕獲的數(shù)據(jù)

  我們還注意到,這個(gè)惡意軟件會(huì)訪問(wèn)remote.php文件,以返回用戶的IP地址。相同的 URL 有著悠久的使用歷史。

  HTTP://cgi1.apnic.net/cgi-bin/my-ip.php

  圖片

  Android和macOS的惡意軟件都會(huì)ping這個(gè)URL

  最后,我們注意到,在。/MacOS/SafariFlashActivity ”lifei “二進(jìn)制文件中,還有一個(gè)IoC從未出現(xiàn)在其他地方,而且我們?cè)谌魏螠y(cè)試運(yùn)行中也沒(méi)有看到投放,那就是:

  /Users/%s/Library/Safari/Safari.app/Contents/MacOS/UpdateHelper

  惡意軟件試圖在Safari文件夾中投放一個(gè)文件

  這值得一提,因?yàn)槟繕?biāo)文件夾,即用戶的Library/Safari文件夾,自Mojave以來(lái)一直受到TCC保護(hù)。由于這個(gè)原因,任何試圖在那里安裝的行為都會(huì)違反目前的TCC保護(hù)(雖然存在繞過(guò)的情況)。因此,它看起來(lái)像是El Capitan時(shí)代早期代碼開(kāi)發(fā)的遺留物,而且我們確實(shí)在后來(lái)的版本中沒(méi)有看到這個(gè)字符串。但是,它的獨(dú)特性足以讓防御者提防:在任何版本的macOS上都沒(méi)有任何合法的理由讓這個(gè)路徑的可執(zhí)行文件存在。

  結(jié)論

  捕獲針對(duì)macOS用戶的APT是一個(gè)罕見(jiàn)的事件,在這個(gè)示例中,我們很幸運(yùn)地發(fā)現(xiàn)了被投放的惡意軟件,而且非常明顯。不管用來(lái)投放惡意軟件的載體是什么,Payload本身是完全有效的,能夠竊取數(shù)據(jù)并監(jiān)視macOS用戶。這只是警醒我們,僅僅依靠mac設(shè)備本身并不能完全保證安全性。這可能是一個(gè)APT開(kāi)發(fā)的Payload,但代碼很簡(jiǎn)單,任何感興趣的相關(guān)人員都可以復(fù)制。

  IoC

  SHA1

  000830573ff24345d88ef7916f9745aff5ee813d;UserAgent 2021 payload, Mach-O

  07f8549d2a8cc76023acee374c18bbe31bb19d91;UserAgent 2019, Mach-0

  0e7b90ec564cb3b6ea080be2829b1a593fff009f;(Related) ELF DYN Shared object file

  2303a9c0092f9b0ccac8536419ee48626a253f94;UserAgent 2021 installer, Mach-0

  31f0642fe76b2bdf694710a0741e9a153e04b485;SafariFlashActivity1, Mach-0

  734070ae052939c946d096a13bc4a78d0265a3a2;(Related) ELF DYN Shared object file

  77a86a6b26a6d0f15f0cb40df62c88249ba80773;at, Mach-0

  941e8f52f49aa387a315a0238cff8e043e2a7222;install_flash_player_osx.dmg, DMG

  b2f0dae9f5b4f9d62b73d24f1f52dcb6d66d2f52;client, Mach-0

  b6a11933b95ad1f8c2ad97afedd49a188e0587d2;SafariFlashActivity, Mach-0

  c4511ad16564eabb2c179d2e36f3f1e59a3f1346;arch, Mach-0

  f7549ff73f9ce9f83f8181255de7c3f24ffb2237;SafariFlashActivityInstall, shell script

  文件路徑

  ~/Library/Preferences/Tools/at

  ~/Library/Preferences/Tools/arch

  ~/Library/Preferences/Tools/kAgent

  ~/Library/LaunchAgents/com.UserAgent.va.plist

  ~/Library/Preferences/UserAgent/lib/Data/

  ~/Library/Preferences/UserAgent/lib/UserAgent

  ~/Library/Safari/Safari.app/Contents/MacOS/UpdateHelper

  標(biāo)識(shí)符

  xxxxx.SafariFlashActivity

  xxxxxx.preexcl.project




電子技術(shù)圖片.png

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容