0Pricing
Ethical Hacking Academy · レッスン

偵察ツールの構築

実践的なスクリプト

「偵察ツールの構築」はCoddyKit上の無料Ethical Hacking Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはEthical Hacking Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ethical Hacking Academyコースには全4レッスンが含まれています。

すべてを組み合わせる

ここでは、変数、ループ、ツールの実行、解析を1つの実用的な偵察スクリプトにまとめます。

目標は、ターゲットを指定し、開いているポートを検出し、サービスを識別し、整理した結果を1つのコマンドですべて保存することです。

スクリプトの計画

優れたツールは、コーディングする前に設計されています。今回の偵察スクリプトでは、次の処理を行います。

  • 入力を検証します(ターゲットを必須にします)。
  • 出力ディレクトリを作成します。
  • ポートスキャンを実行してから、バージョン検出を行います。
  • 開いているポートを解析して要約します。

ヘッダーと入力チェック

shebang、安全設定、引数チェックから始めます。ターゲットが指定されていない場合は、使用方法を表示します。

#!/bin/bash
set -euo pipefail
if [ "$#" -ne 1 ]; then
  echo "Usage: $0 <target>"
  exit 1
fi
target=$1

出力ディレクトリ

ターゲットごとにタイムスタンプ付きのフォルダーを作成し、実行を繰り返しても互いの結果を上書きしないようにします。

stamp=$(date +%F_%H%M)
outdir="recon_${target}_${stamp}"
mkdir -p "$outdir"
echo "[*] Results in $outdir"

ステップ1:高速ポートスキャン

まず、全ポート範囲を対象に、高速に開いているポートを見つけます。

echo "[*] Scanning ports on $target"
nmap -p- --open -T4 "$target" -oG "$outdir/ports.gnmap" >/dev/null

ステップ2:開いているポートの解析

grep可能な出力から開いているポート番号を抽出し、次のスキャンで使うカンマ区切りのリストにします。

ports=$(grep -oE '[0-9]+/open' "$outdir/ports.gnmap" | cut -d/ -f1 | paste -sd, -)
echo "[*] Open ports: $ports"

ステップ3:バージョン検出

開いているポートだけを対象に、サービスのバージョンを重点的にスキャンします。すべてのポートを再度スキャンするよりも高速で、出力も少なくなります。

if [ -n "$ports" ]; then
  nmap -sV -p "$ports" "$target" -oN "$outdir/services.txt"
fi

ステップ4:要約

ファイルを開かなくても担当者が結果を確認できるように、見やすい要約を表示します。

echo "=== Summary for $target ==="
grep 'open' "$outdir/services.txt" | awk '{print $1, $3}'

ログの追加

タイムスタンプ付きのログ行を追記し、何をいつ実行したかを後から確認できるようにします。これは報告書の作成に重要です。

echo "$(date) scanned $target -> $ports" >> recon.log

ツールの実行

実行可能にして、ラボVMを指定します。すべての結果は出力フォルダーに保存されます。

chmod +x recon.sh
./recon.sh 192.168.56.10

さらなる拡張

この基本構成から、次の機能を追加できます。

  • ポート80/443が開いている場合のWebディレクトリのブルートフォース。
  • netcatを使ったバナー取得。
  • 単一のホストではなく、ターゲットリストを順番に処理するループ。
  • HTMLまたはMarkdown形式のレポート生成。

クイックチェック

バージョンスキャンの前に解析を行う理由を思い出してください。

まとめ

動作する偵察ツールを作成しました。

  • 入力を検証し、タイムスタンプ付きの出力ディレクトリを作成しました。
  • 高速ポートスキャンを実行し、開いているポートを解析してから、そのポートだけを対象にバージョンスキャンを行いました。
  • 要約を表示し、実行内容をログに記録しました。
  • Webブルートフォース、バナー取得、レポート作成など、明確な拡張ポイントを確認しました。

これでBashスクリプティングコースは完了です。

よくある質問

「偵察ツールの構築」レッスンは無料ですか?

はい。「偵察ツールの構築」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ethical Hacking Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ethical Hacking Academyコースには全4レッスンが含まれています。

「偵察ツールの構築」で何を学びますか?

実践的なスクリプト ブラウザで直接実行するハンズオンコードでEthical Hacking Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Ethical Hacking Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのEthical Hacking Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「偵察ツールの構築」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このEthical Hacking Academyレッスンでコードを書いて実行できますか?

はい。すべてのEthical Hacking Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. スクリプトの基礎
  2. 偵察の自動化
  3. 出力の解析
  4. 偵察ツールの構築
← Ethical Hacking Academyに戻る