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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
aws-firmware-dump — يحصل على أقراص EBS الخاصة بـ AWS AMI يمكنك تشغيلها، ويبث اللقطات عبر واجهات EBS المباشرة إلى دلو S3 خاص مع بيانات sha256 الوصفية وفك تغليف الصورة الخام الاختياري. | Kitploit
أدوات/GitHubGitHub/radkawar/aws-firmware-dump
أمن البنية التحتية السحابيةتحليل الأقراص الجنائيةالبرمجة النصية والأتمتةالتحقيق الجنائي الرقميجمع المعلوماتاستعادة البياناتأمن السحابةالأدوات والمكونات
GitHubradkawar/aws-firmware-dump

aws-firmware-dump

يحصل على أقراص EBS الخاصة بـ AWS AMI يمكنك تشغيلها، ويبث اللقطات عبر واجهات EBS المباشرة إلى دلو S3 خاص مع بيانات sha256 الوصفية وفك تغليف الصورة الخام الاختياري.

28335منذ 12 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

aws-firmware-dump

احصل على أقراص AMI يمكنك تشغيله بالفعل إلى دلو S3 خاص. لا كتالوج، لا قائمة منتجات، لا معرّفات AMI مضمّنة. أنت تمرّر معرّف AMI.

S3 هو المخزن. الإقلاع، واللقطة، والضغط، والرفع كلها تعمل داخل AWS. النطاق الترددي المحلي يُستخدم فقط إذا سحبت لاحقًا كائنًا محددًا.

ما الذي يفعله

graph LR
  A[AMI you supply] -->|run-instances| B[boot instance]
  B -->|every EBS disk| C[snapshots you own]
  C --> D[terminate boot instance]
  C -->|ListSnapshotBlocks / GetSnapshotBlock| E[helper]
  E -->|raw then zstd| F[(S3 golden store)]
  F -->|optional pull| G[local artifacts]
  1. شغّل AMI في VPC الخاص بهذه الحزمة. لا SSH، لا زوج مفاتيح، لا منافذ واردة.
  2. خذ لقطة لكل وحدة تخزين EBS على ذلك المثيل (القرص الجذري وأقراص البيانات)، ثم أنهِه. تُؤخذ اللقطات أولاً لأن صور السوق عادةً تضبط DeleteOnTermination.
  3. مساعد صغير من Amazon Linux يقرأ تلك اللقطات عبر واجهات EBS المباشرة ويبثّ raw | zstd | aws s3 cp -. لا يتم إنشاء أو إرفاق أي وحدة تخزين.
  4. سجّل sha256 للتدفق المضغوط بالإضافة إلى اسم AMI والمالك والمعمارية ورموز المنتج في manifest.json.

ما الذي لا يفعله

  • لا يبحث عن AMIs، ولا يشترك لك في قائمة، ولا يختار هدفًا.
  • لا ينسخ AMI عبر المناطق. يجب أن يكون AMI موجودًا بالفعل في region.
  • لا يقبل شروط السوق. OptInRequired خطوة في وحدة التحكم.
  • لن يشغّل AMI لا يستطيع هذا الحساب تشغيله.

لا تستخرج إلا الصور التي يحق لك تشغيلها. أبقِ المخرجات خاصة. رسوم برمجيات السوق، إن كانت القائمة تتضمنها، تتراكم فقط أثناء تشغيل مثيل الإقلاع.

لماذا مسار القراءة هو واجهات EBS المباشرة

لا تمنح AWS للمشترين اللقطة الكامنة خلف AMI من السوق. copy-image و create-volume على تلك اللقطة يفشلان. تشغيل AMI ينشئ وحدة تخزين يملكها هذا الحساب، ويمكن أخذ لقطة لتلك الوحدة.

وحدة تخزين لا تزال تحمل رمز منتج من السوق يمكن إرفاقها فقط كجهاز جذري لمثيل متوقف، لذا إرفاقها بمساعد كقرص بيانات لا يعمل. ListSnapshotBlocks + GetSnapshotBlock يعيدان البايتات عبر HTTPS دون إرفاق. الكتل غير المخصصة تُصدر كأصفار حتى تبقى الإزاحات صحيحة.

الواجهة المباشرة تتحدث CBOR بأعضاء PascalCase. Checksum هو base64 للـ digest الخام، وليس hex. ebs_snapshot_read.py يتعامل مع كليهما.

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

  • Terraform >= 1.6، مزوّد AWS >= 6
  • AWS CLI v2، و jq، و flock، وبيانات اعتماد يمكنها تطبيق الحزمة وتشغيل استدعاءات instance/snapshot/SSM/S3 أدناه
  • zstd فقط لـ unpack.sh
  • أن يكون AMI مرئيًا في منطقة الحزمة، ونوع مثيل إقلاع تسمح به القائمة

أذونات المشغّل التي تستخدمها السكربتات (دور المساعد منفصل، ويُنشأ بواسطة Terraform):

  • ec2:DescribeImages، DescribeInstances، DescribeSnapshots، RunInstances، TerminateInstances، CreateSnapshot، DeleteSnapshot، CreateTags، RegisterImage
  • iam:PassRole على ملف تعريف مثيل المساعد
  • ssm:GetParameter، SendCommand، GetCommandInvocation، DescribeInstanceInformation
  • s3:* على دلو المخرجات (get/put/list/delete/head)
  • sts:GetCallerIdentity

البدء السريع

cd terraform && cp terraform.tfvars.example terraform.tfvars
# edit region / name_prefix if needed — still no AMI ids
cd ..
make init && make apply && make configure

make probe AMI=ami-0123456789abcdef0
make dump  LABEL=my-image AMI=ami-0123456789abcdef0
make ls

ami-0123456789abcdef0 هو عنصر نائب. استبدله بمعرّف AMI يمكن لهذا الحساب تشغيله.

make apply ينشئ VPC، ومجموعة أمان للخروج فقط، ودلو S3، و دور IAM للمساعد. لا يبدأ حوسبة قابلة للفوترة إلا إذا كان helper_enabled = true. لا يحتوي VPC على بوابة NAT، لذا التكلفة الخاملة هي الدلو فقط (وهو فارغ حتى تستخرج شيئًا).

الحصول على صورة

scripts/dump.sh --ami ami-0123456789abcdef0 --label my-image
scripts/dump.sh --ami ami-0123456789abcdef0 --label my-image --boot-type m5.2xlarge --dwell 60
scripts/dump.sh --ami ami-0123456789abcdef0 --label my-image --dry-run
scripts/dump.sh --ami ami-0123456789abcdef0 --label my-image --snapshot-id snap-0123456789abcdef0

--dry-run يصف AMI ويطبع الخطة. لا يشغّل.

الإعدادات الافتراضية:

FlagDefaultNotes
--boot-typem5.xlarge، أو m6g.xlarge إذا كان AMI من نوع arm64غالبًا ما ترفض القوائم الأنواع الأخرى. خطأ AWS يسمّي الأنواع التي تسمح بها.
--dwell180عدد الثواني التي يعمل فيها الضيف قبل اللقطة. 0 يأخذ لقطة بمجرد أن يصبح المثيل قيد التشغيل.
--workers32استدعاءات GetSnapshotBlock المتزامنة لكل قرص.

يجب أن تطابق التسميات ^[A-Za-z0-9][A-Za-z0-9._-]{0,62}$. تصبح مفاتيح S3.

إعادة التشغيل تتخطى تسمية كائنها موجود بالفعل في S3 و sha256 الخاص بها في الـ manifest. --force يجلب مرة أخرى.

عدة صور

images.tsv، صورة واحدة لكل سطر. الأسطر الفارغة وتعليقات # يتم تجاهلها. الحقل الثالث هو نوع مثيل اختياري.

# LABEL            AMI                          BOOT_TYPE
my-image           ami-0123456789abcdef0
other-image        ami-0123456789abcdef0        m5.2xlarge
make dump-batch BATCH=images.tsv JOBS=2

--jobs N يمنح كل عامل فتحة مساعد خاصة به. تحديثات الـ manifest مقفلة بـ flock. يمكن لعمليتي تشغيل منفصلتين مشاركة manifest.json؛ أعطهما قيم DUMP_STATE_DIR مختلفة إذا كان يجب ألا تتشاركا ملف فتحة المساعد.

شروط السوق

make probe AMI=ami-0123456789abcdef0

run-instances --dry-run مجاني. DryRunOperation يعني أن الحساب يمكنه تشغيله. OptInRequired يعني قبول تلك القائمة في وحدة تحكم AWS، ثم التحقق مرة أخرى. هذا المستودع لن يقبل الشروط نيابة عنك.

الاستئناف، والتسجيل، والإبقاء

  • --snapshot-id يتخطى الإقلاع ويقرأ لقطة موجودة واحدة. صورة واحدة فقط.
  • --register-ami يسجّل AMI قابلًا للتشغيل في هذا الحساب من اللقطات التي أُخذت للتو، ويحتفظ بتلك اللقطات. تُفوتر لكل GB-شهر.
  • --keep-snapshot يحتفظ باللقطات دون تسجيل AMI. التنظيف يتخطى اللقطات الموسومة بـ Keep=true إلا إذا مرّرت --force.

بعد أن يصبح في S3

make ls                  # keys + manifest, no download
make watch               # in-flight helper log, multipart upload size
make pull LABELS="my-image"
make pull LABELS="my-image" RAW=1    # also write a sparse .raw
scripts/unpack.sh my-image           # partition metadata next to the raw

pull يتحقق من sha256 للكائن المضغوط قبل أن يسجّل التسمية كمُنزّلة. unpack يكتب صورة raw متفرقة تحت artifacts/raw/ و .diskmeta.txt (file، sfdisk، blkid، parted). اربطها بـ losetup -Pf --show artifacts/raw/<label>.raw.

تخطيط S3

s3://<bucket>/
  golden/<label>/<label>.raw.zst
  golden/<label>/<label>.raw.zst.sha256    # checksum of the compressed stream
  golden/<label>/<label>.stats.json
  golden/<label>/<label>.<device>.raw.zst  # extra disks, root is the unsuffixed object
  _scripts/snapshot_to_s3.sh
  _scripts/ebs_snapshot_read.py
  _status/<label>.json                     # expires after 7 days
  _logs/<label>.log                        # expires

golden/ ليس له انتهاء صلاحية دورة الحياة. عمليات الرفع متعددة الأجزاء غير المكتملة يتم إجهاضها بعد 3 أيام. terraform destroy يحذف الدلو (force_destroy = true)، بما في ذلك golden/.

manifest.json (محلي، متجاهل بواسطة git) هو الفهرس: معرّف AMI، والاسم، والمالك، والمعمارية، ورموز المنتج، ومفاتيح كل قرص، و sha256، والأحجام، ووقت الجلب.

الأوامر

make init / plan / apply / destroy
make configure
make probe AMI=ami-...
make dump LABEL=name AMI=ami-... [BOOT=type] [DWELL=seconds]
make dump-batch BATCH=images.tsv [JOBS=n]
make watch / ls / pull / unpack
make list
make cleanup                 # tagged resources only
make cleanup FORCE=1         # also delete Keep=true snapshots
make check                   # bash -n + python compile, no AWS

التنظيف يكتشف الموارد بواسطة وسم Purpose (firmware-dump إلا إذا غيّرت purpose_tag). لا يلمس أي شيء آخر في الحساب.

التكلفة

خاملًا، بعد apply ومع helper_enabled = false: الدلو فقط. لا بوابة NAT.

لكل صورة، تقريبًا:

تنزيل الأداة