引き渡しリストの全機器を検査する

HydraBeginner
オンラインで実践に進む

はじめに

Lumen Hire は展示用の表示機器を四台準備しています。保守サービスは動作していますが、一部は出荷時のログインをまだ受け付けます。設定を変えずに対象機器をすべて見つけ、正しい引き渡しファイルを収集します。

Equipment Desk で一覧と保存したファイルを見て、Workstation でコマンドを実行します。これらは一つの訓練コンテナ内の独立したローカル HTTP サービスで、実機ではありません。基本的な端末入力、パス、タブ切り替えのみを前提とし、Hydra は準備済みです。指定された四つの端点と提供された認証情報の完全な組だけを検査します。識別情報とパスワードはすべて合成です。

端点と機器を対応させる

このステップでは、監査前に正常な機器を一台読み取ります。Equipment Desk から始めます。各カードは資産と保守端点を示します。端点はアドレスとポートの組で、ここでは異なるポートが異なる機器サービスにつながります。

各資産と端点を表示する機器デスク。

Workstation に切り替えます。開始場所は /home/labex/project/device-audit です。cat はファイルを表示します。

cat inventory.tsv

タブ区切り一覧に四つの資産 ID と端点があります。元ファイルは変更しません。127.0.0.1 はこのラボのコンテナで、自分のパソコンではありません。全サービスに /status と /handover.json があります。

curl は HTTP 要求を送り、-i は応答ヘッダーも含めます。認証情報なしで最初の機器に要求します。

curl -i http://127.0.0.1:8811/status

401 Unauthorized と WWW-Authenticate の Basic チャレンジが表示されます。これは認証の拒否で、接続失敗ではありません。HTTP Basic はユーザー名とパスワードの組を送ります。平文 HTTP では暗号化されず、この訓練リンクは安全なインターネット転送を再現するものではありません。

既知の viewer:desk-demo は状態だけを読めます。-u はその組を指定し、-o は応答本文をファイルに保存します。

curl -u viewer:desk-demo -o reference.json http://127.0.0.1:8811/status
cat reference.json

資産 D201、型番、梱包メモを確認します。この正常な参照は、発見した出荷時ログインではありません。viewer は引き渡しファイルをダウンロードできません。接続エラーならアドレスかポートが違います。inventory.tsv と比較し、入力を直して要求を再実行してください。

出荷時ログインの監査を完了する

このステップでは認証情報の組を保ち、全機器を検査します。Workstation のまま、合成の出荷時資料を読みます。

cat factory-logins.txt

各 username:password 行が一つの許可された組です。ユーザー名とパスワードを別リストにすると、範囲外の組み合わせも作られます。三つの組を pairs.txt に書きます。引用符付き here-document は内容をそのまま保ち、> は指定ファイルを置き換えます。最後の PAIRS は単独行にしてください。

cat > pairs.txt <<'PAIRS'
admin:factory-one
operator:factory-two
service:factory-three
PAIRS

各端点を一回ずつ、一行に一つ書きます。

cat > targets.txt <<'TARGETS'
127.0.0.1:8811
127.0.0.1:8812
127.0.0.1:8813
127.0.0.1:8814
TARGETS

Hydra はネットワークサービスにログインを試します。-C は完全な組、-M は端点を読みます。http-get は HTTP Basic 認証を選び、-m /status はリソースパスを渡します。-t 1 は各対象を一タスク、-T 1 は全体を一タスクに制限し、小さな監査を追いやすくします。今回は早期終了を使いません。小文字 -f は最初の有効な組が見つかった対象だけを停止でき、他の対象は検査が必要です。大文字 -F は一つでも成功すると全体を停止し、未検査機器を残すことがあります。

-o は検出結果を保存し、-b json は構造化データ形式 JSON を選びます。-I は中断した実行を復元せず新たに始めます。実行します。

hydra -I -C pairs.txt -M targets.txt -t 1 -T 1 -o findings.json -b json -m /status http-get
cat findings.json

results にポート、ログイン名、パスワードを持つ三件があり、quantityfound は 3 です。JSON の success: true は実行エラーなく終了した意味で、全機器がパスワードを受け付ける意味ではありません。四台目はこの候補では検出されません。これは限定的な結果で、強いパスワードの証明ではありません。

接続エラーは陰性結果ではありません。targets.txt と元一覧を比較して修正します。再実行するなら、先に rm findings.json で古い出力を削除し、複数実行の JSON を混ぜないでください。rm は指定結果だけを削除します。元資料は削除せず、完全な組を保ちます。合格させるために機器のパスワードやサービスを変更しないでください。

対応する引き渡しファイルを収集する

このステップでは、発見した各組を実際の機器で使い、完全な引き渡しファイルを保存します。Workstation のまま進めます。mkdir -p は必要ならディレクトリを作り、既存の内容は消しません。

mkdir -p handover

findings.json の三つのポートとログインの対応を使います。curl -f は HTTP 拒否でエラー終了し、エラーページを正常なダウンロードとして保存するのを防ぎます。

curl -f -u admin:factory-one -o handover/asset-D201.json http://127.0.0.1:8811/handover.json
curl -f -u operator:factory-two -o handover/asset-D202.json http://127.0.0.1:8812/handover.json
curl -f -u service:factory-three -o handover/asset-D203.json http://127.0.0.1:8813/handover.json
cat handover/asset-D202.json

資産 ID、場所、向き、梱包メモを確認します。名前やファイル数が合っていても、別々の機器から正しい内容を得た証明にはなりません。拒否されたら、元の検出結果とポート・組を比較してコマンドを直し、再取得します。

Equipment Desk に切り替え、Your handover を選び、保存した三ファイルを読みます。D202 の Download saved file で JSON を取得して開きます。リーダーはローカルファイルだけを使い、取得も修復もしません。D204 は No saved file と表示されます。欠落だけでは結論にならず、陰性結果には候補全体の検査が必要です。

保存済み機器ファイルを読む引き渡し画面。

handover の元の三ファイル、ネイティブ findings.json、二つの入力リスト、参照を残します。四つのサービスと元の一覧・資料は変更しません。完了するのは限定した初期ログイン監査で、完全なセキュリティ評価ではありません。

まとめ

機器識別情報を端点と対応させ、出荷時認証情報の組を保ち、複数対象の Hydra 監査と正しいファイルの独立した取得を完了しました。正常サービスを維持しながら、限定的な陰性結果、接続失敗、未検査機器を区別しました。