حل المشكلة مع pwnable.kr 08 هو الساق و 10 هو الصدمة. مجمع أرمينيا. باش الضعف

صورة

في هذه المقالة ، نذكر بناء جملة مجمع ARM ، ونتعامل مع مشكلة عدم حصانة shellshock ، ونحل أيضًا المهام الثامنة والعاشرة من موقع pwnable.kr .

المعلومات التنظيمية
خاصةً لأولئك الذين يرغبون في تعلم شيء جديد وتطويره في أي من مجالات أمن المعلومات والحاسوب ، سأكتب وأتحدث عن الفئات التالية:

  • PWN.
  • التشفير (التشفير) ؛
  • تقنيات الشبكات (الشبكة) ؛
  • عكس (الهندسة العكسية) ؛
  • إخفاء المعلومات (Stegano) ؛
  • بحث واستغلال مواطن الضعف WEB.

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

حتى تتمكن من معرفة المقالات الجديدة والبرامج والمعلومات الأخرى ، أنشأت قناة في Telegram ومجموعة لمناقشة أي مشاكل في مجال التصنيف الدولي للأمراض. أيضًا ، سأدرس شخصيًا طلباتك الشخصية وأسئلتك واقتراحاتك وتوصياتك شخصيًا وسأجيب على الجميع .

يتم توفير جميع المعلومات للأغراض التعليمية فقط. لا يتحمل مؤلف هذا المستند أية مسؤولية عن أي ضرر يلحق بشخص ما نتيجة استخدام المعرفة والأساليب التي تم الحصول عليها نتيجة لدراسة هذا المستند.

حل السعي الساق


نضغط على الأيقونة الأولى مع علامة التوقيع ، وقيل لنا إننا بحاجة إلى الاتصال عبر SSH بضيف كلمة المرور. كما أنها توفر شفرة المصدر في C والمجمع.

صورة

لنقم بتنزيل كلا الملفين وفرز الكود المصدري في C. من خلال المجمّع ، يمكننا القول أنه يستخدم بناء جملة ARM. حول ARM المجمع على هابري كتب هنا وهنا .

صورة

في الوظيفة الرئيسية () ، يتم استلام رقم من المستخدم ومقارنته مع مجموع نتائج الوظائف الثلاثة الرئيسية (). دعونا فرزها بالترتيب.

صورة

وبالتالي ، يتم وضع القيمة من سجل الكمبيوتر في السجل R3. في مجمع ARM ، يحتوي سجل الكمبيوتر على عنوان التعليمة التالية المراد تنفيذها. نحن ننظر إلى رمز تفكيكها.

صورة

وبالتالي ، ترجع الدالة key1 () القيمة 0x8ce4. دعنا نحلل وظيفة key2 ().

صورة

يتم وضع 0x8d08 في R3 ، والتي يتم زيادتها بعد ذلك بواسطة 4 ويتم كتابتها إلى السجل R0. وهذا هو ، key2 () سيعود 0x8d0c. النظر في key3 ().

صورة

قياسًا على الوظيفة الأولى ، نستنتج أن key3 () ستُرجع قيمة من سجل LR. يحتوي LR على عنوان المرسل للدالة. لنرى أين تسمى الوظيفة وأخذ العنوان التالي.

صورة

ترجع الدالة key3 () 0x8d80. الاتصال عبر SSH وأدخل مجموع الأرقام الثلاثة الموجودة في البرنامج.

صورة

صورة

نسلم العلم ونحصل على نقطتين.

صورة

صدفة الملقب Bashdoor


Shellshock (Bashdoor) هي ثغرة أمنية يتم اكتشافها في برنامج GNU Bash والتي تسمح بتنفيذ الأوامر التعسفية عند استلام بعض القيم غير القياسية لمتغيرات البيئة. تلقت الضعف رقم CVE-2014-6271.

في أنظمة التشغيل المشابهة لـ Unix ، يحتوي كل برنامج على متغيرات البيئة. يرث العملية التابعة من الأصل قائمة متغيرات البيئة. بالإضافة إلى متغيرات البيئة ، يحتفظ bash أيضًا بقائمة داخلية من الوظائف - البرامج النصية المسماة والتي يمكن استدعاؤها من برنامج نصي قابل للتنفيذ. عند تشغيل البرامج النصية من البرامج النصية الأخرى (الأصل) ، يمكن تصدير قيم متغيرات البيئة الحالية وتعريفات الوظائف. يتم تصدير تعريفات الوظيفة بترميزها في شكل متغيرات بيئة جديدة بتنسيق خاص ، بدءًا من الأقواس الفارغة "()" ، متبوعًا بتعريف الوظيفة كسلسلة. تقوم مثيلات bash الجديدة في بدايتها بفحص جميع متغيرات البيئة ، والكشف عن هذا التنسيق وتحويله مرة أخرى إلى تعريف الوظيفة الداخلية. وبالتالي ، إذا كان لدى المهاجم القدرة على إرسال متغير بيئة تعسفية لتشغيل bash ، فإن القدرة على تنفيذ الأوامر التعسفية تظهر.

المثال التالي يطبع النص VULN.

env x='() { : ; }; echo “VULN”' bash -c “echo text” 

منذ عند تنفيذ أمر "echo text" ، سيتم تحميل تعريف الوظيفة الموجود في متغير البيئة x ، وسيتم تنفيذ الأمر "echo" VULN "".

حل وظيفة Shellshock


نضغط على الرمز الأول باستخدام shellshock للتوقيع ، وقيل لنا إننا بحاجة إلى الاتصال عبر SSH بضيف كلمة المرور.

صورة

عند الاتصال ، نرى الشعار المقابل.

صورة

دعونا نعرف ما هي الملفات الموجودة على الخادم ، وكذلك ما هي الحقوق التي لدينا.

صورة

دعنا نرى نتائج الكود.

صورة

من المهم هو خط الدعوة وظيفة النظام. بناءً على الاسم ، نفترض أن bash ، بجوار البرنامج والذي تم استدعاؤه من البرنامج ، ضعيف. قياسًا على الهجوم الموضح في المقال ، ننفذ الأمر لقراءة العلم.

 /bin/cat flag 

للقيام بذلك ، نقوم بتعريف دالة في متغير البيئة حيث نضع هذا الأمر. ثم قم بتشغيل البرنامج.

 export x="() { :; }; /bin/cat flag;" 

صورة

نحن نسلم العلم ونحصل على نقطة أخرى. أراك في المقال التالي.

نحن في قناة برقية: قناة في برقية .

Source: https://habr.com/ru/post/ar461269/


All Articles