
Swift-आधारित macOS घटना प्रतिक्रिया ढाँचा जो होस्ट कलाकृतियों, जिनमें फाइलसिस्टम टाइमस्टैम्प, ब्राउज़र डेटा, यूनिफ़ाइड लॉग, स्थायित्व तंत्र और प्रक्रिया ट्री शामिल हैं, को एकत्र और विश्लेषण करने के लिए है, जिसमें अंतर्निहित विश्लेषण और टाइमलाइन निर्माण शामिल है।

Aftermath एक Swift-आधारित, ओपन-सोर्स इंसिडेंट रिस्पॉन्स फ्रेमवर्क है।
Aftermath का उपयोग डिफेंडर्स द्वारा समझौता किए गए होस्ट से डेटा एकत्र करने और उसका विश्लेषण करने के लिए किया जा सकता है। Aftermath को MDM (आदर्श रूप में) से तैनात किया जा सकता है, लेकिन यह संक्रमित उपयोगकर्ता की कमांड लाइन से स्वतंत्र रूप से भी चल सकता है।
Aftermath सबसे पहले संग्रह के लिए कई मॉड्यूल चलाता है। इसका आउटपुट -o या --output विकल्प के माध्यम से आपकी पसंद के स्थान पर लिखा जाएगा, या डिफ़ॉल्ट रूप से /tmp निर्देशिका में लिखा जाता है।
एक बार संग्रह पूरा हो जाने पर, अंतिम zip/archive फ़ाइल को अंतिम उपयोगकर्ता की डिस्क से खींचा जा सकता है। इस फ़ाइल का विश्लेषण --analyze आर्गुमेंट का उपयोग करके किया जा सकता है जो आर्काइव फ़ाइल की ओर इंगित करता है। इसके परिणाम /tmp निर्देशिका में लिखे जाएंगे। प्रशासक फिर उस विश्लेषण निर्देशिका को अनज़िप कर सकता है और स्थानीय रूप से एकत्रित डेटाबेस का पार्स किया गया दृश्य, फ़ाइल निर्माण, अंतिम एक्सेस और अंतिम संशोधित तिथियों (यदि उपलब्ध हों) के साथ फ़ाइलों की एक समयरेखा, और एक कहानी-रेखा देख सकता है जिसमें फ़ाइल मेटाडेटा, डेटाबेस परिवर्तन और ब्राउज़र जानकारी शामिल है, जिससे संभावित रूप से संक्रमण वेक्टर का पता लगाया जा सकता है।
Aftermath को स्थानीय रूप से बनाने के लिए, इसे रिपॉजिटरी से क्लोन करें
git clone https://github.com/jamf/aftermath.git
Aftermath निर्देशिका में cd करें
cd <path_to_aftermath_directory>
Xcode का उपयोग करके बिल्ड करें
xcodebuild -scheme "aftermath"
Release फ़ोल्डर में cd करें
cd build/Release
aftermath चलाएं
sudo ./aftermath
Aftermath को चलाने के लिए रूट होने के साथ-साथ पूर्ण डिस्क एक्सेस (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 उपलब्ध है। यह pkg हस्ताक्षरित और नोटरीकृत है। यह aftermath बाइनरी को /usr/local/bin/ पर इंस्टॉल करेगा। MDM के माध्यम से तैनात करने का यह आदर्श तरीका होगा। चूंकि यह bin में इंस्टॉल है, तो आप aftermath को इस प्रकार चला सकते हैं
sudo aftermath [option1] [option2]
aftermath बाइनरी को अनइंस्टॉल करने के लिए, रिलीज़ से AftermathUninstaller.pkg चलाएं। यह बाइनरी को अनइंस्टॉल करेगा और aftermath निर्देशिकाओं को हटाने के लिए aftermath --cleanup भी चलाएगा। यदि --output कमांड का उपयोग करने से कोई aftermath निर्देशिका कहीं और रह जाती है, तो उन निर्देशिकाओं को हटाना उपयोगकर्ता/प्रशासक की जिम्मेदारी है।
--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 द्वारा लिखा और लाइसेंस प्राप्त है।