
تعداد تصعيد الصلاحيات بعد الاستغلال في لينكس
Enumy هو ملف تنفيذي محمول فائق السرعة تضعه على جهاز لينكس المستهدف أثناء اختبار الاختراق أو مسابقة CTF في مرحلة ما بعد الاستغلال. تشغيل Enumy سيقوم بمسح الجهاز بحثًا عن ثغرات أمنية شائعة.
يمكنك تنزيل الملف الثنائي النهائي من علامة التبويب release (x86 أو x64). موصول بشكل ثابت بـ musl انقل ملف enumy الثنائي النهائي إلى الجهاز المستهدف.
./enumy
$ ./enumy64 -h
▄█▀─▄▄▄▄▄▄▄─▀█▄ _____
▀█████████████▀ | __|___ _ _ _____ _ _
█▄███▄█ | __| | | | | | |
█████ |_____|_|_|___|_|_|_|_ |
█▀█▀█ |___|
https://github.com/luke-goddard/enumy
Enumy - يُستخدم لمسح البيئة المستهدفة والبحث عن
الثغرات الأمنية الشائعة ونقاط الاهتمام
----------------------------------------------------------------------
المخرجات
-o <مكان> إخراج النتائج إلى مكان (الافتراضي enumy.json)
التجول في نظام الملفات
-i <مكان> تجاهل الملفات في هذا الدليل (مفيد لمشاركات الشبكة)
-w <مكان> التجول فقط في الملفات في هذا الدليل (مفيد للتطوير)
خيارات المسح
-f تشغيل مسح كامل (تمكين عمليات المسح المكثفة لوحدة المعالجة المركزية)
-t <رقم> عدد الخيوط (الافتراضي 4)
خيارات الطباعة
-a طباعة جميع مشكلات التدقيق الأمني على الشاشة (ربما لا يساعد أثناء CTF)
يتم تسجيل المشكلات دائمًا في ملفات النتائج بغض النظر عن تعيين هذه العلامة.
-d <1|2> طباعة وضع التصحيح (1 منخفض، 2 عالٍ) لتمكين طباعة الأخطاء على الشاشة.
-g <ع|م|م> طباعة القيم الأكبر من أو تساوي عالية، متوسطة، منخفضة على الشاشة
-p <ع|م|م|م> لا تطبع على الشاشة مشكلات عالية، متوسطة، منخفضة، معلوماتية (انظر المثال أدناه)
-m 1-100 الحد الأقصى لعدد المشكلات بنفس الاسم للطباعة على الشاشة (الافتراضي غير محدود)
للتجميع أثناء التطوير، كل ما هو مطلوب هو make ومكتبة libcap.
sudo apt-get install libcap-dev
make
لإزالة الاعتماد على glibc وربط جميع المكتبات بشكل ثابت / التجميع مع musl، قم بما يلي. لاحظ أنه للقيام بذلك ستحتاج إلى تثبيت docker لإنشاء بيئة بناء alpine.
./build.sh 64bit
./build.sh 32bit
./build.sh all
cd output

فيما يلي القائمة المتنامية باستمرار للمسوحات التي تم تنفيذها.
ملاحظة: لطباعة النتائج المميزة بـ ❌، قم بتمكين وضع التدقيق باستخدام العلامة -a.
سيتحقق هذا المسح من إصدارات النواة لمعرفة ما إذا كانت تطابق أي إصدارات نواة مع استغلالات معروفة.
فكرة هذا المسح هي مسح النظام بحثًا عن برامج SUID/GUID غير طبيعية، أو ذات أذونات ضعيفة يمكن استغلالها.
مؤخرًا، يدعم نواة لينكس القدرات، وهذه هي الطريقة المفضلة لمنح ملف مجموعة فرعية من صلاحيات الجذر لتخفيف المخاطر. على الرغم من أن هذه طريقة أكثر أمانًا، إلا أنه إذا كنت محظوظًا بما يكفي للعثور على قدرات غير طبيعية مضبوطة على ملف، فمن المحتمل جدًا أن تستغل الملف التنفيذي للحصول على وصول أعلى. سيتحقق Enumy من القدرات المضبوطة على جميع الملفات التنفيذية في النظام.
هذا مسح عام أكثر يحاول تصنيف ملف بناءً على محتواه وامتداده واسمه. سيبحث Enumy عن ملفات مثل المفاتيح الخاصة وكلمات المرور وملفات النسخ الاحتياطي.
ملفات التفريغ الأساسي هي نوع من ملفات ELF تحتوي على مساحة عنوان العملية عندما ينهي البرنامج تنفيذه بشكل غير متوقع. تخيل الآن إذا كانت ذاكرة هذه العملية قابلة للقراءة وتحوي معلومات حساسة. أو أكثر إثارة، قد يكون هذا التفريغ الأساسي لأداة مطورة داخليًا تعطلت، مما يسمح لك بتطوير ثغرة يوم الصفر.
بعض الملفات لا يجب أن يكون لها بت SUID مطلقًا، من الشائع أن يقوم مسؤول نظام كسول بإعطاء ملف مثل docker أو ionice أو hexdump صلاحية SUID لجعل سكريبت bash يعمل أو لتسهيل حياته. يحاول هذا المسح العثور على بعض البرامج الثنائية المعروفة SUID الضارة.
Sysctl يُستخدم لتعديل معلمات النواة في وقت التشغيل. من الممكن أيضًا الاستعلام عن هذه المعلمات والتحقق مما إذا كانت إجراءات أمنية مهمة مثل ASLR مفعلة.
العيش على الأرض هو تقنية يستخدمها المهاجمون لاستغلال ما هو موجود بالفعل على النظام. يفعلون ذلك للبقاء متخفين وغيرها من الأسباب. سيقوم هذا المسح بإدراج الملفات التي قد يبحث عنها المهاجم.
سوف يقوم هذا المسح بتحليل ملفات ELF بحثًا عن تبعياتها. إذا كان لدينا حق الوصول للكتابة لأي من هذه التبعيات أو حق الوصول للكتابة لأي قيم DT_RPATH و DT_RUNPATH، فيمكننا إنشاء كائن مشترك ضار خاص بنا لاختراق ذلك الملف التنفيذي، مما قد يضر النظام.
SSH هي واحدة من أكثر الخدمات شيوعًا التي ستجدها في العالم الحقيقي. كما أنه من السهل سوء تكوينها. سيتحقق هذا المسح من إمكانية تقويتها بأي شكل.
يقوم مسح المستخدم الحالي بتحليل /etc/passwd. بهذه المعلومات نجد حسابات الجذر، والدلائل المنزلية غير المحمية أو المفقودة، إلخ.
سيبحث هذا المسح عن الملفات القابلة للكتابة عالميًا، والأذونات غير المتكافئة، والملفات بدون مالك. انظر هنا للإلهام لهذا المسح.
سيكون هذا المسح مفيدًا للأشخاص الذين يحاولون تقوية جهاز لينكس الخاص بهم. سيسلط الضوء على مشكلات مثل محركات الأقراص غير المشفرة وتكوينات التثبيت غير الآمنة.
| نوع المسح | مسح سريع | مسح كامل | تم التنفيذ | طباعة على الشاشة | حفظ في السجل |
|---|
| مقترح استغلال النواة | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| مسح SUID/GUID | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| مسح قدرات الملفات | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
| مسح الملفات المهمة | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| مسح التفريغ الأساسي | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| مسح البرامج الثنائية القابلة للاختراق | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| مسح تكوين SSHD | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
| مسح Sysctl | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| مسح العيش على الأرض | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| مسح المستخدم الحالي | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| مسح حقن *.so | ❌ | ✔️ | ✔️ | ❌ | ✔️ |
| مسح الأذونات | ❌ | ✔️ | ✔️ | ❌ | ✔️ |
| مسح نظام الملفات | ❌ | ✔️ | ✔️ | ❌ | ✔️ |
| مسح Docker | ✔️ | ✔️ | ❌ | ✔️ | |
| مسح البيئة | ✔️ | ✔️ | ❌ | ✔️ | |
| مسح الوصول المميز | ✔️ | ✔️ | ❌ | ✔️ | |
| مسح الشبكات | ✔️ | ✔️ | ❌ | ✔️ | |
| مسح معلومات النظام | ✔️ | ✔️ | ❌ | ✔️ | |
| مسح معلومات الإصدار | ✔️ | ✔️ | ❌ | ✔️ | |
| مسح بيانات الاعتماد الافتراضية الضعيفة | ✔️ | ✔️ | ❌ | ✔️ | |
| مسح التشفير الضعيف | ❌ | ✔️ | ❌ | ✔️ |