Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
aws-recon — أداة متعددة الخيوط لجمع مخزون AWS مع التركيز على الموارد والبيانات الوصفية ذات الصلة بالأمان. | Kitploit
أدوات/GitHubGitHub/joshlarsen/aws-recon
أمن البنية التحتية السحابيةالاستطلاعتحليل الثغرات الأمنيةالبرمجة النصية والأتمتةتدقيق التكوينجمع المعلوماتأمن السحابةDevSecOpsArchived
GitHubjoshlarsen/aws-recon

aws-recon

أداة متعددة الخيوط لجمع مخزون AWS مع التركيز على الموارد والبيانات الوصفية ذات الصلة بالأمان.

5585032منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Docker Pulls Gem Version GitHub Workflow Status (branch) AWS Service Regions

AWS Recon

أداة متعددة الخيوط لجمع قوائم جرد AWS موجهة للأمان، مكتوبة بلغة Ruby.

تم إنشاء هذه الأداة لتسهيل الجمع الفعّال لعدد كبير من سمات وبيانات وصف موارد AWS. تهدف إلى جمع كل ما هو تقريبًا ذو صلة بتكوين الأمان ووضعية بيئة AWS.

الأدوات الحالية (مثل AWS Config) التي تقوم بجمع الموارد تفتقر إلى التغطية والدقة اللازمة لقياس وضعية الأمان بدقة (مثل بيانات سمات الموارد المفصلة، ووثائق السياسات المحللة بالكامل، وعلاقات الموارد المتداخلة).

تتعامل AWS Recon مع الجمع من الحسابات الكبيرة من خلال الاستفادة من إعادة المحاولة التلقائية (سواء بسبب موثوقية الشبكة أو تقييد API)، والترحيل التلقائي للاستجابات الكبيرة (> 100 مورد لكل استدعاء API)، وطلبات متوازية متعددة الخيوط لتسريع الجمع.

أهداف المشروع

  • تغطية موارد أكثر اكتمالاً من الأدوات المتاحة (خاصة لـ ECS و EKS)
  • تفاصيل موارد أكثر دقة، بما في ذلك الموارد المرتبطة المتداخلة في المخرجات
  • مخرجات مرنة (وحدة التحكم، سطور JSON، JSON عادي، ملف، حاوية S3، والمخرجات القياسية)
  • فعّالة (متعددة الخيوط، محدودة المعدل، إعادة محاولة تلقائية، وترحيل النتائج تلقائيًا)
  • سهلة الصيانة والتوسيع

شركات رائعة تستخدم AWS Recon**

  • Netflix
  • HashiCorp
  • Workday
  • Stripe
  • PayPal
  • Typeform
  • Amazon Web Services
  • Plaid
  • Expel
  • Mozilla
  • Bugcrowd
  • Dropbox
  • Pinterest
  • HackerOne
  • MuleSoft
  • Slack
  • Drata
  • Google
  • Sophos
  • Sumo Logic
  • Coalfile
  • Xero

** الاستخدام لا يعني المصادقة

الإعداد

المتطلبات

تحتاج AWS Recon إلى دور أو بيانات اعتماد لحساب AWS مع صلاحية ReadOnlyAccess. صلاحية AdministratorAccess الكاملة هي صلاحية مفرطة، ولكنها ستعمل أيضًا. سياسة SecurityAudit ليست كافية لأنها تفتقر إلى الوصول إلى العديد من الخدمات.

التشغيل عبر Docker

استخدم إصدار Docker 19.x أو أعلى لتشغيل الصورة المبنية مسبقًا دون الحاجة إلى تثبيت أي شيء.

التشغيل محليًا عبر Ruby

إذا كان لديك Ruby مثبتًا بالفعل (2.6.x أو 2.7.x)، فقد ترغب في تثبيت الـ gem.

التثبيت

يمكن تشغيل AWS Recon محليًا عبر حاوية Docker أو عن طريق تثبيت الـ gem الخاص بـ Ruby.

للتشغيل عبر حاوية Docker، قم بتمرير بيانات اعتماد AWS اللازمة إلى أمر run الخاص بـ Docker. على سبيل المثال:

$ docker run -t --rm \
  -e AWS_REGION \
  -e AWS_ACCESS_KEY_ID \
  -e AWS_SECRET_ACCESS_KEY \
  -e AWS_SESSION_TOKEN \
  -v $(pwd)/output.json:/recon/output.json \
  darkbitio/aws_recon:latest \
  aws_recon -v -s EC2 -r global,us-east-1,us-east-2

للتشغيل محليًا، قم أولاً بتثبيت الـ gem:

$ gem install aws_recon
Fetching aws_recon-0.5.17.gem
Fetching aws-sdk-3.0.1.gem
Fetching parallel-1.20.1.gem
...
Successfully installed aws-sdk-3.0.1
Successfully installed parallel-1.20.1
Successfully installed aws_recon-0.5.17

أو أضفه إلى ملف Gemfile الخاص بك باستخدام bundle:

$ bundle add aws_recon
Fetching gem metadata from https://rubygems.org/
Resolving dependencies...
...
Using aws-sdk 3.0.1
Using parallel-1.20.1
Using aws_recon 0.5.17

الاستخدام

ستستفيد AWS Recon من أي بيانات اعتماد AWS (انظر المتطلبات) المتاحة حاليًا للبيئة التي تعمل فيها. إذا كنت تجمع من حسابات متعددة، فقد ترغب في استخدام شيء مثل aws-vault لإدارة بيانات الاعتماد المختلفة.

$ aws-vault exec profile -- aws_recon

المتغيرات البيئية العادية ستعمل أيضًا بشكل جيد.

$ AWS_PROFILE=<profile> aws_recon

للتشغيل من حاوية Docker باستخدام بيانات اعتماد مُدارة بواسطة aws-vault (المخرجات إلى stdout):

$ aws-vault exec <vault_profile> -- docker run -t --rm \
  -e AWS_REGION \
  -e AWS_ACCESS_KEY_ID \
  -e AWS_SECRET_ACCESS_KEY \
  -e AWS_SESSION_TOKEN \
  darkbitio/aws_recon:latest \
  aws_recon -j -s EC2 -r global,us-east-1,us-east-2

للتشغيل من حاوية Docker باستخدام بيانات اعتماد مُدارة بواسطة aws-vault والمخرجات إلى ملف، ستحتاج إلى تلبية شرطين. أولاً، يحتاج Docker إلى صلاحية الوصول إلى ربط المسار الذي تحدده (أو مسار رئيسي فوقه). ثانيًا، تحتاج إلى إنشاء ملف فارغ لحفظ المخرجات فيه (مثل output.json). وذلك لأن هذا الملف فقط هو الذي يتم تركيبه داخل حاوية Docker وقت التشغيل. على سبيل المثال:

أنشئ ملفًا فارغًا.

$ touch output.json

شغّل حاوية aws_recon، مع تحديد ملف المخرجات.

$ aws-vault exec <vault_profile> -- docker run -t --rm \
  -e AWS_REGION \
  -e AWS_ACCESS_KEY_ID \
  -e AWS_SECRET_ACCESS_KEY \
  -e AWS_SESSION_TOKEN \
  -v $(pwd)/output.json:/recon/output.json \
  darkbitio/aws_recon:latest \
  aws_recon -s EC2 -v -r global,us-east-1,us-east-2

قد ترغب في استخدام العلامة -v أو --verbose في البداية لرؤية الحالة والنشاط أثناء تشغيل الجمع.

في الوضع المفصّل، ستعرض مخرجات وحدة التحكم ما يلي:

<thread>.<region>.<service>.<operation>

البادئة t تشير إلى أي خيط يتم تشغيل طلب معين تحته. تشير المنطقة والخدمة والعملية إلى طلب العملية الجاري حالياً وأين.

$ aws_recon -v

t0.global.EC2.describe_account_attributes
t2.global.S3.list_buckets
t3.global.Support.describe_trusted_advisor_checks
t2.global.S3.list_buckets.acl
t5.ap-southeast-1.WorkSpaces.describe_workspaces
t6.ap-northeast-1.Lightsail.get_instances
...
t2.us-west-2.WorkSpaces.describe_workspaces
t1.us-east-2.Lightsail.get_instances
t4.ap-southeast-1.Firehose.list_delivery_streams
t7.ap-southeast-1.Lightsail.get_instances
t0.ap-south-1.Lightsail.get_instances
t1.us-east-2.Lightsail.get_load_balancers
t7.ap-southeast-2.WorkSpaces.describe_workspaces
t2.eu-west-3.SageMaker.list_notebook_instances
t3.eu-west-2.SageMaker.list_notebook_instances

Finished in 46 seconds. Saving resources to output.json.

مثال على خيارات سطر الأوامر

# جمع موارد S3 و EC2 العالمية، بالإضافة إلى us-east-1 و us-east-2

$ AWS_PROFILE=<profile> aws_recon -s S3,EC2 -r global,us-east-1,us-east-2
# جمع موارد S3 و EC2 العالمية، بالإضافة إلى us-east-1 و us-east-2

$ AWS_PROFILE=<profile> aws_recon --services S3,EC2 --regions global,us-east-1,us-east-2
# حفظ المخرجات إلى حاوية S3

$ AWS_PROFILE=<profile> aws_recon \
  --services S3,EC2 \
  --regions global,us-east-1,us-east-2 \
  --verbose \
  --s3-bucket my-recon-bucket
# حفظ المخرجات إلى حاوية S3 مع منطقة رئيسية غير us-east-1

$ AWS_PROFILE=<profile> aws_recon \
  --services S3,EC2 \
  --regions global,us-east-1,us-east-2 \
  --verbose \
  --s3-bucket my-recon-bucket:us-west-2

مثال على مخرجات بتنسيق OpenCSPM (NDJSON).

$ AWS_PROFILE=<profile> aws_recon -l \
  -s S3,EC2 \
  -r global,us-east-1,us-east-2 \
  -f custom

أو

$ AWS_PROFILE=<profile> aws_recon -j \
  -s S3,EC2 \
  -r global,us-east-1,us-east-2 \
  -f custom > output.json

الأخطاء

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

  • استخدام دور بدون أذونات كافية
  • الاستعلام عن حساب مع وجود سياسات SCP تمنع استخدام خدمات معينة
  • محاولة الاستعلام عن خدمة غير مُفعّلة/متاحة في منطقتك/حسابك
تنزيل الأداة