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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
DumpsterDiver — أداة للبحث عن الأسرار في أنواع ملفات متنوعة. | Kitploit
أدوات/GitHubGitHub/securing/dumpsterdiver
التحليل الثابتتحليل الثغرات الأمنيةتحليل الكودتسريب البياناتجمع المعلوماتكشف الأسرارArchived
GitHubsecuring/dumpsterdiver

DumpsterDiver

أداة للبحث عن الأسرار في أنواع ملفات متنوعة.

عرض المستودع
1.0k154منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

DumpsterDiver_logo

دمبستردايفر (بواسطة @Rzepsky)

دمبستردايفر هي أداة يمكنها تحليل كميات كبيرة من البيانات بحثًا عن الأسرار المكتوبة بشكل صلب مثل المفاتيح (مثل مفتاح الوصول إلى AWS، مفتاح المشاركة في Azure أو مفاتيح SSH) أو كلمات المرور. بالإضافة إلى ذلك، تسمح بإنشاء قواعد بحث بسيطة مع شروط أساسية (مثل الإبلاغ عن ملفات CSV فقط التي تحتوي على 10 عناوين بريد إلكتروني على الأقل). الفكرة الرئيسية لهذه الأداة هي اكتشاف أي تسرب محتمل للأسرار. يمكنك مشاهدتها وهي تعمل في فيديو تجريبي أو قراءة عن جميع ميزاتها في هذه المقالة.

DumpsterDiver

الميزات الرئيسية:

  • يستخدم إنتروبيا شانون للعثور على المفاتيح الخاصة،
  • يبحث من خلال سجلات git،
  • يفك ضغط الأرشيفات المضغوطة (مثل zip، tar.gz إلخ)،
  • يدعم البحث المتقدم باستخدام قواعد بسيطة (تفاصيل أدناه)،
  • يبحث عن كلمات المرور المكتوبة بشكل صلب،
  • قابل للتخصيص بالكامل.

الاستخدام

root@kitploit:~
usage: DumpsterDiver.py [-h] -p LOCAL_PATH [-r] [-a] [-s] [-o OUTFILE]
                        [--min-key MIN_KEY] [--max-key MAX_KEY]
                        [--entropy ENTROPY] [--min-pass MIN_PASS]
                        [--max-pass MAX_PASS]
                        [--pass-complex {1,2,3,4,5,6,7,8,9}]
                        [--exclude-files EXCLUDE_FILES [EXCLUDE_FILES ...]]
                        [--bad-expressions BAD_EXPRESSIONS [BAD_EXPRESSIONS ...]]

خيارات سطر الأوامر الأساسية

  • -p LOCAL_PATH - المسار إلى المجلد الذي يحتوي على الملفات المراد تحليلها.
  • -a, --advance - عند تعيين هذه العلامة، سيتم تحليل جميع الملفات بالإضافة إلى ذلك باستخدام القواعد المحددة في ملف rules.yaml.
  • -r, --remove - عند تعيين هذه العلامة، سيتم إزالة الملفات التي لا تحتوي على أي سر (أو أي شيء مثير للاهتمام إذا تم تعيين علامة -a).
  • -s, --secret - عند تعيين هذه العلامة، سيتم تحليل جميع الملفات بالإضافة إلى ذلك بحثًا عن كلمات المرور المكتوبة بشكل صلب.
  • -o OUTFILE - ملف الإخراج بتنسيق JSON.

المتطلبات الأساسية

لتشغيل دمبستردايفر، يجب عليك تثبيت مكتبات بايثون. يمكنك القيام بذلك عن طريق تشغيل الأمر التالي:

root@kitploit:~
$> pip install -r requirements.txt

إذا كنت قد قمت بتثبيت Python 2 و 3 بشكل منفصل، فيجب عليك استخدام pip3 أو pip3.6.

تخصيص بحثك

لا توجد أداة واحدة تناسب احتياجات الجميع ودمبستردايفر ليست استثناءً هنا. هناك طريقتان لتخصيص بحثك:

  • باستخدام معلمات سطر الأوامر
  • باستخدام ملف config.yaml

التخصيص عبر معلمات سطر الأوامر

  • --min-key MIN_KEY - يحدد الحد الأدنى لطول المفتاح المراد تحليله (الافتراضي هو 20).
  • --max-key MAX_KEY - يحدد الحد الأقصى لطول المفتاح المراد تحليله (الافتراضي هو 80).
  • --entropy ENTROPY - يحدد عتبة الإنتروبيا العالية (الافتراضي هو 4.3).

هناك أيضًا برنامج نصي منفصل مضاف يسمح لك بحساب إنتروبيا حرف في كلمة واحدة. سيساعدك ذلك على تخصيص دمبستردايفر بشكل أفضل لاحتياجاتك. يمكنك التحقق منه باستخدام الأمر التالي:

root@kitploit:~
$> python3 entropy.py f2441e3810794d37a34dd7f8f6995df4

هذه الطريقة مفيدة جدًا عندما تعرف ما تبحث عنه. فيما يلي بعض الأمثلة:

  • عندما تبحث عن مفتاح الوصول السري لـ AWS:

$> python3 DumpsterDiver.py -p [PATH_TO_FOLDER] --min-key 40 --max-key 40 --entropy 4.3

  • عندما تبحث عن مفتاح Azure المشترك:

$> python3 DumpsterDiver.py -p [PATH_TO_FOLDER] --min-key 66 --max-key 66 --entropy 5.1

  • عندما تبحث عن مفتاح SSH الخاص (افتراضيًا، يتم كتابة مفتاح RSA الخاص في سلاسل بطول 76 بايت):

$> python3 DumpsterDiver.py -p [PATH_TO_FOLDER] --min-key 76 --max-key 76 --entropy 5.1

  • عندما تبحث عن أي occurrence من aws_access_key_id أو aws_secret_access_key:

$> python3 DumpsterDiver.py -p ./test/ --grep-words *aws_access_key_id* *aws_secret_access_key* -a

يرجى ملاحظة أن أحرف البدل قبل وبعد كلمة البحث تستخدم عن قصد. بهذه الطريقة، سيتم أيضًا الإبلاغ عن تعبيرات مثل "aws_access_key_id" أو aws_access_key_id=.

العثور على كلمات المرور المكتوبة بشكل صلب

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

  • --min-pass MIN_PASS - يحدد الحد الأدنى لطول كلمة المرور المراد تحليلها (الافتراضي هو 8). يتطلب إضافة علامة -s إلى الصيغة.
  • --max-pass MAX_PASS - يحدد الحد الأقصى لطول كلمة المرور المراد تحليلها (الافتراضي هو 12). يتطلب إضافة علامة -s إلى الصيغة.
  • --pass-complex {1,2,3,4,5,6,7,8,9} - يحدد عتبة تعقيد كلمة المرور بين 1 (كلمات مرور تافهة) إلى 9 (كلمات مرور معقدة جدًا) (الافتراضي هو 8). يتطلب إضافة علامة -s إلى الصيغة.

على سبيل المثال، إذا كنت تريد العثور على كلمات مرور معقدة (تحتوي على أحرف كبيرة، صغيرة، حرف خاص، رقم وطولها من 10 إلى 15 حرفًا)، فيمكنك القيام بذلك باستخدام الأمر التالي:

$> python3 DumpsterDiver.py -p [PATH_TO_FOLDER] --min-pass 10 --max-pass 15 --pass-complex 8

تحديد المسح

قد ترغب في تخطي مسح ملفات معينة. لهذا الغرض، يمكنك استخدام المعلمات التالية:

  • --exclude-files - يحدد أسماء الملفات أو الامتدادات التي لا ينبغي تحليلها. يجب أن يحتوي امتداد الملف على حرف . (مثل .pdf). يجب فصل أسماء الملفات والامتدادات المتعددة بمسافة.

  • --bad-expressions - يحدد التعبيرات غير المرغوب فيها. إذا وجد دمبستردايفر مثل هذا التعبير في ملف، فلن يتم تحليل هذا الملف. يجب فصل التعبيرات غير المرغوب فيها المتعددة بمسافة.

إذا كنت تريد تحديد أسماء ملفات متعددة أو تعبيرات غير مرغوب فيها أو كلمات بحث باستخدام ملف منفصل، يمكنك القيام بذلك عبر الحيلة التالية في bash:

root@kitploit:~
$> python3 DumpsterDiver.py -p ./test/ --exclude-files `while read -r line; do echo $line; done < blacklisted_files.txt`

التخصيص عبر ملف config.yaml

بدلاً من استخدام معاملات سطر أوامر متعددة، يمكنك تحديد قيم لجميع المعاملات المذكورة أعلاه مرة واحدة في ملف config.yaml.

البحث المتقدم:

يدعم دمبستردايفر أيضًا البحث المتقدم. بالإضافة إلى البحث البسيط بأحرف البدل، تسمح لك هذه الأداة بإنشاء شروط. لنفترض أنك تبحث عن تسرب رسائل البريد الإلكتروني للشركة. بالإضافة إلى ذلك، أنت مهتم فقط بالتسريبات الكبيرة التي تحتوي على 100 عنوان بريد إلكتروني على الأقل. لهذا الغرض، يجب عليك تحرير ملف rules.yaml بالطريقة التالية:

root@kitploit:~
filetype: [".*"]
filetype_weight: 0
grep_words: ["*@example.com"]
grep_words_weight: 10
grep_word_occurrence: 100

لنفترض سيناريو مختلفًا، أنت تبحث عن مصطلحات "pass"، "password"، "haslo"، "hasło" (إذا كنت تقوم بتحليل مستودع شركة بولندية) في ملف .db أو .sql. يمكنك تحقيق ذلك عن طريق تعديل ملف rules.yaml بالطريقة التالية:

root@kitploit:~
filetype: [".db", ".sql"]
filetype_weight: 5
grep_words: ["*pass*", "*haslo*", "*hasło*"]
grep_words_weight: 5
grep_word_occurrence: 1

لاحظ أنه سيتم تشغيل القاعدة فقط عندما يكون الوزن الإجمالي (filetype_weight + grep_words_weight) >=10.

استخدام Docker

صورة Docker متاحة لـ DumpsterDiver. قم بتشغيلها باستخدام:

root@kitploit:~
$> docker run -v /path/to/my/files:/files --rm rzepsky/dumpsterdiver -p /files

إذا كنت تريد تجاوز أحد ملفات التكوين (config.yaml أو rules.yaml):

root@kitploit:~
$> docker run -v /path/to/my/config/config.yaml:/config.yaml /path/to/my/config/rules.yaml:/rules.yaml -v /path/to/my/files:/files --rm rzepsky/dumpsterdiver -p /files

المساهمة

هل لديك أفكار أفضل؟ هل تريد المساعدة في هذا المشروع؟ يرجى الاتصال بي عبر تويتر @Rzepsky. سأكون سعيدًا جدًا برؤية أي مساهمين هنا!

شكر خاص

هنا أود أن أشكر كثيرًا كل من ساعد في تطوير هذا المشروع:

  • Stephen Sorriaux
  • Andres Riancho
  • Damian Stygar
  • Disconnect3d

الرخصة

انظر ملف LICENSE.

تنزيل الأداة