Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ODBParser — أداة استخبارات مفتوحة المصدر (OSINT) للبحث عن دليلَيْ Elasticsearch وMongoDB المفتوحين وتحليلهما وتفريغهما فقط، واللذين يحتويان على البيانات التي تهمك كشفها. | Kitploit
أدوات/GitHubGitHub/citcheese/odbparser
الاستخبارات مفتوحة المصدر (OSINT)ماسحات الثغرات الأمنيةتسريب البياناتجمع المعلوماتأمن قواعد البيانات
GitHubcitcheese/odbparser

ODBParser

أداة استخبارات مفتوحة المصدر (OSINT) للبحث عن دليلَيْ Elasticsearch وMongoDB المفتوحين وتحليلهما وتفريغهما فقط، واللذين يحتويان على البيانات التي تهمك كشفها.

عرض المستودع
477منذ 6 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

ODBParser

باختصار

ODBParser هي أداة للبحث عن المعلومات الشخصية (PII) المكشوفة في قواعد البيانات المفتوحة.

يُستخدم فقط لتحديد المعلومات الشخصية المكشوفة وتحذير مالكي الخوادم من الصيانة غير المسؤولة لقاعدة البيانات
أو للاستعلام عن قواعد البيانات التي لديك إذن بالوصول إليها!

يُرجى الاستخدام بمسؤولية

ما هذا؟

كتبت هذه الأداة لأنني أردت إنشاء أداة OSINT شاملة للبحث والتحليل والتحليل لقواعد البيانات المفتوحة من أجل تحديد تسريبات المعلومات الشخصية على خوادم الجهات الخارجية. يبدو أن الأدوات الأخرى إما تبحث فقط عن قواعد البيانات المفتوحة أو تُفرغها بمجرد تحديدها ثم تسحب البيانات بشكل عشوائي. تطورت من دالة أو اثنتين إلى ما هو موجود في هذا المستودع، لذا فإن الكود ليس نظيفًا وجميلًا كما ينبغي.

الميزات

لتحديد قواعد البيانات المفتوحة يمكنك:

  • الاستعلام عن Shodan وBinaryEdge باستخدام جميع المعلمات الممكنة (تصفية حسب البلد، رقم المنفذ، أيًا كان)
  • تحديد عنوان IP واحد
  • تحميل ملف يحتوي على قائمة عناوين IP
  • لصق قائمة عناوين IP من الحافظة

خيارات التفريغ:

  • تحليل جميع قواعد البيانات/المجموعات لتحديد البيانات التي تحددها
  • سحب كل شيء مستضاف على الخادم
  • سحب فهرس/مجموعة واحدة فقط
  • استخدم ctrl+c لتخطي تفريغ فهرس معين

ما بعد المعالجة:

  • تحويل تفريغات JSON إلى CSV
  • إزالة الأعمدة غير المفيدة من CSV

ميزات أخرى:

  • يتتبع جميع عناوين IP وقواعد البيانات التي استعلمت عنها مع معلومات حول كل خادم.
  • يحتفظ بملف إحصائيات بعدد عناوين IP التي استعلمت عنها، وعدد قواعد البيانات التي حللتها، وعدد السجلات التي فرغتها
  • تحويل تفريغات JSON الموجودة لديك إلى CSV
  • لكل قاعدة بيانات يتجاوز إجمالي عدد سجلاتها حدك، سينشئ البرنامج النصي إدخالاً في ملف خاص مع 5 سجلات نموذجية حتى تتمكن من المراجعة وتقرير ما إذا كانت قاعدة البيانات تستحق السحب
  • الإخراج الافتراضي هو ملف JSON مفصول بأسطر مع كائن JSON في كل سطر. يمكنك اختيار إخراج ملف JSON "صحيح" باستخدام علامة "properjson"
  • يمكنك تحويل الملفات إلى CSV أثناء التشغيل أو تحويل ملفات معينة فقط بعد انتهاء التشغيل (أوصي بالخيار الأخير). سيتم نقل ملفات JSON المحولة إلى مجلد يسمى "JSON backups" في نفس الدليل. ملاحظة: عند التحويل إلى CSV، يقوم البرنامج النصي بإزالة الصفوف المكررة تمامًا والأعمدة والصفوف التي تكون جميع قيمها NaN، لأن هذا ما أردت فعله. لا تتردد في تعديل الدالة إذا كنت تفضل نسخة طبق الأصل من ملف JSON.
  • لنظام Windows فقط إذا أعاد البرنامج النصي عددًا كبيرًا من الفهارس التي تحتوي على الحقل الذي يهمك، فسيقوم البرنامج النصي بإدراج أسماء قواعد البيانات، ويتوقف لمدة عشر ثوانٍ لتقرر ما إذا كنت تريد المتابعة وسحب جميع البيانات من كل فهرس، حيث وجدت أنه إذا تم إرجاع عدد كبير جدًا من قواعد البيانات حتى بعد تحديد الحقول التي تريدها، فهناك احتمال كبير أن البيانات مزيفة أو سجلات غير مفيدة، ويمكنك عادةً معرفة ذلك من الاسم. إذا لم تتصرف خلال 10 ثوانٍ، فسيقوم البرنامج النصي بتفريغ كل فهرس.
  • كما قد تكون لاحظت، يقوم الكثير من الأشخاص بفحص قواعد بيانات MongoDB واحتجازها، وغالبًا ما يغيرون الاسم إلى شيء مثل "TO_RESTORE_EMAIL_XXXRESTORE.COM." سيتجاهل ماسح MongoDB جميع قواعد البيانات والمجموعات التي تم اختراقها عن طريق التحقق من اسم قاعدة البيانات/المجموعة مقابل قائمة من السلاسل التي تشير إلى الاختراق
  • البرنامج النصي مطول جدًا (ربما أكثر من اللازم) لكنني أحب رؤية ما يحدث. لا تتردد في كتم تعليمات الطباعة إذا كنت تفضل ذلك.

التخصيص

انظر إلى ملف odbconfig.py لتحديد المعلمات الخاصة بك، لأن الاسم الحقيقي للعبة هو كشف البيانات التي تهتم بها. لقد قدمت بعض الأمثلة في ملف التكوين. جربها!

يمكنك:

  • تحديد أسماء الفهارس أو المجموعات التي تريد جمعها عن طريق تحديد سلاسل فرعية في ملف التكوين. على سبيل المثال، إذا كان لديك المصطلح "client"، فسيسحب البرنامج النصي الفهرس المسمى "clients" أو "client_data." أوصي بإبقاء هذه القوائم فارغة لأنك لا تعرف أبدًا ما ستسمى قواعد البيانات التي تهتم بها، وبدلاً من ذلك حدد الحقول التي تهتم بها.
  • تحديد الحقول التي تهتم بها: إذا كنت تريد فقط سحب فهارس ES التي تحتوي على "email" في اسم الحقل، مثل "user_emails"، يمكنك فعل ذلك. إذا كنت تريد التأكد من أن الفهرس يحتوي على حقلين على الأقل تهتم بهما، يمكنك فعل ذلك أيضًا. أو إذا كنت تريد فقط سحب كل شيء بغض النظر عن الحقول الموجودة، يمكنك فعل ذلك أيضًا.
  • تحديد الفهارس التي لا تريدها، مثل أسماء فهارس النظام وغيرها التي تُستخدم عمومًا للتسجيل الأساسي. أمثلة مقدمة في ملف التكوين.
  • تجاوز التكوين وسحب كل شيء على الخادم
  • تحديد الإخراج (الافتراضي هو JSON، يمكنك اختيار CSV)
  • تعيين الحد الأدنى والحد الأقصى لحجم قاعدة البيانات التي سيفرغها البرنامج النصي افتراضيًا، ويمكنك تعيين علامة لتجاوز الحد الأقصى للمستندات حسب الحالة.

التثبيت والمتطلبات

  • استنساخ أو تنزيل إلى جهازك
  • الحصول على مفاتيح API لـ Shodan و/أو BinaryEdge
  • تكوين المعلمات في ملف ODBconfig.py
  • تثبيت المتطلبات من الملف

أقترح إنشاء بيئة افتراضية لـ ODBParser لتجنب مشاكل إصدارات الوحدات غير الصحيحة. ملاحظة: تم اختباره فقط على Python 3.7.3 ونظام Windows 10.

يُرجى الاستخدام بمسؤولية

الخطوات التالية والمشكلات المعروفة

  • تنظيف الكود أكثر قليلاً
  • تعدد الخيوط للعمليات المختلفة.
  • التوسع لأنواع قواعد البيانات الأخرى
  • إضافة محركات بحث أدلة مفتوحة أخرى (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.
تنزيل الأداة