隠されたサービスを攻略する

HydraHydraBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに (Introduction)

このチャレンジ (challenge) では、Hydra を使用して、リモートサーバー上で実行されている隠されたサービス (hidden service) の認証情報 (credentials) を解読します。このサービスは、HTTP Basic Authentication によって保護されています。あなたの目標は、隠されたデータにアクセスするためのユーザー名 (username) とパスワード (password) の両方を明らかにすることです。

これを達成するために、まず必要なディレクトリを作成し、潜在的なユーザー名とパスワードを含むワードリスト (wordlist) を作成して、環境をセットアップします。次に、Python を使用して、Basic Authentication を備えたシンプルな HTTP サーバーを作成します。最後に、Hydra を利用して、作成したワードリストを使用して認証情報をブルートフォース (brute-force) し、秘密データへのアクセス権を取得します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hydra(("Hydra")) -.-> hydra/HydraGroup(["Hydra"]) hydra/HydraGroup -.-> hydra/target_ip("Target IP Specification") hydra/HydraGroup -.-> hydra/target_service("Target Service Selection") hydra/HydraGroup -.-> hydra/output_saving("Output File Saving") subgraph Lab Skills hydra/target_ip -.-> lab-550719{{"隠されたサービスを攻略する"}} hydra/target_service -.-> lab-550719{{"隠されたサービスを攻略する"}} hydra/output_saving -.-> lab-550719{{"隠されたサービスを攻略する"}} end

隠されたサービス (Hidden Service) を解読する

秘密のサービス (secret service) がリモートサーバー上で実行されており、HTTP Basic Authentication によって保護されています。Hydra を使用して、隠されたデータにアクセスするための正しいユーザー名 (username) とパスワード (password) を見つけ出すことができますか?

タスク (Tasks)

  • 提供されたユーザー名リスト (username list) とパスワードリスト (password list) を使用して、localhost のポート 8000 で実行されている HTTP サービス (HTTP service) を Hydra でブルートフォース (brute-force) します。
  • Hydra の出力から正しい認証情報 (credentials) を特定し、パスワードを found_password.txt ファイルに保存します。

要件 (Requirements)

  1. /home/labex/project/wordlists ディレクトリで hydra コマンドを実行する必要があります。
  2. usernames.txt という名前のユーザー名リストファイル (username list file) と、passwords.txt という名前のパスワードリストファイル (password list file) を使用します。
  3. localhost のポート 8000 で実行されている HTTP サービスをターゲット (target) にします。
  4. Hydra で http-get / モジュール (module) を使用して攻撃を実行します。
  5. 正しいパスワードを /home/labex/project/found_password.txtfound_password.txt ファイルに保存します。

例 (Examples)

Hydra が成功した場合の出力:

[DATA] attacking http-get://localhost:8000/
[8000][http-get] host: localhost   login: [USERNAME]   password: [PASSWORD]
1 of 1 target successfully completed, 1 valid password found

[USERNAME][PASSWORD] を、Hydra が見つけた実際の認証情報に置き換えてください。

ヒント (Hints)

  • -s フラグ (flag) を使用して、正しいポート番号を指定することを忘れないでください。
  • 正しいパスワードは passwords.txt ファイルにはありません。パスワードを解読する別の方法を見つける必要があります。
  • 一般的なパスワードを使用して、独自のパスワードリストを作成することを検討してください。
✨ 解答を確認して練習

まとめ (Summary)

このチャレンジ (challenge) では、リモートサーバー上で実行されている隠されたサービス (hidden service) を保護している HTTP Basic Authentication を解読することが目標です。Hydra を使用して、サービスへのアクセスに必要なユーザー名 (username) とパスワード (password) の両方を発見しました。

このチャレンジには、ワードリスト (wordlist) と HTTP サーバー用のディレクトリの作成、ユーザー名とパスワードのリストの生成、認証を必要とする Python ベースの HTTP サーバーの作成など、シミュレートされた環境のセットアップが含まれます。次に、Hydra を使用して、作成されたワードリストを使用して、ポート 8000 で実行されている HTTP サーバーに対して認証情報をブルートフォース (brute-force) します。