close

關鍵詞

pykafka、供應鏈攻擊、惡意軟件

1.
摘要


Sonatype的研究人員上周報告了一個通過惡意Python包"pymafka"進行的供應鏈攻擊,該包被上傳到流行的PyPI代碼源。該軟件包試圖通過名稱仿冒感染用戶:希望尋找合法的"pykafka"軟件包的受害者可能會打錯查詢語句而下載惡意軟件。

雖然名稱仿冒似乎是一種成功率很低的感染目標的方式,但它並沒有阻止威脅行為者去嘗試,這是我們在最近幾周看到的第二次使用這種方法的攻擊。上周,SentinelLabs報道了CrateDepression,這是一個針對Rust軟件庫的名稱仿冒攻擊,目標是MacOS和Linux用戶。

這兩次攻擊都利用了紅隊工具,在macOS設備上投放有效載荷,向操作者發出"信標"。在"pymafka"的案例中,攻擊者進一步利用了一種非常特殊的加殼和混淆方法來掩蓋Mach-O有效載荷的真實性質,事實上,如此特殊的方法我們以前只在野外見過一次,那次是作為OSX.Zuru活動的一部分。

雖然加殼、混淆和信標的使用在Windows攻擊中十分常見,但直到現在還很少看到它們被用來針對MacOS目標。在這篇文章中,我們回顧了這些攻擊技戰術是如何在pymafka和其他攻擊中出現的,並為防禦者提供指標,以幫助檢測它們在macOS端點上的使用。

2.

Pymafka的文字攻擊



我們簡單地回顧一下第一階段的攻擊,以便於了解情況。pymakfa包如此命名是希望用戶能將其與pykafka混淆,後者是一個在企業中廣泛使用的Python的Kafka客戶端。Kafka本身被描述為"一個開源的分布式事件流平台,被成千上萬的公司使用",包括"80%的財富100強公司",這一描述相當清楚地表明了攻擊者的興趣。

pymafka軟件包包含一個Python腳本,用於監視主機並確定其操作系統。

圖 1:setup.py腳本為不同的平台進行不同的邏輯,包括macOS

如果設備運行的是macOS,它就會連接到C2並下載一個名為"MacOs"的Mach-O二進制文件,然後將其寫入/var/tmp(又稱/private/var/tmp)目錄,取文件名為"zad"。

威脅分析人員應注意,/var/tmp與標準的/tmp目錄(又稱/private/tmp)不同,也與Darwin用戶的$TMPDIR目錄不同,這兩個目錄都是惡意軟件有效載荷的更典型目的地。因此,/var/tmp這個很少使用的位置可能不會被一些安全工具掃描或監控。

也許還值得注意的是,'MacOs'本身就是一個錯字。蘋果公司使用的這個詞是以'MacOS'(每個應用程序捆綁包內的目錄名稱,包含程序可執行文件)或'macOS'(操作系統的官方名稱,取代了'OSX')出現的。系統中沒有蘋果公司的二進制文件以'MacOs'這個詞作為名稱。然而,'MacOs'只是作為文件的名稱,因為它是遠程存儲的,在跨URL數據的大小寫搜索中可能是有用的,但正如我們上面指出的,可執行文件是以"zad"寫入本地文件系統。

3.

加殼和混淆的有效載荷


該有效載荷是用UPX加殼的,這是一種十分常見的技術,用於逃避某些類型的靜態掃描工具。除了pymafka之外,UPX最近還被用於oRat的Mac變體、用於OSX.Zuru和用於DazzleSpy的變體中,但比加殼更有趣的是在解壓二進制文件中發現的混淆。

該混淆行為與OSX.Zuru活動的有效載荷有很大的重疊之處。在該活動中,威脅者通過搜索引擎中的贊助鏈接分發了一系列複雜的木馬應用程序,包括iTerm、Navicat、SecureCRT和微軟遠程桌面。對木馬程序的選擇表明,威脅者的目標是使用後台工具進行SSH和其他遠程連接以及進行商業數據庫管理的用戶。

這些木馬程序在/private/tmp/GoogleUpdate投放了一個UPX加殼的Mach-O,使用了我們在pymafka有效載荷中觀察到的同樣的混淆技術。在這兩種情況下,有效載荷執行CobaltStrike信標的功能,與遠程操作員聯繫,以進一步執行任務。

OSX.Zuru解壓後的二進制文件和pymafka解壓後的二進制文件在大小上有很大不同,前者為5.7Mb,後者為3.6Mb,但對這些部分的分析表明它們經過了一個共同的混淆機制。特別是,__cstring和__const部分不僅大小相同,而且在兩個二進制文件中的哈希值也完全相同。

圖 2:突出顯示的數據是Zuru和pymafka有效載荷所共有的

這兩個可執行文件在所有節也顯示出非常相似的熵值。

圖 3:OSX.Zuru有效載荷(左)和pymafka有效載荷(右)的熵值情況

在這一點上,我們並不是說這些活動是相互關聯的;不同的行為者有可能圍繞着一套類似的攻擊技戰術而聯合起來,使用共同的工具或技術來混淆CobaltStrike的有效載荷。

4. 濫用紅隊工具進行入侵


更廣泛地說,我們關於供應鏈攻擊的報告描述了威脅者如何使用PoseidonMythic有效載荷作為其感染鏈的第二階段。Mythic,像CobaltStrike一樣,是一個合法的工具,旨在模擬真實世界的攻擊,供紅色團隊使用。與CobaltStrike不同,Mythic是開源軟件,可以"按原樣"使用,也可以隨意改編。

這兩個框架都非常善於模擬真實世界的攻擊,以至於真實世界的攻擊者都將這些框架作為常用的工具。雖然關於CobaltStrike和對運行Windows和Windows服務器的企業的攻擊已經有一段時間了,但在針對macOS的活動中這是一個相對較新的發展。但是,正如那句老電影裡說的,"如果你建立它,他們就會來"。

5.檢測pymafka和類似攻擊


對於安全團隊來說,這意味着要確保你有很好的覆蓋面,以抵禦常見的紅隊工具和框架,這些工具和框架很容易被攻擊者利用。測試你的安全軟件是否能檢測到使用類似攻擊技戰術的攻擊。

尋找這種特殊混淆技術的威脅分析人員可以考慮獵取具有__TEXT.__cstring部分的二進制文件,該部分的MD5哈希值為c5a055de400ba07ce806eabb456adf0a,並且二進制文件具有類似的熵分布,如上所示。

6. 結論


到目前為止,我們對pymafka活動背後的威脅者還所知甚少,除了他們喜歡仿冒的軟件和使用名稱仿冒本身表明他們對破壞多個企業的興趣濃厚而不管這些企業的行業性質。雖然高度針對性的攻擊隱藏在大規模入侵技術背後以掩蓋真正的目標並不是完全完全不可能,但更簡單的解釋是,這可能是一個具有普通"犯罪軟件目標"的活動--竊取數據、出售訪問權、投放贖金軟件等等。

從我們的角度來看,有趣的是,我們現在看到的可能是針對其他企業平台常用的攻擊技戰術開始"鏡像"到MacOS設備和Mac用戶。對於那些仍然認為Mac電腦比Windows電腦更安全的企業來說,這應該是一個值得思考和關注的問題。安全團隊應考慮相應地調整其風險評估。

7.
攻擊指標


文件

SHA1

pymafka-1.0.tar.gz

c41e5b1cad6c38c7aed504630a961e8c14bf4ba4

setup.py

7de81331ab2638956d93b0874a0ac5c741394135

MacOs(UPXpacked)

d4059aeab42669b0824757ed85c019cd5036ffc4

zad(unpacked)

8df6339297d14b7a4d9cab1dfe1e5e3e8f9c6262

路徑

/var/tmp/zad

網絡指標

141.164.58.147

39.107.154.7

——————————————————————————————————————
END

參考鏈接:https://www.sentinelone.com/labs/use-of-obfuscated-beacons-in-pymafka-supply-chain-attack-signals-a-new-trend-in-macos-attack-ttps/


編輯|李昊

審校|何雙澤、金矢

本文為CNTIC編譯整理,不代表本公眾號觀點,轉載請保留出處與鏈接。聯繫信息進入公眾號後點擊「關於我們」可見。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()