ウェブサイト検索

Kali Linux の Nmap (ネットワーク セキュリティ スキャナー) の実践ガイド


Kali Linux の 2 番目の記事では、「nmap」として知られるネットワーク ツールについて説明します。 nmap は Kali 専用のツールではありませんが、Kali で最も便利なネットワーク マッピング ツールの 1 つです。

  1. 初心者向け Kali Linux インストール ガイド – パート 1

NmapNetwork Mapper の略で、Gordon Lyon によって保守されています (Lyon 氏の詳細については、こちらをご覧ください: http://insecure.org/fyodor) /) であり、世界中の多くのセキュリティ専門家によって使用されています。

このユーティリティは Linux と Windows の両方で動作し、コマンド ライン (CLI) で駆動されます。ただし、コマンド ラインが少し苦手な人のために、zenmap と呼ばれる nmap 用の素晴らしいグラフィカル フロントエンドがあります。

nmap の CLI バージョンを学習することを強くお勧めします。これは、zenmap グラフィカル エディションと比較して柔軟性がはるかに高いためです。

nmap の目的は何ですか?素晴らしい質問です。 Nmap を使用すると、管理者はネットワーク上のシステムについて迅速かつ徹底的に学習できるため、Network MAPper または nmap という名前が付けられています。

Nmap には、ライブ ホストとそのホストに関連付けられたサービスをすばやく見つける機能があります。 Nmap の機能は、NSE と略されることが多い Nmap Scripting Engine を使用してさらに拡張できます。

このスクリプト エンジンを使用すると、管理者は、新たに発見された脆弱性がネットワーク上に存在するかどうかを判断するために使用できるスクリプトを迅速に作成できます。多くのスクリプトが開発され、ほとんどの nmap インストールに組み込まれています。

注意の一言 – nmap は一般に、善意と悪意の両方の目的を持った人々によって使用されます。書面/法的契約で許可が明示的に提供されていないシステムに対して nmap を使用しないように、細心の注意を払う必要があります。 nmap ツールを使用する場合は注意してください。

システム要求

  1. Kali Linux (nmap は他のオペレーティング システムでも使用でき、このガイドと同様の機能を備えています)。
  2. 別のコンピューターとそのコンピューターを nmap でスキャンする許可 – これは多くの場合、VirtualBox などのソフトウェアと仮想マシンの作成を使用して簡単に実行できます。

    1. 練習に適したマシンについては、Metasploitable 2 についてお読みください。
    2. MS2用のダウンロード Metasploitable2
  3. ネットワークへの有効な動作接続、または仮想マシンを使用している場合は、2 つのマシンの有効な内部ネットワーク接続。

Kali Linux – Nmap の使用

nmap を使用するための最初のステップは、Kali Linux マシンにログインし、必要に応じてグラフィカル セッションを開始することです (このシリーズの最初の記事では、XFCE デスクトップ環境を使用して Kali Linux をインストールしました)。

インストール中、インストーラーはユーザーに、ログインに必要な「root」ユーザー パスワードの入力を求めます。Kali Linux マシンにログインしたら、コマンド「startx」を使用します。 ' XFCE デスクトップ環境を開始できます。nmap の実行にデスクトップ環境は必要ないことに注意してください。

startx

XFCE にログインしたら、ターミナル ウィンドウを開く必要があります。デスクトップの背景をクリックするとメニューが表示されます。ターミナルへの移動は次のように行うことができます: アプリケーション -> システム -> 'Xterm<」または「UXterm」または「ルートターミナル」。

著者は「Terminator」というシェル プログラムのファンですが、これは Kali Linux のデフォルトのインストールでは表示されない可能性があります。リストされているすべてのシェル プログラムは、nmap の目的で機能します。

ターミナルが起動したら、nmap の楽しみを始めることができます。この特定のチュートリアルでは、Kali マシンと Metasploitable マシンを含むプライベート ネットワークが作成されました。

これにより、プライベート ネットワーク範囲によりスキャンが安全なマシン上に残り、脆弱な Metasploitable マシンが他人によって侵害されるのを防ぐことができるため、作業がより簡単かつ安全になりました。

ネットワーク上でライブホストを見つけるにはどうすればよいですか?

この例では、両方のマシンがプライベート 192.168.56.0 /24 ネットワーク上にあります。 Kali マシンの IP アドレスは 192.168.56.101 で、スキャン対象の Metasploitable マシンの IP アドレスは 192.168.56.102 です。

ただし、IP アドレス情報が利用できなかったとします。簡単な nmap スキャンは、特定のネットワーク上で何が稼働しているかを判断するのに役立ちます。このスキャンは「単純リスト」スキャンとして知られているため、-sL 引数が nmap コマンドに渡されます。

nmap -sL 192.168.56.0/24

残念なことに、この最初のスキャンではライブホストは返されませんでした。これは、特定のオペレーティング システムがポート スキャン ネットワーク トラフィックを処理する方法の要因である場合があります。

ネットワーク上のすべてのライブ ホストを検索して ping する

ただし、心配する必要はありません。nmap には、これらのマシンを見つけるために利用できるいくつかのトリックがあります。次のトリックは、nmap に、192.168.56.0/24 ネットワーク内のすべてのアドレスに ping を試行するように指示します。

nmap -sn 192.168.56.0/24

今回は、nmap がスキャンのためにいくつかの将来のホストを返します。このコマンドの -sn は、ホストのポート スキャンを試行する nmap のデフォルトの動作を無効にし、nmap にホストへの ping を試行させるだけです。

ホスト上で開いているポートを見つける

nmap ポートにこれらの特定のホストをスキャンさせて、何が起こるかを見てみましょう。

nmap 192.168.56.1,100-102

おお!今度は nmap が金鉱を掘り当てました。この特定のホストには、かなりの数のオープン ネットワーク ポートがあります。

これらのポートはすべて、この特定のマシン上の何らかのリスニング サービスを示します。先ほどの説明を思い出してください。192.168.56.102 IP アドレスはメタスプロイタブルな脆弱なマシンに割り当てられているため、このホストには非常に多くのポートが開いています。

ほとんどのマシンでこれほど多くのポートが開いていることは非常に異常であるため、このマシンをもう少し詳しく調査することが賢明な考えかもしれません。管理者はネットワーク上の物理マシンを追跡し、そのマシンをローカルで確認することもできますが、特に nmap がそれをはるかに迅速に実行できる場合は、それほど楽しいことではありません。

ホスト上のポートでリッスンしているサービスを検索する

この次のスキャンはサービス スキャンであり、マシン上の特定のポートでどのサービスがリッスンしている可能性があるかを判断するためによく使用されます。

Nmap は開いているすべてのポートを調査し、各ポートで実行されているサービスから情報をバナー取得しようとします。

nmap -sV 192.168.56.102

今回は、nmap がこの特定のポートで実行されている可能性があると考えられるものについて、nmap がいくつかの提案を提供したことに注目してください (白いボックスで強調表示されています)。また、nmap は、このマシン上で実行されているオペレーティング システムとそのホスト名に関する情報も特定しようとしました (これも大成功でした!)。

この出力を見ると、ネットワーク管理者にとってかなりの懸念が生じるはずです。一番最初の行では、VSftpd バージョン 2.3.4 がこのマシンで実行されていると主張しています。これは VSftpd の非常に古いバージョンです。

ExploitDB を検索すると、2011 年にこの特定のバージョン (ExploitDB ID – 17491) に重大な脆弱性が発見されました。

ホスト上の匿名 FTP ログインを検索する

nmap にこの特定のポートを詳しく調べて、何が判断できるかを見てみましょう。

nmap -sC 192.168.56.102 -p 21

このコマンドにより、nmap はホスト上の FTP ポート (-p 21) でデフォルトのスクリプト (-sC) を実行するように指示されました。それが問題であるかどうかはわかりませんが、nmap は、この特定のサーバーで匿名 FTP ログインが許可されていることを確認しました。

ホストの脆弱性をチェックする

ただし、VSftd には古い脆弱性があるという以前の知識と組み合わせると、いくつかの懸念が生じるはずです。 nmap に VSftpd の脆弱性をチェックしようとするスクリプトがあるかどうかを確認してみましょう。

locate .nse | grep ftp

nmap には、VSftpd バックドア問題用にすでに構築されたNSE スクリプトがあることに注意してください。このホストに対してこのスクリプトを実行して何が起こるか見てみましょう。その前に、スクリプトの使用方法を知ることが重要かもしれません。

nmap --script-help=ftp-vsftd-backdoor.nse

この説明を読むと、このスクリプトを使用して、この特定のマシンが以前に特定されたExploitDB 問題に対して脆弱かどうかを確認できることがわかります。

スクリプトを実行して何が起こるか見てみましょう。

nmap --script=ftp-vsftpd-backdoor.nse 192.168.56.102 -p 21

うわぁ! Nmap のスクリプトはいくつかの危険なニュースを返しました。このマシンはおそらく本格的な調査に適した候補です。これは、マシンが危険にさらされ、恐ろしいことに使用されているという意味ではありませんが、ネットワーク/セキュリティ チームにいくつかの懸念をもたらすはずです。

Nmap には、非常に選択的で非常に静かな機能があります。これまでに行われたことのほとんどは、nmap のネットワーク トラフィックを適度に静かに保つことを目的としていましたが、この方法で個人所有のネットワークをスキャンすると、非常に時間がかかる可能性があります。

Nmap には、より積極的なスキャンを実行する機能があり、多くの場合、同じ情報が複数ではなく 1 つのコマンドで得られます。アグレッシブ スキャンの出力を見てみましょう (アグレッシブ スキャンは侵入検知/防御システムを作動させる可能性があることに注意してください)。

nmap -A 192.168.56.102

今回は、1 つのコマンドで、nmap が、この特定のマシンで実行されている開いているポート、サービス、および構成について以前に返した多くの情報を返していることに注目してください。この情報の多くは、このマシンを保護する方法を決定したり、ネットワーク上にどのようなソフトウェアがあるかを評価したりするのに役立ちます。

これは、ホストまたはネットワーク セグメント上で nmap を使用して検索できる多くの便利なものの短い最終リストにすぎません。個人が所有するネットワーク上で、制御された方法で nmap の実験を続けることを強くお勧めします (他のエンティティをスキャンして練習しないでください!)。

著者ゴードン・ ライオンによるNmap ネットワーク スキャンに関する公式ガイドがAmazonから入手可能です。