كيف تفقد الوصول إلى النظام المباشر عن طريق تحسس الكود المصدري

السلامة مع أمثلة الحياة الحقيقية هي دائما أكثر إثارة للاهتمام.

بمجرد أن يأتي العميل بطلب لاختبار الاختراق. كان لديه أسباب قليلة للقلق ، من بين أمور أخرى ، سمع أحدهم: "قبل بضعة أشهر جاء إلينا مطور جديد ، وتمكّن من الوصول إلى شفرة المصدر ، والوثائق ، وخادم الاختبار ، واختفى بعد ذلك بيومين ولا يزال لا يستجيب. كيف يمكن أن يهددني هذا؟ لم يُسمح له بالوصول إلى النظام المباشر. "

لن نتحدث عن أخطاء المطورين ، والتي يمكن أن تصبح ثقوبًا خطيرة في النظام الحي. كل شيء أبسط بكثير - قد يحتوي الكود المصدر نفسه على تعليمات ووصول مباشر.

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

النظام 1.
الكود المستنسخ من gita ليس فقط أحدث إصدار ، ولكن أيضًا تاريخ كل التغييرات. عادة ما نقوم بتشغيل التعليمات البرمجية المصدر للحصول على معلومات حساسة باستخدام gittyleaks .

في هذا المشروع ، وجدنا مفتاح تشفير خاص تمت إزالته ذات مرة من الكود ، لكنه لا يزال يستخدم في النظام المباشر. تم استخدام هذا المفتاح للمصادقة ، ومعرفة الآلية ، يمكننا إنشاء أي ملف تعريف ارتباط مصادقة لأي مستخدم ، بما في ذلك المسؤول.

صورة
الصورة 1. الإخراج: gittyleaks - البحث عن أي شيء


النظام 2.
يمكنك استخدام الأداة المساعدة git واطلب منها إظهار جميع الملفات المحذوفة على الإطلاق. في هذا النظام ، وجدنا ملف publisher.pem كان في جذر المشروع وكان يستخدم لنشر المشروع تلقائيًا على الخوادم من خلال قناة SSH. تم فتح منفذ SSH في النظام المباشر. لماذا هو مفتوح؟ أجاب المطورون أن آلة البناء الخاصة بهم كانت موجودة خلف عنوان IP ديناميكي ، وقرروا عدم إغلاق المنفذ - "على أي حال ، لن يلتقط أحد مفتاح SSH". جي جي ...

صورة
الصورة 2. الإخراج: سجل بوابة - مرشح الفرق = D - ملخص

نظام 3.
مع هذا النظام ، كان كل شيء أسهل. قد يكون من المفيد الدخول في البرامج النصية لقاعدة البيانات ومعرفة كيفية إنشاء المستخدمين بشكل افتراضي. عادةً ما يكون المستخدم الأول لإنشاء مسؤول لديه أعلى الأذونات. في البرامج النصية ، وجدنا رمزًا أنشأ تجزئة من كلمات مرور حقيقية وكتبها إلى قاعدة البيانات. من المثير للدهشة أنه تم إنشاء 5 مستخدمين ، لكن كلمة المرور الخاصة بأهم المشرف ، التي أدهشتنا ، مرت عبر النظام المباشر. وهذه الكود ليست هي السنة الأولى ، بالمناسبة ، ولم يعمل معها شخص واحد.

صورة
صورة 3. كيفية العثور على كلمات المرور الحقيقية في البرامج النصية قاعدة البيانات

الوعد.

1. إذا كان المشروع الخاص بك قيد التشغيل ، فافتحه وقم بتشغيل أمرين من المجلد الجذر:

نقطة تثبيت gittyleaks
gittyleaks - البحث عن أي شيء

بوابة سجل - الفرق مرشح = D - ملخص

2. قاعدة ذهبية واحدة. يجب أن يحتوي النظام المباشر دائمًا على مفاتيح فريدة وكلمات مرور فريدة للمستخدم ، ويجب إغلاق كل شيء فيه إلى الحد الأقصى.

يتم توفير المعلومات المذكورة أعلاه فقط للأغراض التعليمية والتعليمية ، وكيفية القيام بأنظمتها ليست ضرورية.

دينيس كولوشكو

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


All Articles