はじめに
サイバーセキュリティ分野において、ネットワークスキャンツールとテクニックを理解することは不可欠です。このチュートリアルでは、基本的な Nmap スキャンを実行する手順と、ファイアウォールを回避する方法を探り、ネットワークセキュリティの知識とスキルを向上させるお手伝いをいたします。
Nmap とネットワークスキャン入門
Nmap とは何か?
Nmap (Network Mapper) は、ネットワークの発見とセキュリティ監査を行うための強力なオープンソースツールです。ネットワーク管理者、セキュリティ専門家、ハッカーなど、幅広いユーザーが、ネットワークのスキャン、アクティブなホストの特定、オープンポート、サービス、オペレーティングシステムの検出に使用しています。
ネットワークスキャン基礎
ネットワークスキャンは、ネットワーク上のアクティブなデバイスを特定し、それらに関する情報を収集するプロセスです。この情報には、IP アドレス、ホスト名、オープンポート、実行中のサービス、オペレーティングシステムが含まれる場合があります。Nmap は、TCP 接続スキャン、SYN スキャン、UDP スキャンなど、さまざまなスキャン手法を提供し、さまざまなニーズに対応します。
Nmap の機能と能力
Nmap は、幅広い機能と能力を提供します。
- ホスト発見:ネットワーク上のアクティブなホストを特定する
- ポートスキャン:オープンポートと関連するサービスを検出する
- OS 検出:ターゲットホストのオペレーティングシステムを特定する
- サービスおよびバージョン検出:実行中のサービスとそのバージョンを特定する
- スクリプトエンジン:高度なタスクのためのカスタムスクリプトを実行する
Nmap の使用例
Nmap は、さまざまなシナリオで使用できます。
- ネットワークインベントリ:ネットワーク上のデバイスとサービスをマッピングする
- セキュリティ評価:潜在的な脆弱性と攻撃ベクトルを特定する
- ペネトレーションテスト:さらなる悪用のためのターゲットネットワークに関する情報を収集する
- ネットワークトラブルシューティング:ネットワークの問題と接続問題を診断する
Nmap のインストールと実行
Nmap は、Linux、Windows、macOS など、さまざまなオペレーティングシステムで使用できます。このチュートリアルでは、Ubuntu 22.04 システムでの Nmap の使用に焦点を当てます。Nmap をインストールするには、次のコマンドを使用できます。
sudo apt-get update
sudo apt-get install nmap
インストール後、次の基本的なコマンドを使用して Nmap を実行できます。
nmap <target_ip_or_hostname>
これにより、ターゲットホストの基本的な TCP 接続スキャンが実行され、オープンポートと関連するサービスが表示されます。
基本的な Nmap スキャンの実行
基本的な Nmap スキャン
最も基本的な Nmap スキャンは、nmap <ターゲット> コマンドを実行するとデフォルトで実行される TCP 接続スキャンです。このスキャンは、ターゲットホスト上の各オープンポートに対して完全な TCP 接続を確立しようとします。
基本的な Nmap スキャンの例を次に示します。
nmap 192.168.1.100
これにより、ターゲット IP アドレス 192.168.1.100 に対して TCP 接続スキャンが実行され、以下の情報が表示されます。
- オープンポート
- それらのポート上で実行されている関連サービス
- オペレーティングシステム (OS) の検出 (可能な場合)
スキャンタイプ
Nmap は、さまざまなニーズに対応するさまざまなスキャンタイプを提供します。一般的なスキャンタイプをいくつか次に示します。
- SYN スキャン: ファイアウォールによる検出を回避するために、しばしば使用される、完全な TCP ハンドシェイクを完了しないステルススキャンです。
- UDP スキャン: ターゲットホスト上のオープン UDP ポートをスキャンします。
- アイドル/ゾンビースキャン: アイドルまたは「ゾンビ」ホストを使用してスキャンを実行するため、元のソースまで追跡するのが困難になります。
- 包括的なスキャン: ターゲットに関するより詳細な情報を収集するために、複数のスキャンタイプを組み合わせます。
SYN スキャンの例を次に示します。
nmap -sS 192.168.1.100
スキャン修飾子
Nmap は、スキャンをカスタマイズし、より多くの情報を収集するためのさまざまな修飾子も提供します。いくつかの便利な修飾子を次に示します。
- -p-: デフォルトの 1000 個の一般的なポートではなく、すべてのポート (1-65535) をスキャンします。
- -sV: 実行中のサービスとそのバージョンを識別するためにバージョン検出を実行します。
- -sC: 追加の列挙のために、デフォルトの nmap スクリプトのセットを実行します。
- -O: ターゲットのオペレーティングシステムを検出しようとします。
- -oA: 出力を主要なフォーマット (通常、grep 可能、および XML) で保存します。
例:
nmap -sS -sV -sC -O -oA basic_scan 192.168.1.100
このコマンドは、ステルス SYN スキャンを実行し、サービスバージョンを検出し、デフォルトスクリプトを実行し、OS 検出を試み、出力をすべての主要なフォーマットで保存します。
ファイアウォール回避テクニック
ファイアウォールの理解
ファイアウォールは、事前に定義されたセキュリティルールに基づいて、入出力ネットワークトラフィックを監視および制御するセキュリティデバイスです。インターネットのような信頼できない外部ネットワークと、信頼できる内部ネットワークの間の障壁として機能します。ファイアウォールは、Nmap などのネットワークスキャナーにとって課題となる可能性があり、特定の種類のトラフィックをブロックまたはフィルタリングする可能性があります。
ファイアウォール回避テクニック
ファイアウォールを回避し、成功裏にネットワークスキャンを実行するために、Nmap はいくつかのテクニックを提供します。
1. TCP SYN スキャン
前述したように、TCP SYN スキャンは、完全な TCP ハンドシェイクを完了しないステルススキャンです。これにより、完全な TCP 接続をブロックするように設定されたファイアウォールを回避するのに役立ちます。
nmap -sS 192.168.1.100
2. アイドル/ゾンビースキャン
アイドル/ゾンビースキャンは、「アイドル」または「ゾンビ」ホストを使用してスキャンを実行するため、ファイアウォールがスキャンの実際のソースを検出するのが困難になります。
nmap -sI zombie_host 192.168.1.100
3. フラグメント化されたパケット
ファイアウォールは、大きなパケットをブロックするように設定されている可能性があるため、Nmap はパケットをより小さなフラグメントに分割して、この制限を回避できます。
nmap -f 192.168.1.100
4. デコイースキャン
Nmap は、デコイ IP アドレスを含む複数のソース IP アドレスからスキャンを実行できます。これにより、ファイアウォールがスキャンの実際のソースを特定するのがより困難になります。
nmap -D decoy1,decoy2,ME 192.168.1.100
5. タイミングと遅延オプション
ファイアウォールは、速度が速すぎたり、攻撃的すぎたりするスキャンをブロックするように設定されている可能性があります。Nmap は、スキャンを遅くして検出を回避するためのさまざまなタイミングと遅延オプションを提供します。
nmap -T4 -min-rate 100 192.168.1.100
これらのテクニックを組み合わせることで、ファイアウォールで保護されたネットワークを成功裏にスキャンする可能性を高めることができます。ただし、これらの方法を悪意のある活動にも使用できるため、責任ある方法で、正当な目的でのみ使用することが重要です。
まとめ
このサイバーセキュリティチュートリアルでは、基本的な Nmap スキャンの実行とファイアウォール回避テクニックについて包括的な概要を提供しました。これらのスキルを習得することで、ネットワークに関する貴重な情報を効果的に収集し、潜在的な脆弱性を特定し、全体的なサイバーセキュリティ体制を強化するための積極的な対策を講じることができます。



