コラムColumn

導入事例Case Study

サイバーニュースCyber News

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

お知らせNews

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

Starting Point シリーズ第9弾、「Guard」攻略ガイドです。
前回の「Markup」に続き、今回も Hack The Box の無料学習シリーズに含まれる最終ステップの1つを解説します。
このボックスは難易度「Very Easy」に分類されていますが、SSH・制限付きシェル・権限昇格の流れを体系的に学べる内容です。

免責事項:
本記事では、Hack The Box(HTB)Starting Point シリーズの学習目的に沿って解説を行っています。
旗(user.txt / root.txt)の内容は記載していません。手順を通してご自身で取得してください。

00. マシンの起動

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

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

VPN 接続が正常であるか確認するため、ping を実行します。ファイアウォールによっては ICMP 応答をブロックする場合もありますが、多くのケースで通信は成功します。

TTL 値が 63 であることから、このマシンは Linux 系 OS であると判断できます。

01. 列挙(Enumeration)

01.1 ポートスキャン

まず Nmap で全 TCP ポートをスキャンします。

nmap -n -vv --open -T4 -p- -oN AllPorts.nmap 10.10.10.50
  • -n:DNS解決を行わない
  • -vv:詳細出力
  • --open:開放ポートのみ出力
  • -p-:全ポート対象
  • -T4:高速スキャン

スキャン結果を見ると、開いているのは 22番ポート(SSH) のみでした。
少し不思議に思うかもしれませんが、他のポートは閉じています。

01.2 Nmap スクリプトスキャン

開いている SSH ポートに対して Nmap スクリプトエンジンを実行します。

nmap -sV -sC -oN DetailPorts.nmap -p 22 10.10.10.50

出力から、OpenSSH バージョンは 7.6p1 であることが確認できます。
Nmap の結果から OS は Ubuntu Bionic(18.04系) と判断できます。

では、このバージョンに既知の脆弱性がないかを確認します。

残念ながら、利用可能な攻撃コードは見つかりません。
OpenSSH < 7.7 - User Enumeration のような PoC は存在しますが、依存関係エラーが多く、実用的ではありません。

ここで発想を変えましょう。Starting Point シリーズは連続したシナリオ構成になっています。
つまり、前回「Markup」で入手した SSH 秘密鍵を再利用できる可能性があります。

01.3 既存キーでの SSH 接続

Markup で得た SSH 秘密鍵を使用して、daniel ユーザーで接続を試みます。
Linux ではユーザー名に大文字を使用できないため、Daniel ではなく daniel と指定します。

ssh -i id_rsa daniel@10.10.10.50

接続に成功し、シェルアクセスを取得できました。

しかし、user.txt の中身を閲覧しようとすると権限エラーになります。

02. Foothold(初期侵入)

このマシンでは、一部のコマンド(cat, python, find など)が実行制限されています。
制限付きシェル(restricted shell)が適用されている状態です。

ここで利用できるコマンドを確認し、システム探索を行うと、興味深い方法が見つかります。
実は、man コマンドからシェルを生成できるのです。

手順は以下の通りです。

  1. 任意のコマンドのマニュアルを開きます(例:man ls)。
  2. 開いた状態で Shift + 1! 記号)を押します。
  3. 続けて bash と入力し、Enter を押します。

これで新しい bash シェルが生成され、制限が解除されます。

その後、cat user.txt を実行するとフラグを表示できるようになります。

これで user 権限を確保できました。続いて root 権限を取得します。

03. 権限昇格(Privilege Escalation)

ここでは自動化ツール(linPEAS など)を使うことも可能ですが、この環境では制限が多いため、手動で調査を行います。

システムを確認すると、/var/backups ディレクトリに shadow ファイルのバックアップが存在し、読み取り可能であることが判明しました。

バックアップファイルを開くと、root ユーザーのハッシュを確認できます。

このハッシュをローカル環境へコピーし、Hashcat を使用してクラックします。

echo "$6$KIP2PX8O$7VF4mj1i.w/.sIOwyeN6LKnmeaFTgAGZtjBjRbvX4pEHvx1XUzXLTBBu0jRLPeZS.69qNrPgHJ0yvc3N82hY31" > hash
hashcat -m 1800 --force hash /usr/share/wordlists/rockyou.txt

実行中に Hashcat が確認メッセージを出したら s を入力して続行します。

解析が完了すると、パスワードが判明します。
結果は password#1 でした。

このパスワードを使って root に昇格します。

su root

または SSH 経由で root ログインを行うことも可能です。

root.txt フラグの取得に成功しました。

まとめ

Guard では、制限付きシェル(restricted shell)の回避と、システムバックアップファイルからのハッシュ抽出・解析を学べます。

学習ポイント:

  • 制限付きシェル環境での脱出手法(manコマンド利用)
  • /var/backups に残された shadow バックアップの調査
  • Hashcat によるハッシュ解析と権限昇格

これで Starting Point シリーズも残り1つです。
次回はいよいよ最終ボックス「Base」に挑戦します。

注意:

  • 本記事は Hack The Box(HTB)等の教育目的の演習環境での利用を前提として解説しています。記載されている手順・コマンドは実システムで実行すると重大な被害や法的責任を招く可能性があります。許可のない環境で同様の操作を行うことは違法行為に該当します。必ず演習環境でのみ実施し、企業や第三者のシステムで試すことはやめてください。疑問があれば所属組織のセキュリティ窓口や法務に確認してください。
  • 本記事で紹介した手法は、攻撃者視点を理解し、防御側の強化に役立てることを目的としています。

投稿者プロフィール

ハリス ディルシャン
ハリス ディルシャン
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