Aftermath 是一個基於 Swift 的開源事件回應框架。
防禦者可以利用 Aftermath 來收集並隨後分析來自受感染主機的資料。 Aftermath 可以從 MDM 部署(理想情況下),但它也可以獨立於受感染用戶的命令列運行。
Aftermath 首先執行一系列收集模組。其輸出將透過-o
或--output
選項寫入您選擇的位置,或預設寫入/tmp
目錄。
收集完成後,可以從最終用戶的磁碟中提取最終的 zip/存檔檔案。然後可以使用指向存檔檔案的--analyze
參數來分析該檔案。其結果將被寫入/tmp
目錄。然後,管理員可以解壓縮該分析目錄,並查看本機收集的資料庫的解析檢視、包含檔案建立、上次存取和上次修改日期(如果可用)的檔案時間線,以及包含該檔案的故事情節元數據、資料庫變更和瀏覽器訊息,以潛在地追蹤感染媒介。
要在本地建立 Aftermath,請從儲存庫克隆它
git clone https://github.com/jamf/aftermath.git
cd
進入 Aftermath 目錄
cd < path_to_aftermath_directory >
使用 Xcode 構建
xcodebuild -scheme " aftermath "
cd
進入 Release 資料夾
cd build/Release
善後奔跑
sudo ./aftermath
Aftermath 需要 root 權限,並且具有完整磁碟存取權限 (FDA)才能運作。 FDA 可以被授予運行它的終端應用程式。
Aftermath 運行的預設用法
sudo ./aftermath
指定某些選項
sudo ./aftermath [option1] [option2]
範例
sudo ./aftermath -o /Users/user/Desktop --deep
sudo ./aftermath --analyze < path_to_collection_zip >
使用者可以使用--logs
或-l
參數向 Aftermath 傳遞統一日誌謂詞的文字檔案。傳遞給 Aftermath 的文件必須是文字文件,並且每個謂詞需要以換行分隔。此外,每個行項目將是字典物件。字典中的鍵將是使用者想要呼叫該謂詞的任何內容。例如,如果您想查看所有登入事件,我們將建立一個謂詞並將其命名為login_events
。
login_events: processImagePath contains "loginwindow" and eventMessage contains "com.apple.sessionDidLogin
tcc: process == "tccd"
由於eslogger
和tcpdump
在附加執行緒上運行,並且目標是從它們收集盡可能多的數據,因此它們會在 aftermath 退出時退出。因此,eslogger json 檔案或 tcpdump 產生的 pcap 檔案的最後一行可能會被截斷。
版本下有一個 Aftermath.pkg 可用。包裝已簽名並經公證。它將在/usr/local/bin/
安裝後續二進位。這將是透過 MDM 進行部署的理想方式。由於它安裝在bin
中,因此您可以像這樣運行後續操作
sudo aftermath [option1] [option2]
若要解除安裝 aftermath 二進位文件,請執行發行版中的AftermathUninstaller.pkg
。這將卸載二進位檔案並運行aftermath --cleanup
以刪除 aftermath 目錄。如果任何後果目錄駐留在其他地方,則透過使用--output
指令,使用者/管理員有責任刪除所述目錄。
--analyze -> analyze the results of the Aftermath results
usage: --analyze <path_to_aftermath_collection_file>
--collect-dirs -> specify locations of (space-separated) directories to dump those raw files
usage: --collect-dirs <path_to_dir> <path_to_another_dir>
--deep or -d -> perform a deep scan of the file system for modified and accessed timestamped metadata
WARNING: This will be a time-intensive, memory-consuming scan.
--disable -> disable a set of aftermath features that may collect personal user data
Available features to disable: browsers -> collecting browser information | browser-killswitch -> force-closes browers | -> databases -> tcc & lsquarantine databases | filesystem -> walking the filesystem for timestamps | proc-info -> collecting process information via TrueTree and eslogger | slack -> slack data | ul -> unified logging modules | all -> all aforementioned options
usage: --disable browsers browser-killswitch databases filesystem proc-info slack
--disable all
--es-logs -> specify which Endpoint Security events (space-separated) to collect (defaults are: create exec mmap). To disable, see --disable es-logs
usage: --es-logs setuid unmount write
--logs -> specify an external text file with unified log predicates (as dictionary objects) to parse
usage: --logs /Users/<USER>/Desktop/myPredicates.txt
-o or --output -> specify an output location for Aftermath collection results (defaults to /tmp)
usage: -o Users/user/Desktop
--pretty -> colorize Terminal output
--cleanup -> remove Aftermath folders from default locations ("/tmp", "/var/folders/zz/)
該項目利用開源 TrueTree 項目,由 Jaron Bradley 編寫並獲得許可。