2章Scapyでポートスキャナを自作し動作原理を知ろう

ポートスキャナは、外部から特定のデータを送信し、対象への応答を分析してネットワークに接続されているホストを調査するツールです。得られた応答を分析すると、開いているポートや、そのポートで動作しているサービスのバージョン、ホストのOS名などを特定できます。このような探索行為をポートスキャンと言います。前章で解説したUnified Kill Chainの中では、「初期の足場の確保」の「偵察」に当たる行為です。ポートスキャナの自作を通じてパケットの操作方法を学んだ後は、実在する脆弱性を題材にパケットを操作することで行える攻撃も体験します。

2.1 なぜポートスキャナを自作するのか

経験豊富な読者の方の中には「ポートスキャナなんてNmapを使えばそれで十分だろう」と思われる方もいるかもしれません。確かにそれは一理あります。実際の業務においてはNmap以外のポートスキャナを使うことは少ないです。しかし、ポートスキャンの仕組みを理解するにはポートスキャナを自作し、どんなパケットが行き交っているのかを確認するのが一番だと私は思っています。私自身、学生時代に似た構成の講義を受けたことがあります†1が、とても楽しい体験でした。また、パケットを自由に操作できるようになっておくことや、PoC(Proof of Concept)のコードを素早く実装できることは、ペンテストに必要なスキルです。例えば、Nmapに実装されていない特殊なプロトコルで通信するソフトウェアの脆弱性を調査したい場合は、プロトコルの仕様に従ったパケットで通信するためのツールを自作する必要があります。このような理由から本章では、ポートスキャナの自作を行います。楽しんでもらえるとうれしいです。 ...

Get ポートスキャナ自作ではじめるペネトレーションテスト ―Linux環境で学ぶ攻撃者の思考 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.