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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
S3Scanner — امسح بحثًا عن حاويات S3 غير مُهيأة بشكل صحيح عبر واجهات برمجة تطبيقات متوافقة مع S3! | Kitploit
أدوات/GitHubGitHub/sa7mon/s3scanner
ماسحات الثغرات الأمنيةجمع المعلوماتأمن السحابةسوء التكوين
GitHubsa7mon/s3scanner

S3Scanner

امسح بحثًا عن حاويات S3 غير مُهيأة بشكل صحيح عبر واجهات برمجة تطبيقات متوافقة مع S3!

عرض المستودعالموقع الإلكتروني
3.2k414منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

S3Scanner

الميزات - الاستخدام - بداية سريعة - التثبيت - نقاش


أداة للعثور على دلاء S3 المفتوحة في AWS أو مزودي السحابة الآخرين:
  • AWS
  • DigitalOcean
  • DreamHost
  • GCP
  • Linode
  • Scaleway
  • مخصص (Custom)
عرض توضيحي

الميزات

  • ⚡️ فحص متعدد الخيوط
  • 🔭 دعم العديد من مزودي تخزين S3 المدمجين أو المخصصين
  • 🕵️‍♀️ فحص جميع أذونات الدلاء للعثور على التكوينات الخاطئة
  • 💾 حفظ النتائج في قاعدة بيانات Postgres
  • 🐇 الاتصال بـ RabbitMQ للفحص الآلي على نطاق واسع
  • 🐳 دعم Docker

يستخدم بواسطة

لافتة لـ six2dez/reconftw لافتة لـ yogeshojha/rengine لافتة لـ pry0cc/axiom - تقول 'إطار العمل الديناميكي للبنية التحتية للجميع'

الاستخدام

root@kitploit:~
INPUT: (مطلوب واحد)
  -bucket        string  اسم الدلو المراد فحصه.
  -bucket-file   string  ملف بأسماء الدلاء المراد فحصها.
  -mq                    الاتصال بـ RabbitMQ للحصول على الدلاء. يتطلب مفتاح "mq" في ملف التكوين. الافتراضي: "false"

OUTPUT:
  -db       حفظ النتائج في قاعدة بيانات Postgres. يتطلب مفتاح "db.uri" في ملف التكوين. الافتراضي: "false"
  -json     طباعة السجلات إلى stdout بتنسيق JSON بدلاً من التنسيق القابل للقراءة. الافتراضي: "false"

OPTIONS:
  -enumerate           تعداد كائنات الدلو (قد يستغرق وقتًا طويلاً). الافتراضي: "false"
  -provider    string  مزود تخزين الكائنات: aws, custom, digitalocean, dreamhost, gcp, linode, scaleway - custom يتطلب ملف تكوين. الافتراضي: "aws"
  -threads     int     عدد الخيوط للفحص. الافتراضي: "4"

DEBUG:
  -verbose     تفعيل التسجيل المفصل. الافتراضي: "false"
  -version     طباعة الإصدار. الافتراضي: "false"

إذا كان ملف التكوين مطلوبًا، فسيتم البحث عن config.yml في هذه المواقع: "." "/etc/s3scanner/" "$HOME/.s3scanner/"

🚀 دعم

إذا وجدت هذه الأداة مفيدة، يرجى التفكير في التبرع لدعم تطويرها. يمكنك العثور على خيارات الرعاية على جانب صفحة هذا المستودع أو في FUNDING.yml

شكر جزيل لـ tines لكونه الراعي المستمر لهذا المشروع.

بداية سريعة

فحص AWS للدلاء المسماة في ملف، تعداد جميع الكائنات

root@kitploit:~
$ s3scanner -bucket-file names.txt -enumerate

فحص دلو في GCP، تعداد جميع الكائنات، وحفظ النتائج في قاعدة البيانات

root@kitploit:~
$ s3scanner -provider gcp -db -bucket my-bucket -enumerate

التثبيت

الاستخدام

الإدخال

s3scanner يتطلب نوعًا واحدًا بالضبط من الإدخال: -bucket أو -bucket-file أو -mq.

root@kitploit:~
INPUT: (مطلوب واحد)
  -bucket        string  اسم الدلو المراد فحصه.
  -bucket-file   string  ملف بأسماء الدلاء المراد فحصها.
  -mq                    الاتصال بـ RabbitMQ للحصول على الدلاء. يتطلب مفتاح "mq" في ملف التكوين. الافتراضي: "false"

-bucket

فحص دلو واحد

root@kitploit:~
s3scanner -bucket secret_uploads

-bucket-file

يفحص كل اسم دلو مدرج في الملف

root@kitploit:~
s3scanner -bucket-file names.txt

حيث يحتوي names.txt على اسم دلو واحد لكل سطر

root@kitploit:~
$ cat names.txt
bucket123
assets
image-uploads

سيتم فحص أسماء الدلاء المدرجة عدة مرات مرة واحدة فقط.

-mq

يتصل بخادم RabbitMQ ويستهلك رسائل تحتوي على أسماء الدلاء المراد فحصها.

root@kitploit:~
s3scanner -mq

يجب أن تكون الرسائل كائنات Bucket مشفرة بتنسيق JSON - راجع mqingest للحصول على مثال للنشر باستخدام Golang.

-mq يتطلب مفتاحي ملف التكوين mq.uri و mq.queue_name. راجع قسم ملف التكوين للحصول على مثال.

المخرجات

root@kitploit:~
OUTPUT:
  -db       حفظ النتائج في قاعدة بيانات Postgres. يتطلب مفتاح "db.uri" في ملف التكوين. الافتراضي: "false"
  -json     طباعة السجلات إلى stdout بتنسيق JSON بدلاً من التنسيق القابل للقراءة. الافتراضي: "false"

-db

يحفظ جميع نتائج الفحص في قاعدة بيانات PostgreSQL

root@kitploit:~
s3scanner -bucket images -db
  • يتطلب مفتاح db.uri في ملف التكوين. راجع قسم ملف التكوين للحصول على مثال.
  • إذا كنت تستخدم -db، فسيتم أيضًا طباعة النتائج إلى وحدة التحكم إذا كنت تستخدم -json أو وضع الإخراج القابل للقراءة الافتراضي.
  • يقوم s3scanner بتشغيل ميزة الترحيل التلقائي في Gorm في كل مرة يتصل فيها بقاعدة البيانات. إذا كان المخطط يحتوي بالفعل على جداول بأسماء يتوقعها Gorm، فقد يغير هيكل هذه الجداول. يُوصى بإنشاء مخطط Postgres مخصص لنتائج s3scanner.

-json

بدلاً من إخراج نتائج الفحص إلى وحدة التحكم بتنسيق قابل للقراءة، قم بإخراج JSON قابل للقراءة آليًا.

root@kitploit:~
s3scanner -bucket images -json

سيؤدي ذلك إلى طباعة كائن JSON واحد لكل سطر إلى وحدة التحكم، والذي يمكن بعد ذلك توجيهه إلى jq أو أدوات أخرى تقبل إدخال JSON.

مثال: طباعة اسم الدلو والمنطقة لجميع الدلاء الموجودة

root@kitploit:~
$ s3scanner -bucket-file names.txt -json | jq -r '. | select(.bucket.exists==1) | [.bucket.name, .bucket.region] | join(" - ")'       
10000 - eu-west-1
10000.pizza - ap-southeast-1
images_staging - us-west-2

الخيارات

root@kitploit:~
OPTIONS:
  -enumerate           تعداد كائنات الدلو (قد يستغرق وقتًا طويلاً). الافتراضي: "false"
  -provider    string  مزود تخزين الكائنات: aws, custom, digitalocean, dreamhost, gcp, linode, scaleway - custom يتطلب ملف تكوين. الافتراضي: "aws"
  -threads     int     عدد الخيوط للفحص. الافتراضي: "4"

-enumerate

تعداد جميع الكائنات المخزنة في الدلو. بشكل افتراضي، يقوم s3scanner فقط بفحص أذونات الدلاء.

root@kitploit:~
s3scanner -bucket attachments -enumerate
  • ملاحظة: قد يستغرق هذا وقتًا طويلاً إذا كان هناك عدد كبير من الكائنات المخزنة.
  • عند التعداد، سيطلب s3scanner "صفحات" من 1000 كائن. إذا كان هناك أكثر من 5000 صفحة من الكائنات، فسيتخطى الباقي.

-provider

اسم مزود التخزين المستخدم عند فحص الدلاء.

root@kitploit:~
s3scanner -bucket assets -provider gcp
  • استخدم "custom" عند استهداف مزود تخزين غير مدعوم حاليًا أو مزود تخزين شبكة محلي.
  • مزود "custom" يتطلب مفاتيح ملف التكوين تحت providers.custom المدرجة في قسم ملف التكوين.

-threads

عدد الخيوط للفحص.

root@kitploit:~
s3scanner -bucket secret_docs -threads 8
  • زيادة عدد الخيوط ستزيد عدد الدلاء التي يتم فحصها في وقت واحد، لكنها لن تسرع تعداد الكائنات. التعداد حاليًا أحادي الخيط لكل دلو.

التصحيح

root@kitploit:~
DEBUG:
  -verbose     تفعيل التسجيل المفصل. الافتراضي: "false"
  -version     طباعة الإصدار. الافتراضي: "false"

-verbose

يتيح التسجيل المفصل لرسائل التصحيح. هذا الخيار سينتج الكثير من السجلات ولا يُوصى باستخدامه إلا عند تقديم تقرير خطأ.

root@kitploit:~
s3scanner -bucket spreadsheets -verbose

-version

اطبع معلومات الإصدار واخرج.

root@kitploit:~
s3scanner -version
  • سيتم طباعة dev إذا تم تجميعه من المصدر.

التطوير

يتم تضمين ملف docker compose ينشئ 4 حاويات:

  • rabbitmq
  • postgres
  • app
  • mitm

تم تكوين ملفين شخصيين:

  • dev - بيئة تطوير قياسية
  • dev-mitm - بيئة مكونة مع mitmproxy لتسهيل مراقبة حركة مرور HTTP عند تصحيح الأخطاء أو إضافة مزودين جدد.

لتشغيل بيئة التطوير، قم بتشغيل make dev أو make dev-mitm. ادخل إلى حاوية app باستخدام docker exec -it -w /app app_dev sh، ثم go run . إذا كنت تستخدم ملف التعريف dev-mitm، افتح http://127.0.0.1:8081 في متصفح لعرض ومعالجة استدعاءات HTTP التي تتم من حاوية التطبيق.

ملف التكوين

إذا كنت تستخدم علامات تتطلب خيارات تكوين، فسيبحث s3scanner عن config.yml في:

  • (الدليل الحالي)
  • /etc/s3scanner/
  • $HOME/.s3scanner/
root@kitploit:~
# مطلوب بواسطة -db
db:
  uri: "postgresql://user:[email protected]:5432/schema_name"

# مطلوب بواسطة -mq
mq:
  queue_name: "aws"
  uri: "amqp://user:pass@localhost:5672"

# providers.custom مطلوب بواسطة `-provider custom`
#   address_style - نمط العنونة المستخدم من قبل نقاط النهاية.
#     type: string
#     values: "path" أو "vhost"
#   endpoint_format - تنسيق عناوين URL لنقاط النهاية. يجب أن يحتوي على '$REGION' كمكان لاسم المنطقة
#     type: string
#   insecure - تجاهل أخطاء SSL
#     type: boolean
# يجب أن تحتوي المناطق على خيار واحد على الأقل
providers:
  custom: 
    address_style: "path"
    endpoint_format: "https://$REGION.vultrobjects.com"
    insecure: false
    regions:
      - "ewr1"

عندما يقوم s3scanner بتحليل ملف التكوين، سيأخذ endpoint_format ويستبدل $REGION بجميع regions المدرجة لإنشاء قائمة بعناوين URL لنقاط النهاية.

واجهات برمجة التطبيقات المتوافقة مع S3

ملاحظة: S3Scanner يدعم حاليًا فقط فحص أذونات المستخدمين المجهولين لخدمات غير AWS

📚 مزيد من المعلومات حول واجهات برمجة التطبيقات غير AWS متوفرة في ويكي المشروع.

الأذونات

ستحاول هذه الأداة الحصول على جميع المعلومات المتاحة حول الدلو، ولكن الأمر متروك لك لتفسير النتائج.

الأذونات الممكنة للدلاء:

  • قراءة - سرد وعرض جميع الملفات
  • كتابة - كتابة الملفات إلى الدلو
  • قراءة ACP - قراءة جميع سياسات التحكم في الوصول المرفقة بالدلو
  • كتابة ACP - كتابة سياسات التحكم في الوصول إلى الدلو
  • تحكم كامل - جميع الأذونات أعلاه

يمكن تعيين أي من هذه الأذونات أو جميعها لمجموعتي المستخدمين الرئيسيتين:

  • المستخدمون الموثوقون
  • المستخدمون العموميون (أولئك الذين ليس لديهم بيانات اعتماد AWS)
  • مستخدمون/مجموعات فردية (خارج نطاق هذه الأداة)

ما يعنيه هذا: مجرد أن الدلو لا يسمح بقراءة/كتابة ACLs لا يعني أنه لا يمكنك قراءة/كتابة الملفات في الدلو. وبالمثل، قد تكون قادرًا على سرد ACLs ولكن لا يمكنك القراءة/الكتابة إلى الدلو.

الترخيص

MIT

تنزيل الأداة
المنصةالإصدارالخطوات
BlackArchBlackArch packagepacman -S s3scanner
DockerDocker releasedocker run ghcr.io/sa7mon/s3scanner
GoGolanggo install -v github.com/sa7mon/s3scanner@latest
Kali LinuxKali packageapt install s3scanner
MacOShomebrew versionbrew install s3scanner
Parrot OSParrot packageapt install s3scanner
Windows - wingetwinget install s3scanner
NixOS مستقرnixpkgs unstable packagenix-shell -p s3scanner
NixOS غير مستقرnixpkgs unstable packagenix-shell -p s3scanner
أخرى - بناء من المصدرGitHub releasegit clone [email protected]:sa7mon/S3Scanner.git && cd S3Scanner && go build -o s3scanner .