Aftermath は、Swift ベースのオープンソースのインシデント対応フレームワークです。
Aftermath は、侵害されたホストからデータを収集し、その後分析するために防御者によって利用される可能性があります。 Aftermath は (理想的には) MDM から展開できますが、感染したユーザーのコマンド ラインから独立して実行することもできます。
Aftermath は、まず収集のために一連のモジュールを実行します。この出力は、 -o
または--output
オプションを使用して選択した場所に書き込まれるか、デフォルトで/tmp
ディレクトリに書き込まれます。
収集が完了すると、最終的な zip/アーカイブ ファイルをエンド ユーザーのディスクから取得できます。このファイルは、アーカイブ ファイルを指す--analyze
引数を使用して分析できます。この結果は/tmp
ディレクトリに書き込まれます。管理者は、その分析ディレクトリを解凍すると、ローカルに収集されたデータベースの解析されたビュー、ファイルの作成日、最終アクセス日、および最終変更日 (利用可能な場合) を含むファイルのタイムライン、およびそのファイルを含むストーリーラインを確認できます。メタデータ、データベースの変更、ブラウザ情報を収集して、感染ベクトルを追跡する可能性があります。
Aftermath をローカルでビルドするには、リポジトリからクローンを作成します。
git clone https://github.com/jamf/aftermath.git
Aftermath ディレクトリにcd
ます。
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
追加のスレッドで実行され、それらからできるだけ多くのデータを収集することが目標であるため、アフターマスが終了するとそれらも終了します。このため、eslogger json ファイルまたは tcpdump から生成された pcap ファイルの最後の行が切り捨てられる場合があります。
Aftermath.pkg はリリースの下にあります。このパッケージは署名され、公証されています。 Aftermath バイナリが/usr/local/bin/
にインストールされます。これは、MDM 経由で導入する理想的な方法です。これはbin
にインストールされているため、次のように aftermath を実行できます。
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/)
このプロジェクトは、Jaron Bradley によって作成およびライセンス供与されたオープンソース TrueTree プロジェクトを利用しています。