Aftermath adalah kerangka respons insiden sumber terbuka berbasis Swift.
Dampaknya dapat dimanfaatkan oleh pembela HAM untuk mengumpulkan dan kemudian menganalisis data dari host yang disusupi. Aftermath dapat diterapkan dari MDM (idealnya), namun juga dapat dijalankan secara independen dari baris perintah pengguna yang terinfeksi.
Aftermath pertama-tama menjalankan serangkaian modul untuk dikumpulkan. Outputnya akan ditulis ke lokasi pilihan Anda, melalui opsi -o
atau --output
, atau secara default, ditulis ke direktori /tmp
.
Setelah pengumpulan selesai, file zip/arsip terakhir dapat ditarik dari disk pengguna akhir. File ini kemudian dapat dianalisis menggunakan argumen --analyze
yang diarahkan ke file arsip. Hasilnya akan ditulis ke direktori /tmp
. Administrator kemudian dapat mengekstrak direktori analisis tersebut dan melihat tampilan terurai dari database yang dikumpulkan secara lokal, garis waktu file dengan pembuatan file, terakhir diakses, dan tanggal terakhir diubah (jika tersedia), dan alur cerita yang menyertakan file tersebut metadata, perubahan basis data, dan informasi browser yang berpotensi melacak vektor infeksi.
Untuk membangun Aftermath secara lokal, kloning dari repositori
git clone https://github.com/jamf/aftermath.git
cd
ke dalam direktori Aftermath
cd < path_to_aftermath_directory >
Bangun menggunakan Xcode
xcodebuild -scheme " aftermath "
cd
ke dalam folder Rilis
cd build/Release
Jalankan setelahnya
sudo ./aftermath
Aftermath harus di-root, serta memiliki akses disk penuh (FDA) agar dapat berjalan. FDA dapat diberikan ke aplikasi Terminal yang menjalankannya.
Penggunaan default Aftermath berjalan
sudo ./aftermath
Untuk menentukan opsi tertentu
sudo ./aftermath [option1] [option2]
Contoh
sudo ./aftermath -o /Users/user/Desktop --deep
sudo ./aftermath --analyze < path_to_collection_zip >
Pengguna memiliki kemampuan untuk meneruskan Aftermath file teks predikat log terpadu menggunakan argumen --logs
atau -l
. File yang diteruskan ke Aftermath harus berupa file teks dan setiap predikat harus dipisahkan dengan baris baru. Selain itu, setiap item baris akan menjadi objek kamus. Kunci dalam kamus akan sesuai keinginan pengguna untuk menyebut predikat ini. Misalnya, jika Anda ingin melihat semua event login, kami akan membuat predikat dan memberi judul login_events
.
login_events: processImagePath contains "loginwindow" and eventMessage contains "com.apple.sessionDidLogin
tcc: process == "tccd"
Karena eslogger
dan tcpdump
berjalan di thread tambahan dan tujuannya adalah mengumpulkan data sebanyak mungkin dari thread tersebut, maka eslogger akan keluar setelahnya keluar. Oleh karena itu, baris terakhir file eslogger json atau file pcap yang dihasilkan dari tcpdump mungkin terpotong.
Ada Aftermath.pkg yang tersedia di bawah Rilis. Pkg ini ditandatangani dan diaktakan. Ini akan menginstal biner setelahnya di /usr/local/bin/
. Ini akan menjadi cara ideal untuk menerapkan melalui MDM. Karena ini diinstal di bin
, Anda kemudian dapat menjalankannya seperti
sudo aftermath [option1] [option2]
Untuk menghapus instalasi biner setelahnya, jalankan AftermathUninstaller.pkg
dari Rilis. Ini akan menghapus instalasi biner dan juga menjalankan aftermath --cleanup
untuk menghapus direktori aftermath. Jika ada direktori setelahnya yang berada di tempat lain, dari penggunaan perintah --output
, pengguna/admin bertanggung jawab untuk menghapus direktori tersebut.
--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/)
Proyek ini memanfaatkan proyek open source TrueTree, yang ditulis dan dilisensikan oleh Jaron Bradley.