OS X Auditor

OS X Auditor एक मुफ्त Mac OS X कंप्यूटर फोरेंसिक टूल है।
OS X Auditor चल रहे सिस्टम या उस सिस्टम की कॉपी जिसका आप विश्लेषण करना चाहते हैं, पर निम्नलिखित आर्टिफैक्ट्स को पार्स और हैश करता है:
- कर्नेल एक्सटेंशन
- सिस्टम एजेंट और डेमन
- तृतीय-पक्ष एजेंट और डेमन
- पुराने और अप्रचलित सिस्टम और तृतीय-पक्ष स्टार्टअप आइटम
- उपयोगकर्ताओं के एजेंट
- उपयोगकर्ताओं की डाउनलोड की गई फ़ाइलें
- इंस्टॉल किए गए एप्लिकेशन
यह निकालता है:
- उपयोगकर्ताओं की क्वारंटाइन की गई फ़ाइलें
- उपयोगकर्ताओं का Safari इतिहास, डाउनलोड, टॉपसाइट्स, लास्टसेशन, HTML5 डेटाबेस और लोकलस्टोर
- उपयोगकर्ताओं के Firefox कुकीज़, डाउनलोड, फॉर्महिस्ट्री, परमिशन, प्लेसेस और साइनऑन्स
- उपयोगकर्ताओं का Chrome इतिहास और आर्काइव इतिहास, कुकीज़, लॉगिन डेटा, टॉप साइट्स, वेब डेटा, HTML5 डेटाबेस और लोकल स्टोरेज
- उपयोगकर्ताओं के सोशल और ईमेल खाते
- वे WiFi एक्सेस पॉइंट जिनसे ऑडिट किया गया सिस्टम जुड़ा था (और उन्हें जियोलोकेट करने का प्रयास करता है)
यह .plist फ़ाइलों में संदिग्ध कीवर्ड भी खोजता है।
यह प्रत्येक फ़ाइल की प्रतिष्ठा को सत्यापित कर सकता है:
- Team Cymru के MHR पर
- VirusTotal पर
- आपके अपने स्थानीय डेटाबेस पर
यह निम्नलिखित निर्देशिकाओं से सभी लॉग को एक ज़िपबॉल में एकत्रित कर सकता है:
- /var/log (-> /private/var/log)
- /Library/logs
- उपयोगकर्ता का ~/Library/logs
अंत में, परिणाम हो सकते हैं:
- एक साधारण txt लॉग फ़ाइल के रूप में प्रस्तुत (ताकि आप उनमें cat-pipe-grep कर सकें… या बस grep)
- HTML लॉग फ़ाइल के रूप में प्रस्तुत
- Syslog सर्वर पर भेजे गए
लेखक
Jean-Philippe Teissier - @Jipe_ और अन्य।
विकास स्थिति
OS X Auditor अब अनुरक्षित नहीं है - आपको इसका उपयोग नहीं करना चाहिए
समर्थन
OS X Auditor एक सप्ताहांत प्रोजेक्ट के रूप में शुरू हुआ था और अब अनुरक्षित नहीं है। इसे Yelp @ के महान लोगों द्वारा फोर्क किया गया है जिन्होंने osxcollector बनाया।
मैं अनुशंसा करता हूं कि आप osxcollector (https://github.com/Yelp/osxcollector) का उपयोग करें।
कैसे इंस्टॉल करें
बस GitHub से सभी फ़ाइलें कॉपी करें।
निर्भरताएँ
यदि आप Mac पर OS X Auditor चलाने की योजना बनाते हैं, तो आपको pyobjc के माध्यम से OS X Foundation के साथ पूर्ण plist पार्सिंग समर्थन मिलेगा:
यदि आप pyobjc स्थापित नहीं कर सकते हैं या Mac OS X के अलावा किसी अन्य OS पर OS X Auditor चलाने की योजना बनाते हैं, तो आपको plist पार्सिंग में कुछ समस्याएँ हो सकती हैं:
pip install biplist
pip install plist
जब Python में एक कार्यशील देशी plist मॉड्यूल उपलब्ध होगा, तब ये निर्भरताएँ हटा दी जाएँगी।
कैसे चलाएँ
- OS X Auditor python >= 2.7.2 (2.7.9 ठीक है) के साथ अच्छी तरह चलता है। यह अभी तक python के किसी भिन्न संस्करण के साथ नहीं चलता है (plist की समस्या के कारण)।
- OS X Auditor को नवीनतम OS X संस्करण पर काम करने के लिए अनुरक्षित किया गया है। यह पुराने OS X संस्करणों पर अपनी पूरी कोशिश करेगा।
- यदि आप इसे चल रहे सिस्टम पर उपयोग करना चाहते हैं तो आपको इसे रूट के रूप में (या sudo के माध्यम से) चलाना होगा, अन्यथा यह कुछ सिस्टम और अन्य उपयोगकर्ताओं की फ़ाइलों तक पहुँचने में सक्षम नहीं होगा।
- यदि आप पर्यावरण चर (नीचे देखें) से API कुंजियों का उपयोग कर रहे हैं, तो आपको उपयोगकर्ता के पर्यावरण चर का उपयोग करने के लिए
sudo -E का उपयोग करना होगा।
सभी उपलब्ध विकल्पों को प्राप्त करने के लिए osxauditor.py -h टाइप करें, फिर चयनित विकल्पों के साथ इसे चलाएँ।
जैसे [sudo -E] python osxauditor.py -a -m -l localhashes.db -H log.html
पर्यावरण चर सेट करना
VirusTotal API:
export VT_API_KEY=aaaabbbbccccddddeeee
परिवर्तन सूची
0.4.3
0.4.2
- CHANGE: API कुंजियों को कोड से पर्यावरण चरों में स्थानांतरित किया गया
0.4.1
- CHANGE: LaunchAgentPlist में सामान्य बैकडोर की खोज
0.4
- NEW: सिस्टम लॉग से ईवेंट (बूट/शटडाउन, हाइबरनेशन इन/आउट, sudo कमांड, USB डिवाइस, खोले/बंद किए गए tty) निकालता है और एक (अभी पढ़ने योग्य नहीं) टाइमलाइन बनाता है (-e/eventlogs)
- NEW: उपयोगकर्ताओं के LoginItems निकालता है
- NEW: उपयोगकर्ताओं के RecentItems निकालता है
- NEW: Safari आर्टिफैक्ट्स से लास्टसेशन निकालता है
- NEW: सिस्टम समूहों और उपयोगकर्ताओं के विवरण निकालता है
- FIX: गलत os.path.join() कॉल
- FIX: रिकर्सिव ParsePackagesDir() में बग
0.3.1
- NEW: ऑडिट किए गए सिस्टम का सिस्टम नाम, संस्करण और बिल्ड प्रदान करता है
- NEW: इंस्टॉल किए गए एप्लिकेशन का विश्लेषण करने की क्षमता (-i/--installedapps)
- NEW: Google Chrome आर्टिफैक्ट्स से आर्काइव इतिहास निकालता है
- NEW: एक मानव-पठनीय HTML लॉग रिपोर्ट :)
- FIX: HTMLLog() और SYSLOGLog() अब अपवादों को संभालते हैं
- FIX: ParsePackagesDir() अब रिकर्सिव है और केवल ऐप्स या कर्नेल एक्सटेंशन को पार्स करने का प्रयास करता है। कुछ DEBUG आउटपुट भी जोड़ा गया
- FIX: बहुत बड़ा UTF-8/UNICODE सुधार
- FIX: .DS_Store और .localized फ़ाइलों को ParsePackagesDir() में अनदेखा किया गया
0.3
- NEW: Google Chrome आर्टिफैक्ट्स (इतिहास और आर्काइव इतिहास, कुकीज़, लॉगिन डेटा, टॉप साइट्स, वेब डेटा, HTML5 डेटाबेस और लोकल स्टोरेज) को -b/--browsers के साथ पार्स करने की क्षमता
- NEW: ऑडिट किए गए सिस्टम से जुड़े Wi-Fi APs को एयरपोर्ट प्राथमिकताओं से निकालने और Geomena (-A/--airportprefs) का उपयोग करके उन्हें जियोलोकेट करने का प्रयास करने की क्षमता। जियोलोकेशन सक्षम करने के लिए आपको -g/--wifiapgeolocate का उपयोग करना होगा (या कोड में GEOLOCATE_WIFI_AP को True पर सेट करना होगा)।
- NEW: उपयोगकर्ताओं के सोशल और ईमेल खातों को निकालने की क्षमता (-U/--usersaccounts)
- FIX: लॉक की गई sqlite डेटाबेस को संभालने की क्षमता, विशेष रूप से लाइव सिस्टम का ऑडिट करते समय
- FIX: हैश डुप्लिकेट हटाए गए
- FIX: HTML आउटपुट में md5 को बेहतर पहचानना
- CHANGE: इंगित करता है कि क्या कोई अनुभाग (स्टार्टअप आइटम, पैकेज निर्देशिका, Db तालिकाएँ, आदि) आउटपुट को स्पष्ट करने के लिए खाली है
- CHANGE: डाउनलोड आर्टिफैक्ट्स (-d/--downloads) में पुराने और नए Mail.app डिफ़ॉल्ट डाउनलोड निर्देशिकाएँ शामिल हैं
0.2.1
- CHANGE/FIX: बहुत बड़ी फ़ाइलों को हैश करने, MemoryError अपवादों से बचने और मेमोरी फुटप्रिंट को कम करने के लिए BigFileMd5() फ़ंक्शन लागू किया गया
- FIX: ParseQuarantines() में LSQuarantineEvent से UTF-8 प्रविष्टियाँ
0.2
- NEW: परिणामों को एक दूरस्थ syslogd सर्वर (-S) पर भेजने की क्षमता
- NEW: ऑडिट किए गए सिस्टम पर पाई गई सभी लॉग फ़ाइलों का एक ज़िपबॉल बनाने की क्षमता (-z)
- CHANGE: स्टार्टअप आर्टिफैक्ट्स के विश्लेषण में पुराने और अप्रचलित StartupItems शामिल हैं
- CHANGE: स्टार्टअप आर्टिफैक्ट्स के विश्लेषण में ScriptingAdditions शामिल हैं
- CHANGE: क्वारंटाइन किए गए आर्टिफैक्ट्स के विश्लेषण में Mac OS X सिस्टम <= 10.6 के लिए पुराने QuarantineEvents शामिल हैं
- CHANGE: Python ⟷ Objective-C ब्रिज (PyObjC) और OS X Foundation का उपयोग करके plist हैंडलिंग में बड़ा सुधार
- CHANGE: विकल्प मापदंडों (-t, -l) में कुछ बदलाव
- CHANGE: लाइसेंस CC से GPL में बदला गया
- CHANGE: डीबग स्तर अब आउटपुट लॉग में अधिक सुसंगत हैं
- CHANGE: Bootstrap CSS में एक छोटा बदलाव
- CHANGE: VirusTotal लुकअप अब बल्क मोड में किया जाता है
- FIX: Program और ProgramArguments दोनों कुंजियों वाली plist फ़ाइलों पर ParseLaunchAgents() में एक बग
0.1
डिज़ाइन और क्षमताएँ

आर्टिफैक्ट्स
उपयोगकर्ता
- Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2
- Library/Preferences/com.apple.LaunchServices.QuarantineEvents
- Library/Preferences/com.apple.loginitems.plist
- Library/Mail Downloads/
- Library/Containers/com.apple.mail/Data/Library/Mail Downloads
- Library/Accounts/Accounts3.sqlite
- Library/Containers/com.apple.mail/Data/Library/Mail/V2/MailData/Accounts.plist
- Library/Preferences/com.apple.recentitems.plist