カスタムセキュリティツールの構築

Python を使用して独自のセキュリティツールセットを開発します。マルチスレッド対応のポートスキャナーの構築、Scapy を用いたカスタムネットワークパケットの生成、そして高性能な Web ディレクトリファザーの作成方法を学びます。

Cybersecurity EngineerサイバーセキュリティWireshark

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

はじめに

セキュリティツールを作ると、成熟したスキャナーが隠している入力解析、タイムアウト、並行処理、プロトコルフィールド、例外、結果フィルターが見えてきます。この実践コースでは Python で偵察ツールを作り、結果を連携します。

マルチスレッド TCP connect スキャナー、Scapy の ICMP/TCP パケット、並行 Web パス列挙を実装します。最後はローカル Web ポートを調べ、各サービスへワードリスト探索を行い、統合レポートを書きます。

学習内容

  • argparse で対象とポート範囲の CLI を作る
  • socket.connect_ex、タイムアウト、例外で TCP ポートを判定する
  • 順次スキャンとスレッド並行処理を比較する
  • Scapy で IP、ICMP、TCP 層を積み、フィールドを確認する
  • sr1 で ICMP を一回送信し、応答またはタイムアウトを扱う
  • ワードリストを読み、HTTP リクエストを並行実行する
  • HTTP 状態コードでエンドポイントを絞り、エラーを処理する
  • ポートスキャンとパス探索を localhost レポートツールに連結する

このコースの対象者

この中級コースは、基本スキャナーや列挙ツールの内部を理解したい学習者、ネットワークエンジニア、Python 開発者向けです。Nmap や ffuf の代替ではなく、実装概念と安全なラボ試験を重視します。

前提知識: Python の関数、モジュール、コレクション、例外、ファイル処理と、TCP ポート、HTTP 状態、IP/ICMP/TCP ヘッダー、Linux ターミナルの基礎。

学習環境: Python 3、Scapy、requests、ローカル Web サーバー、ワードリストを備えた Ubuntu 22.04 です。スキャンは 127.0.0.1、パケット演習はネットワーク方針に応じて 8.8.8.8 へ ICMP Echo を一回送ります。

よくある質問

任意のホストへ向けてよいですか?

自分が所有する、または明示的に許可されたシステムだけです。スキャンは 127.0.0.1、Scapy は応答練習として Google Public DNS へ標準 ICMP Echo を一回送ります。

Scapy の応答がない場合は?

ICMP や raw packet が遮断されていれば正常です。二秒でタイムアウトし、無応答を処理します。インターネット到達性の保証が目的ではありません。

ツールは本番対応ですか?

いいえ。成熟したツールには制限付き並行処理、速度制御、サービス検出、再試行、ワイルドカード応答処理、TLS、入力検証、決定的出力、テストが必要です。

ここでの fuzzer は不正な payload を送りますか?

いいえ。通常の GET と状態コードでワードリストパスを列挙します。プロトコル変異、アプリ payload 注入、メモリ破壊試験は行いません。

講師

labby
Labby
Labby is the LabEx teacher.

おすすめ

no data