sentinelone的研究人員對macOS惡意軟件的2022年審查顯示,運行macOS終端的企業和用戶面臨的攻擊包括後門和跨平台攻擊框架的增加。像CrateDepression和PyMafka這樣的攻擊使用對包存儲庫的錯別字攻擊來攻擊用戶,而ChromeLoader和oRAT等其他威脅則利用錯別字作為攻擊載體。
然而,許多其他macOS攻擊所使用的攻擊載體仍然未知,比如SysJoker(新型惡意軟件正對Windows、Linux 和macOS 操作系統構成威脅,可利用跨平台後門來從事間諜活動),OSX.Gimmick,CloudMensis、Alchemist和lazarus的Operation In(ter)ception,研究人員在分析中偶然發現了惡意軟件,或者在VirusTotal等惡意軟件存儲庫中發現了樣本。
1. 免費內容的誘惑有大量的macOS惡意軟件通過免費內容下載網站傳播,如torrent網站、共享軟件網站、破解的應用程序網站或免費的第三方應用程序分發網站。
此torrent文件實用程序下載一個廣告軟件安裝程序
內容誘餌包括:
破解軟件;
體育直播網站;
vpn、“隱私”廣告和地理圍欄規避;
電影、電視、遊戲和音樂下載網站,DRM規避;
色情和性服務網站。
免費內容誘餌主要用於驅動廣告軟件和捆綁包(bundleware)攻擊,但像LoudMiner這樣的挖礦軟件也以這種方式傳播。
最常見的情況是向用戶提供免費或破解版本的應用程序,用戶開始下載一個據稱包含該應用程序的磁盤映像文件,但在安裝時發現它被稱為“Flash Player”、“AdobeFlashPlayer”之類的文件。這些文件通常是無簽名的,用戶會得到關於如何重寫macOS Gatekeeper以啟動它們的說明。
破解版Adobe Photoshop的誘餌會導致用戶安裝惡意程序
如上圖所示,這是Finder中的一個簡單技巧,即使是非管理員用戶也可以使用它來擊敗Mac內置的安全機制。
最近發現一些攻擊者引導終端用戶重寫其中的Gatekeeper,可能是為了解決組織管理員可能通過MDM(移動設備管理)部署的任何附加安全控制。
一些用戶開始尋找合法內容,但卻被廣告和令人難以置信的交易和優惠拉進了惡意網站。不過,Mac用戶普遍認為,瀏覽此類鏈接本身並不危險,因為他們認為Mac是安全的、不會被病毒攻擊。然而,這些網站的性質,以及堅持使用彈出窗口、誤導性圖標和重定向鏈接,會迅速將用戶從安全的搜索誘導至危險的下載。
雖然“Flash Player”誘餌主要用於廣告軟件和捆綁軟件活動。其他大量利用這一載體的活動包括OSX.Shlayer,Pirrit 和Bundlore。安全供應商可以很好地檢測到這些攻擊,但蘋果內置的基於簽名的檢測技術XProtect往往會忽略這些攻擊。
緩解措施包括:
通過MDM/安全產品的應用程序允許/拒絕列表控制與軟件下載/啟動相關的權限;
通過MDM解決方案或安全產品限制對終端的訪問;
限製或阻止使用安全產品執行未簽名代碼;
使用終端保護軟件防止和檢測已知惡意軟件。
2. 向Mac用戶發布惡意廣告惡意網頁廣告可以在用戶的瀏覽器中運行隱藏代碼,將受害者重定向到顯示虛假軟件更新或病毒掃描警告的彈出窗口的網站。在過去的12個月中,已知的針對macOS用戶的惡意廣告活動包括ChromeLoader和oRAT。
ChromeLoader也被稱為Choziosi Loader或ChromeBack,採用惡意Chrome擴展的形式,劫持用戶的搜索引擎查詢,安裝偵聽器攔截傳出的瀏覽器流量,並向受害者提供廣告軟件。
oRAT是一個用Go編寫的後門植入程序,以未簽名的磁盤映像(.dmg)的形式下載到受害者的計算機上,偽裝成Bitget應用程序的集合。磁盤映像包含一個含有名為Bitget Apps.pkg的包以及com.adobe.pkg.Bitget傳播標識符。
加密的數據塊被附加到包含配置數據(如C2 IP地址)的惡意二進製文件中。
oRAT的加密blob和解密的純文本
緩解措施包括:
使用防火牆控制和web過濾器阻止對已知惡意網站的訪問,在極端敏感的情況下,防火牆只能限制對有限的授權IP的訪問;
使用廣告攔截軟件,廣告攔截程序可以阻止大多數廣告的顯示,但這可能會影響性能和對某些資源的訪問;
部署終端保護軟件以防止和檢測通過惡意廣告傳播的惡意代碼。
3.對開發者的攻擊開發者是大規模攻擊、供應鏈攻擊、間諜活動和政治操縱等攻擊行為的高價值目標。毫無疑問,迄今為止對蘋果開發者最成功的攻擊是XcodeGhost,這是2015年在中國服務器上託管的蘋果Xcode IDE的惡意版本。許多中國開發者選擇下載他們認為是Xcode的本地鏡像,因為從蘋果在美國的服務器下載合法版本非常慢。
XcodeGhost將惡意代碼插入到任何使用它構建的iOS應用程序中,許多受攻擊的應用程序隨後在蘋果應用商店發布。受攻擊的應用程序能夠竊取敏感信息,如設備的唯一標識符和用戶的Apple ID,並在受攻擊的iOS設備上執行任意代碼。
更常見的是,攻擊者試圖通過共享代碼來攻擊開發人員。因為開發人員希望通過借助已有成果來提高工作效率,他們通常會尋找共享代碼,而不是嘗試自己編寫複雜或不熟悉的API調用。
在Github等網站上託管的公共存儲庫中可以找到有用的代碼,但這些代碼也可能帶有惡意軟件或代碼,從而為攻擊者打開攻擊後門。 XCSSET惡意軟件和XcodeSpy都利用共享的Xcode項目危害macOS和iOS軟件的開發人員。
在XCSSET中,項目的.xcodeproj/project.xcworkspace/contents.xcworkspace數據被修改為包含對隱藏在項目xcuserdata文件夾中的惡意文件的文件引用。構建該項目導致惡意軟件被執行,然後在開發人員的設備上進行多階段感染,包括後門。
在XcodeSpy中,攻擊者在GitHub上發布了一個合法開源項目的篡改版本。項目的構建階段包括一個模糊的運行腳本,它將在開發人員的構建目標啟動時執行。
在XcodeSpy示例中發現的模糊腳本
腳本在/private/tmp/.tag目錄下創建了一個隱藏文件,其中包含一個命令:mdbcmd。這反過來又通過反向shell傳輸到攻擊者C2。文件路徑鏈接到VirusTotal上的兩個自定義EggShell後門。
在執行時,自定義的EggShell二進製文件會在~/Library/LaunchAgents/com.apple.usgestatistics.plist或~/Liblery/LaunchAgents.com.appstore.checkupdate.plist處放置LaunchAgent。此plist檢查原始可執行文件是否正在運行;如果沒有,它將從~/Library/Application Support.com/apple.AppStore/.update的‘master’版本創建可執行文件的副本,然後執行它。
鏈接到XcodeSpy的EggShell後門使用的持久性代理
緩解措施包括:
將開發環境與運行環境隔離;
要求所有共享開發人員項目在下載或在公司設備上構建之前都要經過審查和授權;
實施安全開發,如安全編碼指南、代碼審查和代碼加密;
教育開發人員使用外部代碼的危險;
使用終端保護軟件監控可疑和惡意代碼的執行。
4. 開源包存儲庫當攻擊者以開放源代碼包存儲庫為目標時,情況開始變得更加嚴重。通過這些共享的代碼在企業中的許多項目中廣泛使用,安全審查既薄弱又困難。在不同的平台和語言中有許多應用,包括:
PythonPackageIndex(PyPI)Crates.io(Rust)NodePackageManager(NPM)GoModuleIndex(Go)NuGetGallery(.NET)RubyGems(Ruby)Packagist(PHP)Chocolatey(Windows)Scoop(Windows)Homebrew(macOS)CocoaPods(Swift,iOS)Carthage(S wift,macOS)FedoraPackageDatabase(Linux)CentOSPackageRepository(Linux)ArchLinuxUserRepository(Linux)UbuntuPackageRepositories(Linux)AlpinePackageRepository(Linux)MavenCentral(Java)包存儲庫可能容易受到拼寫錯誤攻擊和依賴混淆攻擊。在某些情況下,合法軟件包的所有權被劫持或轉移給開發者。
在2022年5月,一個流行的PyPI包“PyKafka”成為了一個名為“PyMafka”的包的拼寫攻擊的目標。 PyMafka包包含一個Python腳本,用於檢查主機並確定操作系統。
如果設備運行的是macOS,它會連接到C2,下載一個名為“macOS”的Mach-O二進製文件,並將其寫入名為“zad”的/private/var/tmp。二進製文件是upx封裝的,且進行了模糊處理,還釋放了一個Cobalt Strike信標。
就在不久前,Rust儲存庫Crates.io也被攻擊者盯上了,他們用惡意的“rustdecimal”包來拼寫合法的“rust_decimal”包。後者使用GitLab Continuous Integration(CI)管道環境,並釋放了一個Go編寫的macOS編譯的Poseidon負載。
2022年末,一名自稱為“研究員”的攻擊者對PyPI上的PyTorch包進行了依賴混淆攻擊。
依賴混淆攻擊利用了某些包具有託管在私有服務器上的依賴項這一事實。默認情況下,包管理器首先通過搜索公共存儲庫來處理客戶端對依賴項的請求。如果依賴包的名稱在公共回收中不存在,攻擊者可以將自己的惡意包上傳到公共回收中,並攔截來自客戶端的請求。
惡意軟件在攻擊PyTorch時收集並竊取了攻擊設備上的各種敏感數據,以傳輸到遠程URL,包括~/.gitconfig/和~/.ssh/的內容。
PyTorch是一個流行的Python開源機器學習庫,估計已經有大約1.8億次下載。在聖誕節到元旦期間的5天裡,惡意軟件包託管在PyPI上,下載量達到了2300次。
緩解措施包括:
針對通過此載體分發的攻擊的緩解措施包括許多與防範惡意共享開發人員項目相同的建議。此外,安全團隊還可以採納以下建議:
使用私有存儲庫並將包管理器配置為不默認為公共存儲庫;
通過代碼簽名驗證包的真實性;
外部源代碼的定期審計和驗證;
5. 木馬程序對包存儲庫的攻擊可能具有毀滅性和深遠的影響,它們將不可避免地被發現並引起大量關注。相比之下,那些希望更隱蔽地向特定目標發送惡意軟件的攻擊者可能更傾向於對流行應用程序進行木馬攻擊。
2021年,百度搜索引擎中的讚助鏈接被用來通過流行的終端應用程序iTerm2的木馬版傳播惡意軟件。進一步調查OSX.Zuru,該活動還使用了微軟Mac遠程桌面、Navicat和SecureCRT的木馬版本。
這些應用程序在共同設計時使用了不同於合法簽名的開發者簽名,主要是為了確保它們不會被Gatekeeper屏蔽。除了替換原來的代碼簽名外,攻擊者還在.app/Contents/Frameworks/文件夾中使用名為libcrypt .2.dylib的惡意dylib修改了應用程序包。對該文件的分析揭示了監視本地環境、連接到C2服務器和通過後門執行遠程命令的功能。
對木馬應用程序的選擇很有意思,這表明攻擊者針對的是用於遠程連接和業務數據庫管理的工具的後端用戶。
最近,有關的攻擊者被發現傳播木馬化的EAAClient和SecureLink,這些版本提供了一個silver有效載荷。這些木馬在沒有代碼簽名的情況下傳播,攻擊者使用上述技術方法誘導受害者通過終端重置本地安全設置。
研究人員最近還發現了一種惡意版本的開源工具,旨在竊取受害者的密碼和鑰匙鏈,這樣攻擊者就可以完全訪問macOS中所有用戶的密碼。在此示例中,攻擊者使用Resign tool並將其打包到ipa文件中,以便在iOS設備上安裝,這表明攻擊者顯然有意發起攻擊。
緩解措施包括:
驗證所有代碼是否已簽名,以及代碼簽名是否與適當的已知開發人員簽名相對應;
限製或阻止使用安全產品執行未簽名代碼;
使用終端保護軟件防止和檢測可疑或惡意代碼執行。
6. 漏洞和水坑攻擊一種不太常見的攻擊載體,需要一些技巧才能實現,就是利用瀏覽器漏洞攻擊被攻擊網站的訪問者。瀏覽器中的零日漏洞攻擊是黑客經常關注的領域,即使在修補後,這些漏洞仍然可以被用於攻擊未能保持瀏覽器更新的組織或用戶。
在2022年12月13日發布的macOS Ventura和Safari的最新安全更新中,修補了30多個漏洞,包括以下瀏覽器相關漏洞:
CVE-2022-42856:處理惡意製作的web內容可能導致任意代碼執行。
CVE-2022-42867:處理惡意製作的web內容可能導致任意代碼執行。
CVE-2022-46691:處理惡意製作的web內容可能導致任意代碼執行。
CVE-2022-46695:訪問包含惡意內容的網站可能會導致UI欺騙。
CVE-2022-46696:處理惡意製作的web內容可能導致任意代碼執行。
CVE-2022-46705:訪問惡意網站可能導致地址欄欺騙。
7. 供應鏈攻擊上述一些攻擊載體已經可以並且已經被用於試圖進行的供應鏈攻擊,特別是那些涉及木馬應用程序、共享開發人員代碼和包存儲庫的攻擊。然而,這些攻擊都涉及到合法代碼、軟件包和應用程序的假冒或模仿版本。
在供應鏈攻擊中,攻擊者會破壞供應商發送給其他客戶端的合法代碼,這種情況比較少見。早在2016年,流行的macOS torrent客戶端傳輸就攻擊了一個罕見的macOS勒索軟件。攻擊者侵入了開發人員的服務器,並將KeRanger惡意軟件添加到包含該軟件的磁盤映像中。
在2022年,研究人員發現MiMi聊天應用程序的服務器被攻擊。惡意JavaScript已添加到用於安裝聊天應用程序的磁盤映像中。當用戶運行安裝程序時,惡意代碼到達遠程IP以檢索rshell二進製文件。該惡意軟件作為後門,能夠識別受害者設備的指紋,竊取數據並運行遠程命令。
一個名為“rshell”的Mach-O後門包含其C2的硬編碼IP地址
緩解措施包括:
對所有供應商和合作夥伴進行盡職調查,確保他們有良好的安全措施;
定期審計和審查供應鏈的安全性,包括隨時關注供應商和合作夥伴的最新變化;
在整個組織範圍內實施強大的安全控制,包括使用現代終端、雲和身份管理安全控制;
定期更新軟件系統和修補漏洞。
總結預防攻擊可以減少對安全團隊和組織的影響,不幸的是,人們仍然普遍認為代碼簽名、Gatekeeper和蘋果公證服務等macOS控件足以阻止惡意軟件攻擊,但如上所述macOS和微軟一樣也成為了常被攻擊的對象。蘋果自己也曾公開表示mac電腦存在惡意軟件漏洞。
如上所述,通過加強防禦並了解macOS惡意軟件使用的主要攻擊載體,安全團隊可以更好地保護組織。