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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ipmi — أشياء IPMI من عمل DARPA | Kitploit
أدوات/GitHubGitHub/zenfish/ipmi
كسر كلمات المرورالاستطلاعتخطيط الشبكةمسح المنافذتحليل الثغرات الأمنيةتدقيق التكوينجمع المعلوماتاختبار الاختراقأمن الأجهزةالمصادقة
GitHubzenfish/ipmi
76637منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

ipmi

أشياء IPMI من عمل DARPA

عرض المستودع

كتبت بعض البرامج لاستكشاف IPMI؛ إليك بعض النتائج. فكّرت في اتباع الدورة المعتادة: الاكتشاف، وجلب البيانات، والتدقيق. تبيّن أن كلًّا من هذه الأمور مشكلة مثيرة للاهتمام بحد ذاتها، على الأقل بالنسبة لي.

**BTW/FYI ** - أصدرت أداة جديدة لاستكشاف IPMI - https://github.com/zenfish/zipmi - إضافة إلى مجموعة من وصفات/صور Qemu وغيرها لتشغيل BMCs كأنظمة افتراضية تحت Qemu على https://github.com/zenfish/zbmc.

موقع IPMI الإلكتروني

الأوراق والأشياء من http://fish2.com/ipmi

html

كسر كلمات المرور

إليك برنامج Perl صغيرًا يحاول تخمين حساب على BMC بعيد، واستخراج تجزئته (hash)، ثم محاولة كسر كلمة مروره (المجزأة بـ HMAC). كتبت شيئًا قليلًا عن هذا لمن يهمه الأمر. البرنامج مشروح بكثافة، وقد يكون مفيدًا.

جلب الشيفرات (ciphers)

يقول مواصفة IPMI إنه يمكنك الحصول على شيفرة نظام بعيد دون أي مصادقة، لكنني لا أعرف أي أداة تفعل ذلك فعليًا (فكلها تتطلب مصادقة، رغم أنه بالطبع يمكنك إدخال البايتات السداسية الخام إن أردت!) لذلك كتبت هذه الأداة الصغيرة للقيام بذلك؛ وهي تحاول في الغالب اتباع مخرجات ipmitool؛ وبفعلها ذلك أعتقد أنني وجدت خطأً في تلك الأداة (في السطر الأخير أحيانًا تُصدر الأنظمة بعض القمامة التي يبدو أنها تُفسَّر خطأً)، لكن من يدري، ليس لديّ أنظمة كافية للاختبار. على أي حال... ipmi-get-ciphers.py.

إن لم يكن لشيء آخر، فهي مفيدة لرصد أنظمة Cipher0 (ملاحظة - هذا يشير فقط إلى الشيفرات المدعومة - ولا يعني أنها مفعّلة فعليًا)، لكن ثمة أمور مثيرة للاهتمام في العالم الواقعي.

جلب تفاصيل المصادقة

برنامجان هنا، أحدهما مسبار Python بسيط عن بُعد (بدأت أكره Perl، دعني أخبرك) والثاني يستخدم أدوات من FreeIPMI لجلب بيانات التهيئة الموثّقة.

برنامج Python صغير (أكثر من 50% تعليقات مضمّنة، 2.5k بعد ضغط gzip) يرسل حزمة واحدة إلى BMC ويتأمل في الاستجابة. ماذا يمكنك أن تفعل بحزمة واحدة فقط، قد يسأل أحدهم؟ أكثر من 10 اختبارات أمنية مختلفة لـ IPMI، كمبتدئ. حسنًا، للمبتدئين وللنهاية، إنها مجرد حزمة :) يتطلب python وBMC ومسارًا مفتوحًا إلى منفذ UDP رقم 623 ليعمل. الاستخدام ببساطة "ipmi-get-auth.py target".

ipmi-get-auth.py / وصف صغير جدًا

للوصول إلى أقصى الحدود... حسنًا، إليك نسخة ضخمة نوعًا ما من ما سبق تفعل ذلك لكل القنوات، وكل الصلاحيات، وكل... حسنًا، لقد فهمت الفكرة. للمهووسين (اقرأ التعليقات أو المقال الذي كتبته عنه لترى لماذا يفعل ما يفعله!)

mega_chan.py / Mega mega mega ... chan chan chan...

جلب معرّف الجهاز (GUID)

وإليك برنامجًا بسيطًا لإرسال حزمة Get Device ID (انظر ص250 من مواصفة IPMI الإصدار 2) إلى نظام. من المفترض نظريًا أن يعمل هذا دون مصادقة. في مسح صغير أجريته، استجاب نحو 90% من الأنظمة لهذا (وإن لم يكن جميعها بمعلومات صحيحة!) يمكنك أحيانًا الحصول على اسم المورّد ومعلومات أخرى، مثل أرقام الطرازات وما شابه، لكن الأكثر إثارة للاهتمام هو الحصول فعليًا على معرّف فريد، وهو أمر صعب تقليديًا الحصول عليه عبر الشبكة.

get-ipmi-guid.py / Get Device ID

استخراج كلمات المرور من ملف كلمات مرور ثنائي لـ SuperMicro

واجهت Supermicro بعض المشكلات المتعلقة بالكشف عن ملف كلمات المرور من BMC الخاص بها - على سبيل المثال، انظر هذا وكتابات أخرى:

a-penetration-testers-guide-to-ipmi

لاستخدام هذا السكربت ببساطة قل:

dump_SM.py password_file

يعمل لدي، دون أي ضمان صريح أو ضمني، إلخ.

الكشف

حسنًا، إذا كان بإمكانك التحدث إلى منفذ UDP رقم 623، فمن السهل جدًا معرفة ما إذا كان نظام بعيد يشغّل IPMI. لكن ما لم تكن داخل مركز بيانات، فإن معظم الأشخاص يحجبون UDP. وحتى إن لم يفعلوا... فإن فحص UDP بطيء إلى أقصى حد يمكن تصوره. لذا أستخدم حاليًا طريقتين أساسيتين، مستفيدًا من Nmap العريق وipmiping (من أدوات FreeIPMI Gnu). أسهل شيء يمكن فعله هو:

  • استخدم ipmiping لسؤال نظام بعيد عمّا إذا كان يتحدث IPMI أم لا. الاستجابة الإيجابية هي أقوى مؤشر على أن النظام يتحدث IPMI (لكن لا شيء مؤكد!) من الناحية التقنية، يرسل استدعاءَي Get Channel Authentication Capabilities عبر حزمة بيانات Get Channel Authentication Capabilities request على منفذ UDP رقم 623 (طلبين لأنه يستخدم UDP، والاتصالات غير مضمونة.)
    </p> <p>
    
    بما أن Nmap أكثر كفاءة بكثير في فحص الشبكات واسعة النطاق
    من ipmiping، فإن هذه الطريقة تُستخدم فقط إذا قال Nmap إن مضيفًا
    ما لديه UDP 623 مفتوح.
    
    </p> <p>
    
    لعلّه من الأفضل أو الأسوأ أن هذا المنفذ غالبًا محجوب، لذا في كثير من
    الأحيان تكون الطرق الأخرى أكثر احتمالًا لاكتشاف ما إذا كان
    IPMI يعمل أم لا بشكل غير مباشر.
    
  • الطريقة الثانية غامضة بعض الشيء، وتعتمد على قدر من الاستنتاج (أي التخمين.) يفحص Nmap منافذ معروفة بأنها مرتبطة بـ IPMI وإضافات البائعين؛ UDP 623 واضح (المنفذ الافتراضي لـ IPMI)، لكن هناك مجموعة متنوعة من المنافذ (سواء UDP وTCP) التي قد لا تعطيك بحد ذاتها إجابة فورية، لكن عند أخذها ككل يمكنها أن تشير بقوة إلى وجوده. TFTP وSNMP وSSH/SMASH وVNC وغيرها الكثير من بين هذه.
    </p> <p>
    
    تُوزَّن المنافذ حسب قدرتها الإرشادية وما إذا كان
    Nmap يجدها مفتوحة أو مفلترة أو في حالات أخرى.
    
    </p> <p>
    
    يمكن لـ Nmap أيضًا عرض لافتات الخدمات المتصل بها. أستخدم
    تعبيرات نمطية للبحث عن الأهداف - على سبيل المثال السلاسل
    "iLO" و"DRAC" مؤشرات جيدة على أن نظامًا ما قد يشغّل
    خدمة Integrated Lights Out من HP، أو iLO.
    
    </p> <p>
    
    <strong>ملاحظة:</strong> حاليًا لا أستخدم طريقة
    broadcast ping (طريقة سريعة جدًا للمرور عبر الشبكة الفرعية التي
    تتواجد فيها)؛ ببساطة ليس لدي أي بيانات عن فعاليتها؛
    فرغم أنها سريعة جدًا عند نجاحها، لم أشعر أنها تتيح
    التحكم والموثوقية في الفحوصات العشوائية.
    استجاب اثنان من أنظمتي الثلاثة (Dell وHP) لـ
    RMCP ping. لم يستجب أي منها لـ broadcast ping بواسطة idiscover
    (ipmiutil discover.) لكن جميعها استجابت لأداة التدقيق
    Python أدناه.
    
    </p> <p>
    
    لسوء الحظ (بالطبع!) يدخل شبح الاتصالات والشبكات
    في اللعبة - يعطي nmap مجموعة من الأسباب المختلفة
    لكون المنفذ مفتوحًا أو لا (مفتوح، مغلق، مفلتر، إلخ.)
    وهناك جدول آخر يحتوي على مجموعة أوزان تمنح نقاطًا أكثر
    للمنفذ المفتوح مقارنة بإصابة "open|filtered" (كما قد يقول Nmap).
    تفسير nmap والترجيح أمر محبط بعض الشيء،
    لكن هذه هي الحياة.
    
    
    </p> <p>
    
    خذ كل الأوزان، واجمع كل النقاط وستحصل على مستوى
    تأكد من IPMI. وجدت في اختبارات عشوائية أن 15 نقطة أو
    أكثر مؤشرات قوية على أن النظام يشغّل IPMI.
    
    </p> <p>
    
    حاليًا لديّ عتبات متعددة (لا، ربما، على الأرجح،
    

    نعم.) في الاختبارات - دون امتلاك وصول معروف إلى أي خوادم أخرى غير خادمي - يبدو أنها تعمل بشكل معقول. أي أن الأشياء التي أعتقد أنها مريبة ونموذج تفكيري الأساسي أعلاه يُبرز بالفعل خوادم معينة إلى الأعلى ويترك المضيفات العشوائية وشأنها. هناك بعض المشكلات الحقيقية مع الإيجابيات الكاذبة، مع ذلك - يبدو أن العديد من جدران الحماية توحي لـ nmap بأن هناك شيئًا ما على أي منفذ (فكرت في إضافة منفذ نادر أو اثنين (إذا كنت تستمع إلى شيء مثل المنفذ 1 و31313، على سبيل المثال، فأنت على الأرجح لا تستمع إليه حقًا!)

    </p> <p>
    
تنزيل الأداة