加密C2框架EvilOSX流量分析
本文探索揭示了針對macOS系統的惡意工具EvilOSX的內部機制和流量特征。通過專業分析其加密通信和木馬活動的各個過程,說明了EvilOSX這類安全威脅的運行機制,旨在幫助組織的網絡安全專業人員充分識別和防范這類高級威脅。
01工具簡介
EvilOSX是一款開源的,由python編寫專門為macOS系統設計的C2工具,該工具可以利用自身釋放的木馬來實現一系列集成功能,如鍵盤記錄、文件捕獲、瀏覽器歷史記錄爬取、截屏等。EvilOSX主要使用HTTP協議進行通信,通信內容為特定格式的數據經由base64加密后傳輸。為了規避檢測,EvilOSX的通信響應信息均為404 Not Found頁面。
02衍生木馬分析
在/data/builds目錄下會生成指定腳本類型的文件,其中主要部分是一段base64編碼形式的payload。主要分析生成的python加載器--Launcher-238346.py
a、加載器中攜帶了一段base64加密的python腳本(Connectivity mode.txt),腳本通過python執行這段加密數據后,又通過rm -rf __file__來清除當前目錄下的所有py腳本
圖片
b、Connectivity mode.txt中定義了請求頭中User-Agent和cookie的形式,其中cookie由兩段關鍵數據組成:由受控端計算機用戶名和mac地址組成的16進制數作為session;而后通過“-”連接的一段base64數據,解密后是一些服務端和受控端的信息。并且該腳本還定義了當響應碼為404時,使用base64解密響應體中DEBUG: base64 =DEBUG--> 其中的base64數據。
圖片
c、將受控端與服務端連接時的流量捕獲,解密其中的DEBUG數據,可以獲取又一段python腳本(CONNECT.py),這段腳本會在macOS上注冊一個Launch Agent,并經過base64編碼寫入本地。然后這段payload會在系統啟動時被Launch Agent執行。其中payload的路徑默認為當前用戶主目錄,默認命名為arLPrVu,Launch Agent文件默認文件名為” com.apple.teuAwWo”
圖片
d、arLPrVu的內容為一段openssl aes-256-cbc加密的密文,密鑰就是之前session中攜帶的16進制字符串,手動運行后,木馬會正式與服務端進行聯通。
圖片
03流量分析
EvilOSX從植入程序到數據交互可以通過如下流程圖來描述:
圖片
以下為過程流量分析和解讀:
連接時
圖片
客戶端向服務端發送get請求后,
請求頭cookie與原始木馬中base64密文解密后的形式一致。
圖片
圖片
服務端返回404并在http_server_body部分攜帶base64數據。
圖片
數據的開頭結尾是以DEBUG: base64形式 =DEBUG--> 存在
而404中攜帶的數據,解碼后含義是通過get_uid函數獲取當前計算機用戶名和唯一標識符拼接后轉化為16進制數據,用于下一段中使用openssl命令對一段加密的代碼進行解密,并通過exec()函數執行。
命令執行時
當靶機上的原始木馬文件執行后會在同級目錄下留下一個arLPrVu命名的py腳本文件。回連服務器還需要在手動執行它
測試全部module和部分常見shell命令(ifconfig、ls -l)
會發現存在明顯特征,以執行CVE-2020-3950模塊時為例
圖片
圖片
在POST請求體中,username后接著base64數據
圖片
解密后,就是使用的模塊名,經過測試除了shell命令執行和模塊啟用失敗時,均可在流量中發現這一特征。并且響應碼一定是404。
這一段在木馬中也有體現
圖片
觀成瞰云(ENS)-加密威脅智能檢測系統能夠對EvilOSX工具產生的HTTP流量進行檢測。
圖片
04 總結
在利用EvilOSX-C2工具的過程中,會優先上傳其釋放的木馬文件,該文件具有特殊格式,之后通信過程中會利用404頁面隱藏真實響應,但是基于人工智能、流行為特征和TLS限定域指紋檢測的加密威脅智能檢測系統能夠檢測此類加密通信行為。如今越來越多的攻擊者利用具體加密通信功能C2工具,以增強攻擊的隱蔽性。觀成科技安全研究團隊一直在持續追蹤這些C2工具的最新動態,并積極進行研究和更新,以提高對加密流量的檢測技術。