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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
IMDSpoof — IMDSPOOF هي أداة خداع إلكتروني تقوم بتزوير خدمة AWS IMDS لإرجاع HoneyTokens يمكن التنبيه عليها. | Kitploit
أدوات/GitHubGitHub/grahamhelton/imdspoof
أدوات دفاعيةأمن السحابةالاستجابة للحوادث
GitHubgrahamhelton/imdspoof

IMDSpoof

IMDSPOOF هي أداة خداع إلكتروني تقوم بتزوير خدمة AWS IMDS لإرجاع HoneyTokens يمكن التنبيه عليها.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

IMDSPOOF

IMDSPOOF هي أداة خداع إلكتروني تقوم بتزوير خدمة AWS IMDS. إحدى الطرق التي يستخدمها المهاجمون لتصعيد الصلاحيات أو الانتقال الجانبي في بيئة سحابية هي استرداد مفاتيح الوصول AWS من نقطة نهاية خدمة IMDS الموجودة في http://169.254.169.254/latest/meta-data/iam/security-credentials/<user>. تقوم هذه الأداة بتزوير تلك النقطة النهائية وتوجيه الحركة المرسلة إلى 169.254.169.254 إلى خادم ويب محلي يقدم بيانات مزيفة. يمكن الاستفادة من ذلك لإنشاء كشف دقيق للغاية عن طريق إدراج رموز AWS وهمية في استجابة IMDS المزيفة.

IMDSPOOF

لمن هذا؟

هذه الأداة مخصصة لاستخدامها من قبل فرق الدفاع على مثيلات AWS التي ليست تستخدم IMDS (الإصدار 1 أو 2) بشكل نشط.

من وجهة نظر المهاجم، ليس لديه أي فكرة عما إذا كان IMDS قيد الاستخدام على مثيل EC2 الذي يتواجد فيه. الهدف من IMDSPOOF هو خداع مهاجم يصل إلى بيئتك السحابية ليعتقد أنه يتفاعل مع خدمة IMDS شرعية.

⚠️ تحذير ⚠️

مرة أخرى، إذا كانت التطبيقات التي تعمل على مثيل EC2 الخاص بك تستخدم خدمة IMDS، فإن هذه الأداة ستسبب مشاكل!

جربها

لتجربة IMDSPOOF في بيئة اختبار، قم بإنشاء مثيل EC2 وتأكد من تثبيت iptables (yum install iptables-services إذا كنت تستخدم Amazon Linux)

  • قم بتجميع وتشغيل IMDS.go (كيفية تجميع كود Go)
  • لاختبار شكل المخرجات، قم بتشغيل curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ec2-admin
  • يجب أن ترى المخرجات التالية:
{
  "Code": "Success",
  "Message": "The request was successfully processed.",
  "LastUpdated": "2023-11-22T03:33:51Z",
  "Type": "AWS-HMAC",
  "AccessKeyId": "InsertHoneyToken",
  "SecretAccessKey": "InsertHoneyToken",
  "Token": "HoneyToken",
  "Expiration": "2023-11-22T09:33:51Z"
}

  • لعكس التغييرات من أمر IP tables السابق، قم بتشغيل الأمر التالي: iptables -t nat -D OUTPUT -p tcp -d 169.254.169.254 --dport 80 -j DNAT --to-destination 127.0.0.1:54321

التخصيص

لكي تكون هذه الأداة مفيدة، يجب عليك تغيير المتغيرات الموجودة في أعلى ملف IMDS.go لتبدو أكثر واقعية. أنا أوصي بشدة بوضع رموز وهمية في الملف. يمكنك ترك متغير token كما هو أو تغييره إلى قيمة مخصصة.

  • قم بتغيير هذه المتغيرات في أعلى ملف IMDS.go إلى أي شيء تريد إرجاعه عند الوصول إلى http://169.254.169.254/latest/meta-data/iam/security-credentials/ec2-admin
var accessKey string = "InsertHoneyToken"
var secretAccessKey string = "InsertHoneyToken"
var token string = "IQoJb3Jpz2cXpQRkpVX3Uf////////////xMdLZHNjb<snip>"

الحصول على الرموز الوهمية

الزملاء في Thinkst Canary لديهم أداة رائعة تسمح لك بإنشاء بيانات اعتماد AWS بسهولة والتي ستُصدر تنبيهاً عند استخدامها.

  1. قم بزيارة CanaryTokens
  2. اختر AWS Keys، أدخل بريداً إلكترونياً لتلقي التنبيه وملاحظة حول سبب التنبيه

Pasted image 20231124171011

  1. دون الرمز الوهمي المقدم
aws_access_key_id = AKIA....
aws_secret_access_key = uZF0y/l5X....
  1. داخل كود المصدر IMDS.go، استبدل متغيري accessKey و secretAccessKey بقيم aws_access_key_id و aws_secret_access_key المعطاة لك من CanaryTokens.

Pasted image 20231124171422

  1. قم بتجميع IMDS.go. سيعيد IMDS الآن الرموز الوهمية عند الاستعلام عن IMDS.

Pasted image 20231124172134

  1. انتظر حتى يحاول المهاجم استخدام بيانات الاعتماد

Pasted image 20231124172935

  1. تنبيه بريد إلكتروني من Canary Token

Pasted image 20231124173123

التشغيل عند بدء التشغيل

يمكن تشغيل IMDSPOOF عند بدء التشغيل بسهولة عن طريق إنشاء خدمة systemd وتمكينها.

  • قم بإنشاء ملف خدمة sudo vim /etc/systemd/system/IMDS.service (يمكنك تسميته بشيء آخر أكثر تمويهاً إذا أردت، لكن أوامر systemctl التالية تتوقع أن تكون الخدمة مسماة IMDS.service)
  • أضف ما يلي إلى ملف IMDS.service الذي تم إنشاؤه للتو
[Unit]
# قم بتغيير هذا إلى شيء آخر إذا أردت
Description=IMDSPOOF 

# بعد توفر التبعيات
After=multi-user.target

[Service]
# نوع الخدمة
Type=simple

# الأمر لتنفيذ برنامج الخدمة
ExecStart=/bin/IMDS

# المستخدم الذي سيتم تشغيل الخدمة به
User=root

# إعادة التشغيل إذا تعطلت الخدمة
Restart=always

# تأخير إعادة التشغيل بالثواني
RestartSec=10

[Install]
# تمكين الخدمة عند الإقلاع
WantedBy=multi-user.target
  • تأكد من وجود ملف IMDS الثنائي في المجلد /bin/: sudo mv IMDS /bin/
  • قم بتمكين الخدمة لبدء التشغيل عند الإقلاع: sudo systemctl enable IMDS
  • ابدأ الخدمة الآن: sudo systemctl start IMDS
  • تأكد من أن كل شيء يعمل بشكل صحيح باستخدام: sudo systemctl status IMDS

هل يعمل هذا مع SSRF؟

نعم! نظراً للطريقة التي يتلاعب بها IMDSPOOF بقواعد iptables على مثيل EC2، فلا يهم مصدر الحركة. هذا يعني أنه بالإضافة إلى العمل عبر أداة curl على مثيل EC2، فإن IMDSPOOF يعمل أيضاً إذا تم العثور على ثغرة SSRF عبر تطبيق ويب مستضاف على مثيل EC2. باستخدام التطبيق الضعيف من مدونة AlexanderHose حول اختبار اختراق IMDS، يمكننا استغلال ثغرة SSRF والتي ستعيد أيضاً بيانات الاعتماد المزيفة من IMDSPOOF.

Pasted image 20231124180610

التراجع

  • لإيقاف خدمة systemd: sudo systemctl stop IMDS
  • لإيقاف تشغيل خدمة systemd عند بدء التشغيل: sudo systemctl disable IMDS
  • لعكس التغييرات التي يجريها IMDSPOOF على iptables، قم بتشغيل الأمر التالي: iptables -t nat -D OUTPUT -p tcp -d 169.254.169.254 --dport 80 -j DNAT --to-destination 127.0.0.1:54321
تنزيل الأداة