
AD Explorer स्नैपशॉट्स को BloodHound-संगत JSON या NDJSON में पार्स करता है, ताकि Active Directory की टोही और हमला पथ मैपिंग की जा सके।
ADExplorerSnapshot.py एक AD Explorer स्नैपशॉट पार्सर है। इसे BOFHound के माध्यम से BloodHound के लिए एक इन्जेस्टर के रूप में बनाया गया है, और यह NDJSON में पूर्ण-ऑब्जेक्ट डंपिंग का भी समर्थन करता है।
AD Explorer आपको DC से कनेक्ट करने और LDAP डेटा ब्राउज़ करने की अनुमति देता है। यह उस सर्वर के स्नैपशॉट भी बना सकता है जिससे आप वर्तमान में जुड़े हैं। यह उपकरण आपको उन स्नैपशॉट्स को BOFHound प्रारूप या BloodHound-संगत JSON फ़ाइलों में बदलने, या स्नैपशॉट में सभी उपलब्ध ऑब्जेक्ट्स को आसान प्रसंस्करण के लिए NDJSON में डंप करने की अनुमति देता है।

BOFHound आउटपुट मोड में, प्रत्येक ऑब्जेक्ट के सभी गुणों को पार्स किया जाता है और BOFHound प्रारूप (LDIF के समान) में आउटपुट किया जाता है। इस प्रारूप को फिर BOFHound के साथ पार्स किया जा सकता है:
Objects आउटपुट मोड में, प्रत्येक ऑब्जेक्ट के सभी गुणों को पार्स किया जाता है और NDJSON प्रारूप में आउटपुट किया जाता है।
BloodHound आउटपुट मोड में (अधिक पूर्ण BOFHound रूपांतरण के पक्ष में पदावनत):
ADExplorer स्नैपशॉट में केवल वही जानकारी होती है जो LDAP सर्वर से प्राप्त की जा सकती है। इसका मतलब है कि सत्र और स्थानीय व्यवस्थापक संग्रह जैसी सुविधाएं उपलब्ध नहीं हैं क्योंकि यह उपकरण नेटवर्क पर सिस्टम के साथ इंटरैक्ट नहीं करेगा। आपके पास केवल उस LDAP/DC का डेटा उपलब्ध होगा जिसके विरुद्ध आपने स्नैपशॉट चलाया था।
BOFHound मोड में, सभी डेटा BOFHound प्रारूप में परिवर्तित हो जाता है, और यह सबसे पूर्ण संग्रह दृष्टिकोण है।
BloodHound मोड में, इन्जेस्टर स्नैपशॉट से सभी संभव डेटा (ACLs सहित) संसाधित करता है, लेकिन केवल वह JSON डेटा आउटपुट करेगा जिसे BloodHound द्वारा व्याख्या किया जा सकता है। GPO/OU संग्रह गायब है।
विश्वास संग्रह में वह दृश्य होता है जो आप जिस LDAP DC से जुड़े हैं, वहां से दिखाई देता है।
ADExplorerSnapshot.py Python 3.12+ का समर्थन करता है। निर्भरताएँ pip के माध्यम से प्रबंधित की जाती हैं।
आप उपकरण को सीधे uvx के साथ चला सकते हैं (यदि गायब है: pip install uvx)।
uvx git+https://github.com/c3c/ADExplorerSnapshot
usage: ADExplorerSnapshot.py [-h] [-o OUTPUT] [-m {BOFHound,BloodHound,Objects}] snapshot
BloodHound के लिए AD Explorer स्नैपशॉट इन्जेस्टर
positional arguments:
snapshot स्नैपशॉट .dat फ़ाइल का पथ।
options:
-h, --help यह सहायता संदेश दिखाएं और बाहर निकलें
-o, --output OUTPUT *.json आउटपुट फ़ोल्डर का पथ। यदि फ़ोल्डर मौजूद नहीं है तो बनाया जाएगा। डिफ़ॉल्ट वर्तमान निर्देशिका है।
-m, --mode {BOFHound,BloodHound,Objects}
उपयोग करने के लिए आउटपुट मोड। डिफ़ॉल्ट BOFHound आउटपुट मोड है, जिसे फिर BOFHound के साथ उपयोग किया जा सकता है। सीमाओं के साथ सीधे BloodHound JSON आउटपुट फ़ाइलों में भी आउटपुट कर सकता है। Objects मोड में सभी ऑब्जेक्ट्स को सभी गुणों के साथ NDJSON में आउटपुट किया जाता है।
BOFHound आउटपुट मोड पसंदीदा आउटपुट मोड है। फिर आप डेटा को BloodHound में इन्जेस्ट करने के लिए BOFHound उपकरण का उपयोग कर सकते हैं।
सामान्य आह्वान:
uvx git+https://github.com/c3c/ADExplorerSnapshot -m BOFHound snapshot.dat
uvx bofhound -i ./dc.server.com_1234567890_bofhound.log -o output


प्रमाणपत्र टेम्पलेट्स को BloodHound प्रारूप या BloodHound-ly4k प्रारूप में आयात किया जा सकता है।
यदि आप नियमित BloodHound संस्करण का उपयोग करते हैं तो आपको केवल cert_bh JSON फ़ाइल (जिसे GPO के रूप में आयात किया जाता है) आयात करनी चाहिए।
यदि आप ly4k के फोर्क का उपयोग करते हैं, तो आपको इसके बजाय cert_ly4k फ़ाइलें आयात करनी चाहिए। कुछ जानकारी छोड़ दी जाएगी (उदा. ESC8 के लिए वेब एनरोलमेंट सक्षम है या नहीं) क्योंकि इसे AD Explorer के साथ एकत्र नहीं किया जा सकता।
AD Explorer में स्नैपशॉट बनाना पारंपरिक BloodHound इन्जेस्टर्स की तुलना में अधिक नेटवर्क-गहन है क्योंकि यह LDAP से सभी संभव ऑब्जेक्ट्स को पुनर्प्राप्त करने का प्रयास करता है।
ADExplorerSnapshot.py डेटा संसाधित करते समय तेज़ खोज के लिए जानकारी के कैश बनाएगा। विशेष रूप से बड़े स्नैपशॉट्स (जैसे 4GB+) को संसाधित करते समय आपको पर्याप्त RAM उपलब्ध होनी चाहिए। मेरे परीक्षणों में, स्नैपशॉट फ़ाइल आकार का लगभग आधा RAM में आवश्यक था।
लाइब्रेरी का परीक्षण कई डेटा सेटों के साथ किया गया था, यदि आपको समस्याएँ आती हैं तो कृपया एक मुद्दा रिपोर्ट बनाएँ।
AD Explorer स्नैपशॉट पार्सर को अपने स्वयं के मॉड्यूल के रूप में लागू किया गया है, जिसका उपयोग व्यक्तिगत रूप से भी किया जा सकता है।
AD Explorer द्वारा स्नैपशॉट संग्रहीत करने का प्रारूप मालिकाना है और एक मजेदार रिवर्स इंजीनियरिंग यात्रा की ओर ले गया। इस रिपॉजिटरी में एक 010 एडिटर टेम्पलेट शामिल है, जिसका उपयोग मैंने स्नैपशॉट की सामग्री को स्ट्रक्ट्स में पुनरावृत्त रूप से मैप करने के लिए किया।
BloodHound आउटपुट मोड के लिए, यह लाइब्रेरी BloodHound v6 आउटपुट प्रारूप का समर्थन करती है। यदि आपको अभी भी उनकी आवश्यकता है तो पुराने संस्करणों को पहले के कमिट्स में समर्थित किया गया था। पुराने v3 आउटपुट प्रारूप के लिए, आप v3-format शाखा में कोड का उपयोग कर सकते हैं।
OPSEC से संबंधित टिप्पणी पर, AD Explorer एक वैध Microsoft उपकरण है। स्नैपशॉट करते समय, LDAP सर्वर पर केवल सीमित क्वेरीज़ (objectGuid=*) की जाती हैं। हालांकि, परिणाम सेट विशाल है क्योंकि सभी ऑब्जेक्ट्स और उनके संबंधित गुण पुनर्प्राप्त किए जाते हैं। इसके परिणामस्वरूप काफी बड़ा आउटपुट होता है।
इस उपकरण का पता कई तरीकों से संभव है, जिसके लिए मैं FalconForce द्वारा उत्कृष्ट ब्लॉग पोस्ट का संदर्भ देता हूं: FalconFriday — Detecting Active Directory Data Collection — 0xFF21।
यह कोड MIT लाइसेंस के तहत लाइसेंस प्राप्त है और उस कोड का उपयोग करता है जो MIT लाइसेंस के तहत भी लाइसेंस प्राप्त है।
ADExplorerSnapshot.py निम्नलिखित परियोजनाओं पर निर्भर करता है:
श्रेय:
इस उपकरण के विकास के लिए वातावरण प्रदान करने के लिए Deloitte का धन्यवाद।