macOSTriageCollectionScript
macOS के लिए एक ट्राइएज डेटा संग्रह स्क्रिप्ट जो sysdiagnose का उपयोग करती है और जाँच के लिए उपयोगी ट्राइएज डेटा एकत्र करने हेतु कुछ अतिरिक्त सुविधाएँ जोड़ती है।
स्क्रिप्ट क्या एकत्र करती है?
एकत्र किए गए डेटा में शामिल हैं:
- sysdiagnose, macOS/iOS ऑपरेटिंग सिस्टम की एक विविधता पर उपलब्ध एक उपयोगिता जो 'सिस्टम-व्यापी नैदानिक जानकारी' एकत्र करती है। यहाँ मुख्य रूप से लॉग फ़ाइलों और इसके द्वारा एकत्र किए गए लाइव डेटा के लिए उपयोग किया जाता है।
- फ़ाइल सूचियाँ, क्योंकि APFS में NTFS जैसी मास्टर फ़ाइल तालिका नहीं होती है, यह जानने के लिए कि फ़ाइल सिस्टम पर क्या मौजूद है, हम stat, shasum, और file के संयोजन का उपयोग करके कई CSV फ़ाइलें बनाते हैं। एकत्र किए गए डेटा का उपयोग थ्रेट इंटेलिजेंस फ़ीड के साथ मिलकर फ़ाइल हैश द्वारा दुर्भावनापूर्ण फ़ाइलों की पहचान करने या असामान्य फ़ाइलों की पहचान करने के लिए किया जा सकता है। यह काफी गहन प्रक्रिया है इसलिए स्क्रिप्ट में एक फ़्लैग है जो क्विक मोड में चलाने के लिए है जहाँ यह चरण शामिल नहीं होता है।
- Safari, Chrome, और Firefox से ब्राउज़र डेटा एकत्र किया जाता है ताकि दुर्भावनापूर्ण डाउनलोड, फ़िशिंग हमलों को खारिज किया जा सके, या किसी भी संदिग्ध ब्राउज़र एक्सटेंशन की पहचान की जा सके।
- Bash/Zsh इतिहास एकत्र किया जाता है ताकि यह निर्धारित किया जा सके कि सामान्य गतिविधि क्या है, किसी भी विसंगति या कीबोर्ड पर सीधे हाथ की गतिविधि की पहचान की जा सके।
- FSEvents, ये एक अस्थिर लॉग स्रोत हैं जो विंडोज़ मशीन पर USN जर्नल से बहुत अलग नहीं हैं। हालाँकि sysdiagnose द्वारा एकत्र किए गए 'system_logs.logarchive' में शामिल हैं, इनका उपयोग फ़ाइल सिस्टम पर हाल की गतिविधि का दृश्य प्राप्त करने के लिए किया जा सकता है जो अभी तक 'system_logs.logarchive' में लॉग नहीं हो सकती है।
- विस्तारित विशेषता संग्रह xattr और mdfind का उपयोग करके विशेषताओं को खोजने और पार्स करने के लिए करता है जिन्हें Sqlite3 डेटाबेस में सहेजा जाता है। विशेषता के लिए एक फ़ाइल प्रकार निर्धारित किया जाता है और डेटा हेक्स में सहेजा जाता है, डिफ़ॉल्ट रूप से केवल "kMDItemDownloadedDate" और "kMDItemWhereFroms" विशेषताएँ एकत्र की जाती हैं, हालाँकि अतिरिक्त विशेषताएँ जोड़ना section_7 फ़ंक्शन में attributes सरणी को जोड़कर किया जा सकता है।
- कई स्थायित्व तंत्र भी एकत्र किए जाते हैं जिनमें LaunchAgents, LaunchDaemons, LoginItems, और Emond नियम शामिल हैं।
- अंत में lsof से कुछ लाइव डेटा किसी भी असामान्य फ़ाइल, प्रक्रिया, या नेटवर्क कनेक्शन की पहचान करने के लिए है।
उपयोग
स्क्रिप्ट को sysdiagnose और विभिन्न फ़ाइल सिस्टम स्थानों के माध्यम से संग्रह की अनुमति देने के लिए sudo के रूप में चलाया जाना चाहिए, स्क्रिप्ट केवल sudo के रूप में चलाई जा सकती है।
टर्मिनल के पास डिफ़ॉल्ट रूप से विभिन्न स्थानों तक पहुँच नहीं होती है जिनकी उसे आवश्यकता होगी, इसलिए आपको टर्मिनल के लिए 'फुल डिस्क एक्सेस' सक्षम करना होगा। यह सिस्टम प्राथमिकताओं में सुरक्षा और गोपनीयता > गोपनीयता -> फुल डिस्क एक्सेस के अंतर्गत किया जा सकता है, परिवर्तनों की पुष्टि करने के लिए विंडो के निचले बाएँ कोने में लॉक पर क्लिक करें और अपना टर्मिनल सत्र पुनः आरंभ करें।
यदि कोई त्रुटि होती है तो उसे संग्रह के एक अनुभाग के अनुरूप *.errors फ़ाइलों में से एक में सहेजा जाएगा।
एकत्र किया गया डेटा वर्तमान कार्यशील निर्देशिका में इस पैटर्न 'होस्टनाम का md5'_YYYY-MM-DD_HHMMSS/ का अनुसरण करने वाली निर्देशिका में सहेजा जाता है। जब संग्रह समाप्त हो जाता है तो डेटा को होस्टनाम के md5 के नाम पर एक tar.gz में संपीड़ित किया जाता है, होस्टनाम का परिवर्तन विशेष वर्णों के आसपास किसी भी समस्या को रोकने के लिए होता है।
स्क्रिप्ट फ़्लैग:
'''
क्विक मोड: -q
फ़ाइल सूचियाँ बनाना छोड़ने के लिए स्क्रिप्ट चलाते समय इस फ़्लैग को शामिल करें।
सहायता: -h
एक संक्षिप्त सहायता संदेश प्रिंट करें
'''
अस्वीकरण
यह स्क्रिप्ट संपीड़ित होने के बाद एकत्र किए गए डेटा को नहीं हटाती है, इसमें संवेदनशील जानकारी होती है, उपयोग के बाद इसे सुरक्षित रूप से हटाना सुनिश्चित करें।
स्क्रिप्ट, उपयोग में आसानी के लिए, टर्मिनल के लिए फुल डिस्क एक्सेस सक्षम करने की आवश्यकता होती है, संग्रह के बाद इस एक्सेस को अक्षम करने की अनुशंसा की जाती है।
अंत में एकत्र किए गए डेटा को फोरेंसिक रूप से सुदृढ़ नहीं माना जाना चाहिए।
macOS 10.15 पर परीक्षण किया गया