如何預(yù)防和監(jiān)測macOS上的FinFisher間諜軟件
人權(quán)倡導(dǎo)組織大赦國際(AmnestyInternational)上周發(fā)布的一份報告披露了一款名為FinSpy的跨平臺間諜軟件套件的macOS變體,該軟件由總部位于德國的機構(gòu)FinFisher開發(fā)并銷售。FinSpy工具在編寫時包含了多種功能,包括鍵盤記錄程序、音頻錄制、攝像頭、截圖工具、遠程訪問shell、文件枚舉和exfilter函數(shù)。在這篇文章中,研究人員來看看如何監(jiān)測macOS變體,并列出一些以前未發(fā)布的攻擊指標。
什么是FinFisher間諜軟件?
根據(jù)FinFisher自己的網(wǎng)站和營銷資料,該公司生產(chǎn)用于“戰(zhàn)術(shù)情報收集”、“戰(zhàn)略情報收集”和“部署方法和開發(fā)”的工具。該公司表示,它只與“執(zhí)法和情報機構(gòu)”合作,并“在全球范圍內(nèi)開展業(yè)務(wù)”。
然而,大赦國際和其他民權(quán)組織(如公民實驗室)已經(jīng)注意到FinSpy被用于針對埃及、埃塞俄比亞和阿聯(lián)酋等地攻擊“活動家、記者和持不同政見者”的活動。除了使用FinFisher產(chǎn)品之外,將這些不同的活動聯(lián)系在一起,可知攻擊目標經(jīng)常是“人權(quán)維護者”。
盡管針對macOS用戶的工具包的惡意軟件已被研究人員發(fā)現(xiàn)了,并且macOS套件的某些組件在Apple桌面平臺的最新版本中似乎未起作用,但最近的測試證實了大赦國際共享的惡意軟件樣本將仍會啟動并感染macOSCatalina(2019年10月8日,macOSCatalina正式上線)安裝。
FinSpyformacOS如何工作?
大赦國際在VirusTotal上提供了該樣本的哈希:
- 4f3003dd2ed8dcb68133f95c14e28b168bd0f52e5ae9842f528d3f7866495cea
盡管VT上的某些引擎已將該樣本拉進了黑名單,但在編寫本文時,大多數(shù)引擎仍未將其識別為惡意軟件。
由于樣本尚未經(jīng)過公開測試,因此需要對用戶進行社會工程設(shè)計,以代替對macOSCatalina的公眾測試。
木馬安裝程序的MacOS文件夾包含兩個可執(zhí)行文件和一個目錄。
Bash腳本InstallÇağlayan包含在隱藏的.log文件夾中來執(zhí)行惡意應(yīng)用程序捆綁包的邏輯:
ARA0848.app的Mach-O可執(zhí)行文件包含用于監(jiān)測虛擬機環(huán)境中執(zhí)行情況的邏輯,以使用Parallels,VMWare或VirtualBox虛擬化軟件中的任何一個來阻止macOS惡意軟件研究人員的分析:
由于在隔離的測試環(huán)境中逆轉(zhuǎn)macOS惡意軟件始終是明智的選擇,因此研究人員必須對樣本進行一些小的改動,以逃過其內(nèi)置的抗分析監(jiān)測程序。在以上的樣本中,研究人員在此實驗室中使用一個獨立的Parallels虛擬機,因此應(yīng)該使用一些簡單的二進制補丁來處理VM監(jiān)測。ParallelsDesktop被稱為macOS上最強大的虛擬機軟件。可以在Mac下同時模擬運行Win、Linux、Android等多種操作系統(tǒng)及軟件而不必重啟電腦,并能在不同系統(tǒng)間隨意切換。
首先,將二進制文件從DMG中復(fù)制到本地磁盤,然后在vi編輯器中打開二進制文件:
然后,從vi的命令行調(diào)用xxd實用程序:
- %!xxd
接下來,研究人員搜索“parallels”樣本。幸運的是,有兩個:
現(xiàn)在研究人員編輯每個字符的第一個字符,并將其從“parallels”改為“xarallels”,方法是將十六進制70(“p”)替換為78(“x”)。然后研究人員使用%!xxd-r將十六進制反轉(zhuǎn)回二進制格式,并使用wq命令將其保存到vi中。
在macOSCatalina上啟動樣本需要重寫公證檢查,之后研究人員就可以立即觀察到來自惡意軟件提升特權(quán)的請求。強制使用后,惡意軟件立即將以下文件寫入用戶的 Library cache文件夾中:
除此之外,F(xiàn)inFisher間諜軟件還通過在/Library/LaunchAgents文件夾中編寫一個名為logind.plist的域級LaunchAgent來尋求保持持久性的作用。
程序參數(shù)以/private/etc/logind為目標,研究人員在其中找到以下setuid,setgid文件:
雖然/etc/logind(或/private/etc/logind)上的路徑是該惡意軟件眾所周知的,在研究人員的測試中刪除的可執(zhí)行文件在VirusTotal上是未知的,據(jù)研究人員所知,之前沒有共享:
可以看到出現(xiàn)了一個不同的文件出現(xiàn)了相同的名稱,VT上顯然也沒有注明其中的原因
- /Library/Frameworks/Storage.framework/Contents/MacOS/logind
- 1cf36a2d8a2206cb4758dcdbd0274f21e6f437079ea39772e821a32a76271d4612
FinSpy是一種完全無法監(jiān)測的新型惡意軟件嗎?
惡意軟件開發(fā)商和經(jīng)銷商總是熱衷于將其產(chǎn)品描繪為“無法監(jiān)測”或“完全不可監(jiān)測”(FUD)來吸引客戶,因此研究人員確信那些向“執(zhí)法和情報機構(gòu)”推銷工具的人也同樣會這樣宣傳。如果你打算購買惡意軟件(尤其是間諜軟件),那么你選擇的第一個功能就是怎不部被發(fā)現(xiàn)。
盡管廣告做的震天響,但是只有極少數(shù)的惡意軟件真正是“完全不可監(jiān)測”,因為它需要以特定的、可預(yù)測的方式行動以實現(xiàn)其目標(例如,記錄擊鍵、與C2通信等等),在這方面FinSpy也不例外。
實際上,安全研究人員和靜態(tài)搜索引擎早已經(jīng)注意FinSpy很久了。特別是FinFisher用于持久性代理的用戶路徑:~/Library/LaunchAgents/logind。
該路徑至少在2017年就被發(fā)現(xiàn)了,在最近幾個月中,可以看到其他攻擊路徑逐步添加到Apple的MRT.app中,在v1.52和v1.64中添加了新的監(jiān)測路徑:
盡管如此,即使當前的MRT.appv1.66仍未在域級別上搜索LoginAgent。
但是,更重要的是,MRT.app的監(jiān)測不會阻止FinSpy對Mac用戶的攻擊。蘋果的MRT.app就是一種感染工具,不過主要是在用戶啟動Mac或登錄用戶帳戶時,以及蘋果在后臺靜默更新該工具時才會運行。
為了防止惡意代碼的啟動和執(zhí)行,蘋果使用了許多不同的技術(shù):Gatekeeper,Notarization和XProtect。雖然很有用,但前兩種軟件存在用戶可屏蔽的弱點,這意味著惡意軟件可以通過對受害者進行社會工程的方式安裝,也可以由臨時訪問受害者計算機的惡意用戶安裝。
在macOS10.15Catalina上,XProtect變得更加具有防御性,并且能夠抵抗用戶的繞過,但是XProtect的作用僅限于它所包含的簽名。因為在實際測試中,研究人員能夠執(zhí)行FinSpy木馬程序安裝程序及其在macOSCatalina10.15.7安裝中包含的隱藏惡意應(yīng)用程序包,因此研究人員推測XProtect尚沒有能力監(jiān)測最新的FinSpy樣本。
SentinelOne是否可以防御FinSpy/FinFisher惡意軟件?
研究人員對上述樣本的測試表明,SentinelOne代理已經(jīng)可以正確地監(jiān)測和阻止了macOS惡意軟件FinFisher/FinSpy。
研究人員的行為監(jiān)測表明,F(xiàn)inSpy惡意軟件嘗試逃避監(jiān)測并進行發(fā)起持久性攻擊,SentinelOne的研究人員已經(jīng)分別找到了MITRE ATT&CK TTPs T1211和T1160。
SentinelOne管理控制臺進程樹精確地映射惡意進程的執(zhí)行,正確地判斷那些屬于惡意程序(紅色部分):
總結(jié)
針對macOS的FinSpy惡意軟件是一種商業(yè)生產(chǎn)和銷售的產(chǎn)物,旨在感染Mac用戶,以進行間諜活動,竊取數(shù)據(jù)和遠程控制目標計算機。盡管研究人員無法確定該間諜軟件是否被全球的執(zhí)法機構(gòu)或情報機構(gòu)“合法”使用,但研究人員仍致力于確保用戶在其端點上受到應(yīng)該有的保護程序或任何其他未經(jīng)授權(quán)的軟件的完全保護。
攻擊指標
本文翻譯自:https://www.sentinelone.com/blog/how-to-catch-a-spy-detecting-finfisher-spyware-on-macos/如若轉(zhuǎn)載,請注明原文地址: