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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
LDAPPER — LDAP क्वेरी बिना किसी झंझट के | Kitploit
उपकरण/GitHubGitHub/shellster/ldapper
विशेषाधिकार वृद्धिटोहीपासवर्ड हमलेजानकारी एकत्र करनापेनिट्रेशन टेस्टिंगप्रमाणीकरण
GitHubshellster/ldapper

LDAPPER

LDAP क्वेरी बिना किसी झंझट के

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

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

सभी देखें →

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

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

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

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

परिचय

यह उपकरण ldapsearch और सामान्यतः AD इंटरैक्शन के साथ मेरे द्वारा अनुभव की जा रही अनेक समस्याओं को हल करने के लिए लिखा गया था। विशेष रूप से, यह उपकरण निम्नलिखित समस्याओं का समाधान करता है जो मैंने अनुभव की हैं:

  1. AD से एक हज़ार से अधिक परिणाम वापस लाने में असमर्थता। यह उपकरण LDAP रिकॉर्ड पेजिंग का समर्थन करता है और अन्य AD बगों को दूर करता है ताकि मनमानी संख्या में रिकॉर्ड प्राप्त किए जा सकें।

  2. सहज तरीके से NTLM क्रेडेंशियल का उपयोग करके प्रमाणित करने में असमर्थता। आप किसी Windows DC पर प्रमाणित करने के लिए NETBIOS डोमेन नाम, उपयोगकर्ता नाम और पासवर्ड प्रदान कर सकते हैं।

  3. लौटाए गए रिकॉर्डों की संख्या, उनकी वापसी की गति और एक बार में खींचे गए रिकॉर्डों की संख्या को सटीक रूप से नियंत्रित करने में असमर्थता। यह उपकरण आपको इन सभी वस्तुओं को नियंत्रित करने की अनुमति देता है, जिसमें प्रत्येक पृष्ठित कॉल के बीच विलंब जोड़ना शामिल है। इसके अलावा, राउंड-रॉबिन क्वेरीिंग के लिए कई DC निर्दिष्ट किए जा सकते हैं।

  4. परिणामों को सुपाच्य रूपों में वापस लाने में असमर्थता। यह उपकरण वर्तमान में तीन प्रारूपों का समर्थन करता है:

  • plain: डेटा का एक सुंदर, पढ़ने योग्य पाठ संस्करण जिसमें उप-आइटम टैब किए गए हैं।
  • json: JSON आउटपुट, आसान पठनीयता के लिए अतिरिक्त सफेद स्थान के साथ।
  • json_tiny: JSON आउटपुट जिसमें सभी अतिरिक्त सफेद स्थान हटा दिए गए हैं।
  1. केवल उन विशेषताओं को वापस लाने में असमर्थता जिनकी आपको परवाह है। यह उपकरण आपको या तो सभी विशेषताओं को वापस करने, या केवल वही वापस करने की अनुमति देता है जो आप चाहते हैं।

  2. पूर्व-निर्मित, सामान्यतः उपयोग किए जाने वाले प्रश्नों की एक सूची सहेजने में असमर्थता।

स्थापना

root@kitploit:~
git clone ...
pip install -r requirements.txt

निर्देश

root@kitploit:~
# python3 ldapper.py
    usage: ldapper.py [-h] --domain DOMAIN --user USER --password PASSWORD
                      --server SERVER [--basedn BASEDN] --search SEARCH
                      [--maxrecords MAXRECORDS] [--pagesize PAGESIZE]
                      [--delay DELAY] [--format {plain,json,json_tiny}]
                      [--encryption {1,2,3}]
                      [--advanced [ADVANCED [ADVANCED ...]]] [--outfile OUTFILE]
                      [--engine {ldap3,impacket}]
                      [attribute [attribute ...]]

    AD LDAP कमांड लाइन खोज जो बेकार नहीं है।

    positional arguments:
      attribute             वापस करने के लिए विशेषताएँ (कस्टम क्वेरी के लिए डिफ़ॉल्ट रूप से सभी। पूर्वनिर्धारित क्वेरी के लिए, डिफ़ॉल्ट विशेषताओं के बजाय सभी विशेषताएँ प्राप्त करने के लिए "*" पास करें।)

    optional arguments:
      -h, --help            यह सहायता संदेश दिखाएं और बाहर निकलें
      --domain DOMAIN, -D DOMAIN
                            डोमेन
      --user USER, -U USER  उपयोगकर्ता नाम
      --password PASSWORD, -P PASSWORD
                            पासवर्ड या LM:NTLM प्रारूपित हैश
      --server SERVER, -S SERVER
                            DC IP या हल करने योग्य नाम
      --basedn BASEDN, -b BASEDN
                            बेस DN सामान्यतः "dc=" होना चाहिए, उसके बाद लंबा डोमेन नाम जिसमें अवधियों को ",dc=" से बदला गया हो। यदि प्रदान नहीं किया गया है तो LDAP सर्वर से इसे प्राप्त करने का प्रयास किया जाएगा।
      --search SEARCH, -s SEARCH
                            LDAP खोज स्ट्रिंग या "कस्टम खोज" सूची से कस्टम खोज को इंगित करने वाली संख्या। stdin से पढ़ने के लिए "-" का उपयोग करें।
      --maxrecords MAXRECORDS, -m MAXRECORDS
                            वापस करने के लिए अधिकतम रिकॉर्ड (डिफ़ॉल्ट 100 है), 0 का मतलब सभी।
      --pagesize PAGESIZE, -p PAGESIZE
                            प्रत्येक पुल पर वापस करने के लिए रिकॉर्डों की संख्या (डिफ़ॉल्ट 10 है)। अधिकतम रिकॉर्ड से कम या उसके बराबर होना चाहिए।
      --delay DELAY, -d DELAY
                            पेजिंग अनुरोधों के बीच मिलीसेकंड विलंब (डिफ़ॉल्ट 0 है)।
      --format {plain,json,json_tiny}, -f {plain,json,json_tiny}
                            आउटपुट का प्रारूप (डिफ़ॉल्ट "plain" है), हो सकता है: plain, json, json_tiny
      --encryption {1,2,3}, -n {1,2,3}
                            3) 636 TLS से कनेक्ट करें (डिफ़ॉल्ट); 2) 389 से कनेक्ट करें बिना TLS के, लेकिन STARTTLS का प्रयास करें और आवश्यकतानुसार वापस आएं (impacket के साथ उपलब्ध नहीं); 1) 389 से कनेक्ट करें, सादा टेक्स्ट बलपूर्वक उपयोग करें
      --advanced [ADVANCED [ADVANCED ...]], -a [ADVANCED [ADVANCED ...]]
                            पूर्वनिर्धारित खोजों के लिए विकल्प पारित करने का उन्नत तरीका जो अतिरिक्त इनपुट के लिए संकेत देते हैं (एकाधिक संकेतों के लिए, संकेत देने के क्रम में तर्क पास करें)
      --outfile OUTFILE, -o OUTFILE
                            आउटपुट फ़ाइल (यदि निर्दिष्ट किया जाता है तो आउटपुट stdout के बजाय यहाँ रूट किया जाएगा [Windows में एन्कोडिंग त्रुटियों को रोक सकता है])
      --engine {ldap3,impacket}, -e {ldap3,impacket}
                            उपयोग करने के लिए इंजन चुनें (डिफ़ॉल्ट "ldap3" है)। OPSEC नोट्स देखें!

    कस्टम खोजें:
              1) सभी उपयोगकर्ता प्राप्त करें
                      1.1) विशिष्ट उपयोगकर्ता प्राप्त करें (आपको उपयोगकर्ता नाम के लिए संकेत दिया जाएगा)
              2) सभी समूह (और उनके सदस्य) प्राप्त करें
                      2.1) विशिष्ट समूह प्राप्त करें (आपको समूह नाम के लिए संकेत दिया जाएगा)
              3) सभी प्रिंटर प्राप्त करें
              4) सभी कंप्यूटर प्राप्त करें
                      4.1) विशिष्ट कंप्यूटर प्राप्त करें (आपको कंप्यूटर नाम के लिए संकेत दिया जाएगा)
              5) डोमेन/एंटरप्राइज़ व्यवस्थापक प्राप्त करें
              6) डोमेन विश्वास प्राप्त करें
              7) अनियंत्रित SPN प्रतिनिधित्व (संभावित विशेषाधिकार वृद्धि) खोजें
              8) उन खातों की खोज करें जहाँ PreAuth आवश्यक नहीं है (ASREPROAST)
              9) उपयोगकर्ता SPN खोजें (KERBEROAST)
                      9.1) विशिष्ट उपयोगकर्ता SPN खोजें (आपको उपयोगकर्ता प्रधान नाम के लिए संकेत दिया जाएगा)
             10) सभी LAPS LA पासवर्ड दिखाएँ (जो आप देख सकते हैं)
                     10.1) विशिष्ट वर्कस्टेशन LAPS पासवर्ड खोजें (आपको वर्कस्टेशन नाम के लिए संकेत दिया जाएगा)
            *11) सामान्य सादा टेक्स्ट पासवर्ड विशेषताएँ खोजें (UserPassword, UnixUserPassword, unicodePwd और msSFU30Password)
             12) सभी Quest दो-कारक बीज दिखाएँ (यदि आपके पास पहुँच है)
             13) Oracle "orclCommonAttribute" SSO पासवर्ड हैश
            *14) Oracle "userPassword" SSO पासवर्ड हैश
             15) SCCM सर्वर प्राप्त करें
             16) उन खातों की खोज करें जहाँ पासवर्ड आवश्यक नहीं है (PasswordNotRequired)

    तारांकित आइटमों का कभी ऐसे वातावरण में परीक्षण नहीं किया गया है जहाँ उन्हें सत्यापित किया जा सके, कृपया मुझे बताएं कि क्या वे काम करते हैं।

उदाहरण

इन उदाहरणों के उद्देश्य के लिए, निम्नलिखित मान लें:

root@kitploit:~
NETBIOS NAME: EMP
FULL DOMAIN NAME: EXAMPLE.LOCAL
DC IPs: 10.0.0.2, 10.0.0.3
USERNAME: bob
PASSWORD: password

केवल cn विशेषता लौटाते हुए सभी रिकॉर्ड प्राप्त करें:

root@kitploit:~
python ldapper.py -D 'EMP' -U 'bob' -P 'password' -S '10.0.0.2,10.0.0.3' -m 0  -s '(cn=*)' cn

किसी विशिष्ट उपयोगकर्ता के बारे में विवरण प्राप्त करें (उपयोगकर्ता नाम के लिए संकेत दिया जाएगा):

root@kitploit:~
python ldapper.py -D 'EMP' -U 'bob' -P 'password' -S '10.0.0.2,10.0.0.3' -m 0  -s '1.1'

किसी विशिष्ट उपयोगकर्ता के बारे में विवरण प्राप्त करें (उपयोगकर्ता नाम पास करें ताकि आपको संकेत न मिले):

root@kitploit:~
python ldapper.py -D 'EMP' -U 'bob' -P 'password' -S '10.0.0.2,10.0.0.3' -m 0  -s '1.1' -a 'alice'

शीर्ष 100 उपयोगकर्ता Kerberos SPN प्राप्त करें, एक बार में पाँच से अधिक नहीं, प्रत्येक पृष्ठ अनुरोध के बीच दो सेकंड के विलंब के साथ संक्षिप्त JSON रूप में:

root@kitploit:~
python ldapper.py -D 'EMP' -U 'bob' -P 'password' -S '10.0.0.2,10.0.0.3' -m 100 -p 5 -d 2000 -f json_tiny -s '(&(objectcategory=user)(serviceprincipalname=*))' serviceprincipalname userprincipalname

प्रिंटर के लिए सभी रिकॉर्ड मैन्युअल रूप से प्राप्त करें और सभी संबंधित विशेषताएँ दिखाएं:

root@kitploit:~
python ldapper.py -D 'EMP' -U 'bob' -P 'password' -S '10.0.0.2,10.0.0.3' -m 0  -s '(objectClass=printQueue)'

बिना किसी प्रयास के अनियंत्रित SPN प्रतिनिधित्व खोजें:

root@kitploit:~
python ldapper.py -D 'EMP' -U 'bob' -P 'password' -S '10.0.0.2,10.0.0.3' -m 0  -s 4

OPSEC चेतावनियाँ

  1. Impacket इंजन का उपयोग करते समय और baseDN प्रदान न करने पर, उपकरण डोमेन कंट्रोलर से NETBIOS नाम प्राप्त करने के लिए SMB प्रमाणीकरण और कनेक्शन का प्रयास करेगा, ताकि baseDN प्राप्त किया जा सके। यह व्यवहार अत्यधिक संवेदनशील वातावरण में पहचान का कारण बन सकता है। ऐसे वातावरण में या तो Impacket का उपयोग न करें, या हमेशा baseDN निर्दिष्ट करें।

  2. Impacket या तो पूर्ण LDAPS कनेक्शन करेगा या पूरी तरह से अनइन्क्रिप्टेड कनेक्शन। यह इस समय STARTTLS का उपयोग नहीं कर सकता है, इसलिए यदि सादा टेक्स्ट LDAP कनेक्शन पकड़ा जाएगा, तो या तो केवल पूर्ण TLS कनेक्शन का प्रयास करें या Impacket इंजन का उपयोग न करें।

  3. Impacket रिकॉर्ड खींचने की गति पर सबसे अधिक नियंत्रण प्रदान नहीं करता है। इसलिए, "--delay" विकल्प केवल आंशिक रूप से लागू किया गया है। यदि रिकॉर्ड खींचने में देरी करना महत्वपूर्ण है, तो Impacket इंजन का उपयोग न करें।

संदर्भ

Kerberoast: https://adsecurity.org/?p=2293

ASREPRoast: http://www.harmj0y.net/blog/activedirectory/roasting-as-reps/

अनियंत्रित प्रतिनिधित्व दुरुपयोग: http://www.harmj0y.net/blog/activedirectory/the-most-dangerous-user-right-you-probably-have-never-heard-of/

Oracle बकवास: https://blogs.oracle.com/mwilcox/entry/clarifying_ovd-ad_eus_password और http://onlineappsdba.com/index.php/2014/03/03/what-hashing-algorithm-oid-uses-to-store-user-password-ssha-or-md5/

Qwest/Defender/Oneidentity दूसरा कारक टोकन डेटा: http://support-public.cfm.quest.com/43565_Defender_5.9_AdminGuide.pdf

सामान्य सादा टेक्स्ट पासवर्ड: https://www.blackhillsinfosec.com/domain-goodness-learned-love-ad-explorer/

परिवर्तन लॉग

संस्करण 1.7

  1. उन खातों की जाँच करें जिन्हें पासवर्ड की आवश्यकता नहीं है, @nyxgeek के सौजन्य से।

संस्करण 1.6

  1. LDAP3 के विकल्प के रूप में Impacket जोड़ा गया क्योंकि LDAP3 हमेशा काम नहीं करता (और Impacket भी नहीं करता)।

  2. एकाधिक LDAP सर्वर चयन हटा दिया गया क्योंकि यह सुविधा वास्तव में आवश्यक नहीं है, और Impacket में वास्तव में मौजूद नहीं है।

  3. सब कुछ पुनर्संरचित किया गया।

संस्करण 1.5

  1. छोटे पेजिनेशन बग को ठीक करें जो कुछ रिकॉर्ड वापस न होने का कारण बन सकता था।

संस्करण 1.4

  1. SCCM खोज सुविधा जोड़ी गई।

  2. आउटपुट फ़ाइल विकल्प जोड़ा गया।

  3. कुछ प्रारूप आउटपुट चीजें ठीक की गईं।

संस्करण 1.3

  1. stdin से LDAP क्वेरी लेने की क्षमता जोड़ी गई।

  2. यदि उपयोगकर्ता ने पहले से नहीं किया है तो क्वेरी को स्वचालित रूप से कोष्ठक में लपेटें।

  3. Python 2 समर्थन बग ठीक किया गया।

भविष्य की योजनाएँ

यदि आपके पास कुछ सामान्य खोज गणनाएँ हैं जिनका आप उपयोग करते हैं, तो कृपया मुझे बताएं ताकि मैं उन्हें सूची में जोड़ सकूं।

  1. शायद पहले खींचे गए डेटा का ऑफ़लाइन खोज/पार्सर बनाएं?

...

श्रेय और संपर्क

Shelby Spencer (shellster) द्वारा लिखित। बग या सुविधा अनुरोधों के लिए मुझसे संपर्क करें।

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