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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ODBParser — OSINT उपकरण जो केवल उन खुले Elasticsearch और MongoDB निर्देशिकाओं को खोजने, पार्स करने और डंप करने के लिए है जिनमें वह डेटा है जिसके उजागर होने की आपको चिंता है। | Kitploit
उपकरण/GitHubGitHub/citcheese/odbparser
OSINT (खुला स्रोत खुफिया)भेद्यता स्कैनरडेटा निष्कासनजानकारी एकत्र करनाडेटाबेस सुरक्षा
GitHubcitcheese/odbparser

ODBParser

OSINT उपकरण जो केवल उन खुले Elasticsearch और MongoDB निर्देशिकाओं को खोजने, पार्स करने और डंप करने के लिए है जिनमें वह डेटा है जिसके उजागर होने की आपको चिंता है।

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

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

सभी देखें →

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

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

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

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

ODBParser

TL;DR

ODBParser एक ऐसा उपकरण है जो खुले डेटाबेस में उजागर PII की खोज करता है।

केवल उजागर PII की पहचान करने और सर्वर मालिकों को गैर-जिम्मेदार डेटाबेस रखरखाव के प्रति सचेत करने के लिए उपयोग करें
या उन डेटाबेसों को क्वेरी करें जिन्हें एक्सेस करने की आपकी अनुमति है!

कृपया जिम्मेदारी से उपयोग करें

यह क्या है?

यह एक वन-स्टॉप OSINT टूल बनाने के लिए लिखा गया था जो खुले डेटाबेस को खोजने, पार्स करने और विश्लेषण करने में सक्षम हो, ताकि तृतीय-पक्ष सर्वरों पर PII के रिसाव की पहचान की जा सके। अन्य उपकरण या तो केवल खुले डेटाबेस की खोज करते हैं या उन्हें डंप करते हैं जब आप उनकी पहचान कर लेते हैं और फिर अंधाधुंध डेटा खींचते हैं। यह एक या दो फ़ंक्शन से बढ़कर इस रिपॉजिटरी में विकसित हो गया, इसलिए कोड उतना साफ-सुथरा नहीं है जितना हो सकता था।

विशेषताएँ

खुले डेटाबेस की पहचान करने के लिए आप:

  • सभी संभावित पैरामीटर (देश, पोर्ट नंबर आदि के अनुसार फ़िल्टर) का उपयोग करके Shodan और BinaryEdge को क्वेरी कर सकते हैं
  • एकल IP पता निर्दिष्ट कर सकते हैं
  • IP पतों की सूची वाली फ़ाइल लोड कर सकते हैं
  • क्लिपबोर्ड से IP पतों की सूची पेस्ट कर सकते हैं

डंपिंग विकल्प:

  • आपके द्वारा निर्दिष्ट डेटा की पहचान करने के लिए सभी डेटाबेस/कलेक्शन को पार्स करता है
  • सर्वर पर होस्ट की गई सभी चीज़ें खींचता है
  • केवल एक इंडेक्स/कलेक्शन खींचता है
  • किसी विशेष इंडेक्स को डंप करने से बचने के लिए ctrl+c का उपयोग करें

पोस्ट-प्रोसेसिंग:

  • JSON डंप को CSV में बदलें
  • CSV से अनुपयोगी कॉलम हटाएं

अन्य विशेषताएँ:

  • आपके द्वारा क्वेरी किए गए सभी IP पतों और डेटाबेसों के साथ-साथ प्रत्येक सर्वर के बारे में जानकारी का ट्रैक रखता है
  • आपके द्वारा क्वेरी किए गए IP, पार्स किए गए डेटाबेस और डंप किए गए रिकॉर्ड की संख्या का स्टैट्स फ़ाइल बनाए रखता है
  • पहले से मौजूद JSON डंप को CSV में बदलता है
  • प्रत्येक डेटाबेस के लिए जिसमें कुल रिकॉर्ड की संख्या आपकी सीमा से अधिक है, स्क्रिप्ट 5 नमूना रिकॉर्ड के साथ एक विशेष फ़ाइल में एक प्रविष्टि बनाएगी ताकि आप समीक्षा कर सकें और तय कर सकें कि डेटाबेस लेने लायक है या नहीं
  • डिफ़ॉल्ट आउटपुट लाइन-अलग JSON फ़ाइल है जिसमें प्रत्येक पंक्ति में एक JSON ऑब्जेक्ट होता है। आप "properjson" फ़्लैग का उपयोग करके "उचित JSON" फ़ाइल आउटपुट करना चुन सकते हैं
  • आप फ़ाइलों को ऑन-द-फ्लाई CSV में बदल सकते हैं या केवल कुछ फ़ाइलों को रन पूरा होने के बाद बदल सकते हैं (मैं बाद वाले की सलाह देता हूँ)। परिवर्तित JSON फ़ाइलें उसी निर्देशिका में "JSON backups" नामक फ़ोल्डर में ले जाई जाएँगी। नोट: CSV में परिवर्तित करते समय, स्क्रिप्ट सटीक डुप्लिकेट पंक्तियों को हटाती है और उन कॉलमों और पंक्तियों को हटाती है जहाँ सभी मान NaN हैं, क्योंकि मैं यही चाहता था। यदि आप JSON फ़ाइल की सटीक प्रतिलिपि चाहते हैं तो फ़ंक्शन को संपादित करने में संकोच न करें।
  • केवल Windows यदि स्क्रिप्ट बड़ी संख्या में इंडेक्स लाती है जिनमें आपका रुचि का फ़ील्ड है, तो स्क्रिप्ट डीबी के नाम सूचीबद्ध करेगी, रुकेगी और आपको दस सेकंड का समय देगी ताकि आप तय कर सकें कि क्या आप सभी इंडेक्स से सभी डेटा निकालना चाहते हैं, क्योंकि मैंने पाया है कि यदि आपके द्वारा निर्दिष्ट फ़ील्ड के बाद भी बहुत सारे डेटाबेस वापस आते हैं, तो इस बात की अच्छी संभावना है कि डेटा नकली या बेकार लॉग है, और आप आमतौर पर नाम से बता सकते हैं कि कौन सी संभावना है। यदि आप 10 सेकंड के भीतर कार्रवाई नहीं करते हैं, तो स्क्रिप्ट हर इंडेक्स को डंप कर देगी।
  • जैसा कि आपने देखा होगा, बहुत से लोग MongoDB डेटाबेस को स्कैन कर रहे हैं और उन्हें बंधक बना रहे हैं, अक्सर नाम बदलकर "TO_RESTORE_EMAIL_XXXRESTORE.COM" जैसा कुछ कर देते हैं। MongoDb स्क्रैपर उन सभी डेटाबेस और कलेक्शन को अनदेखा करेगा जो पायदान में डाले गए हैं, DB/कलेक्शन के नाम को पॉन्ज के संकेत देने वाली स्ट्रिंग्स की सूची के विरुद्ध जाँच करके।
  • स्क्रिप्ट काफी वर्बोज़ है (शायद बहुत अधिक) लेकिन मुझे यह देखना पसंद है कि क्या हो रहा है। यदि आप चाहें तो प्रिंट स्टेटमेंट्स को शांत करने के लिए स्वतंत्र हैं।

अनुकूलन

अपने पैरामीटर निर्दिष्ट करने के लिए odbconfig.py फ़ाइल देखें, क्योंकि वास्तव में खेल का नाम उस डेटा को उजागर करना है जिसमें आपकी रुचि है। मैंने कॉन्फ़िग फ़ाइल में कुछ उदाहरण दिए हैं। उनके साथ खेलें!

आप:

  • कॉन्फ़िग फ़ाइल में सबस्ट्रिंग निर्दिष्ट करके बता सकते हैं कि आप कौन से इंडेक्स या कलेक्शन नाम एकत्र करना चाहते हैं। उदाहरण के लिए, यदि "client" शब्द है, तो स्क्रिप्ट "clients" या "client_data" नामक इंडेक्स खींचेगी। मैं अनुशंसा करता हूँ कि आप इन सूचियों को खाली रखें क्योंकि आप कभी नहीं जानते कि आपके रुचि के डेटाबेस क्या कहलाएंगे, और इसके बजाय उन फ़ील्ड को निर्दिष्ट करें जिनमें आपकी रुचि है।
  • निर्दिष्ट कर सकते हैं कि आप किन फ़ील्ड में रुचि रखते हैं: यदि आप केवल ES इंडेक्स प्राप्त करना चाहते हैं जिनमें किसी फ़ील्ड नाम में "email" हो, जैसे "user_emails", तो आप ऐसा कर सकते हैं। यदि आप सुनिश्चित करना चाहते हैं कि इंडेक्स में कम से कम 2 फ़ील्ड हों जिनमें आपकी रुचि है, तो आप ऐसा भी कर सकते हैं। या यदि आप बस फ़ील्ड की परवाह किए बिना सब कुछ प्राप्त करना चाहते हैं, तो आप ऐसा भी कर सकते हैं।
  • निर्दिष्ट कर सकते हैं कि आप कौन से इंडेक्स नहीं चाहते, जैसे कि सिस्टम इंडेक्स नाम और अन्य जो आमतौर पर बुनियादी लॉगिंग के लिए उपयोग होते हैं। कॉन्फ़िग फ़ाइल में उदाहरण दिए गए हैं।
  • कॉन्फ़िग को ओवरराइड कर सकते हैं और सर्वर पर सब कुछ प्राप्त कर सकते हैं।
  • आउटपुट निर्दिष्ट कर सकते हैं (डिफ़ॉल्ट JSON है, CSV चुन सकते हैं)।
  • डिफ़ॉल्ट रूप से स्क्रिप्ट द्वारा डंप किए जाने वाले डेटाबेस का न्यूनतम और अधिकतम आकार निर्धारित कर सकते हैं, और केस-बाय-केस आधार पर अधिकतम दस्तावेज़ों को ओवरराइड करने के लिए फ़्लैग सेट कर सकते हैं।

स्थापना और आवश्यकताएँ

  • मशीन पर क्लोन या डाउनलोड करें
  • Shodan और/या BinaryEdge के लिए API कुंजियाँ प्राप्त करें
  • ODBconfig.py फ़ाइल में पैरामीटर कॉन्फ़िगर करें
  • फ़ाइल से आवश्यकताएँ स्थापित करें

मेरा सुझाव है कि ODBParser के लिए वर्चुअल वातावरण बनाएं ताकि गलत मॉड्यूल संस्करणों से कोई समस्या न हो। नोट: केवल Python 3.7.3 और Windows 10 पर परीक्षण किया गया।

कृपया जिम्मेदारी से उपयोग करें

अगले कदम और ज्ञात मुद्दे

  • कोड को थोड़ा और साफ करें
  • विभिन्न प्रक्रियाओं को मल्टीथ्रेड करें
  • अन्य DB प्रकारों तक विस्तार करें
  • अन्य ओपन डायरेक्टरी सर्च इंजन (Zoomeye, आदि) जोड़ें
  • कुछ ES इंस्टेंस के लिए पहले पेज से आगे स्क्रॉल करने में असमर्थता, ES <2.0 के तरीके के कारण। किसी भी मदद की सराहना करूँगा! लगभग सुनिश्चित हूँ कि इसे ठीक कर दिया है। यदि scrollid त्रुटियाँ मिलती हैं तो मुद्दा खोलें

उपयोग

root@kitploit:~
    Examples: python ODBParser.py -cn US -p 8080 -t users --elastic --shodan --csv --limit 100
              python ODBParser.py -ip 192.168.2:8080 --mongo --ignorelogs --nosizelimits

    Damage to-date: 0 servers parsed | 0 databases dumped | 0 records pulled
    _____________________________________________________________________________


optional arguments:
  -h, --help            show this help message and exit

Query Options:
  --shodan, -sh         Add this flag if using Shodan. Specify ES or MDB w/
                        flags.
  --binary, -be         Add this flag if using BinaryEdge. Specify ES or MDB
                        w/ flags.
  --ip , -ip            Query one server. Add port like so '192.165.2.1:8080'
                        or will use default ports for each db type. Add ES or
                        MDB flags to specify parser.
  --file , -f           Load line-separated IPs from file. Add port or will
                        assume default ports for each db type. Add ES or MDB
                        flags to specify parser.
  --paste, -v           Query line-separated IPs from clipboard. Add port or
                        will assume default ports for each db type, e.g. 9200
                        for ES. Add ES or MDB flags to specify parser.

Shodan/BinaryEdge Options:
  --limit , -l          Max number of results per query. Default is
                        500.
  --port , -p           Filter by port.
  --country , -cn       Filter by country (two-letter country code).
  --terms , -t          Enter any additional query terms you want here, e.g.
                        'users'

Dump Options:
  --mongo, -mdb         Use for IP, Shodan, BinaryEdge & Paste methods to
                        specify parser.
  --elastic, -es        Use for IP, Shodan, BinaryEdge & Paste methods to
                        specify parser.
  --properjson, -pj     Add this flag if would like out put to be proper JSON
                        file. Default is one JSON string object per line.
  --database , -db      Specify database you want to grab. For MDB must be in
                        format format 'db:collection'. Use with IP arg & 'es'
                        or 'mdb' flag
  --getall, -g          Get all indices regardless of fields and
                        collection/index names (overrides selections in config
                        file).
  --ignorelogs          Connect to a server you've already checked out.
  --nosizelimits, -n    Dump index no matter how big it is. Default max doc
                        count is 800,000.
  --csv                 Convert JSON dumps into CSV format on the fly. (Puts
                        JSON files in backup folder in case there is issue
                        with coversion)

CSV/Post-processing Options:
  --convertToCSV , -c   Convert JSON file or folder of JSON dumps to CSVs
                        after the fact. Enter full path or folder name in
                        current working directory
  --dontflatten         Use if run into memory issues converting JSON files to
                        CSV during post-processing.
  --basic               Use with --convertToCSV flag if your JSON dumps are
                        not true JSON files, but rather line separated JSON
                        objects that you got from other sources.
  --dontclean, -dc      Choose if want to keep useless data when convert to
                        CSV. See docs for more info.
टूल डाउनलोड करें