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

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

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

Nmapは、ネットワークマッパーの略で、Gordon Lyonによってメンテナンスされています(Mr. Lyonについてはこちら:http://insecure.org/fyodor/)そして、世界中の多くのセキュリティプロフェッショナルによって使用されています。

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

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

nmapはどのような目的で使用されるのでしょうか?素晴らしい質問です。Nmapは、管理者がネットワーク上のシステムについて迅速かつ徹底的に学ぶことを可能にします。したがって、ネットワークマッパーまたはnmapという名前です。

Nmapは、ライブホストを迅速に特定し、そのホストに関連するサービスを特定する機能を持っています。Nmapの機能は、Nmapスクリプティングエンジン(NSEと略されることが多い)でさらに拡張することができます。

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

A word of caution – nmap is commonly used by people with both good and bad intentions. Extreme caution should be taken to ensure that you aren’t using nmap against systems that permission has not be explicitly provided in a written/legal agreement. Please use caution when using the nmap tool.

システム要件

  1. Kali Linux(nmapは他のオペレーティングシステムでも利用可能で、このガイドと同様に機能します)。
  2. 別のコンピュータと、そのコンピュータをnmapでスキャンする許可 – これは、VirtualBoxのようなソフトウェアと仮想マシンの作成で簡単に行うことができます。
    1. 練習に良いマシンについては、Metasploitable 2について読んでください
    2. MS2のダウンロードはMetasploitable2です
  3. A valid working connection to a network or if using virtual machines, a valid internal network connection for the two machines.

Kali Linux – Nmapの操作

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

インストール中、インストーラーはユーザーに「root」ユーザーパスワードを入力するよう促します。これはログインに必要です。Kali Linuxマシンにログインしたら、コマンド「startx」を使用してXFCEデスクトップ環境を起動できます。nmapはデスクトップ環境を必要としないことに注意する価値があります。

# startx
Start Desktop Environment in Kali Linux

XFCEにログインしたら、ターミナルウィンドウを開く必要があります。デスクトップの背景をクリックするとメニューが表示されます。ターミナルに移動するには、次のようにします:Applications -> System ->Xterm」または「UXterm」または「Root Terminal」。

筆者は「Terminator」というシェルプログラムのファンですが、これはKali Linuxのデフォルトインストールに表示されないかもしれません。リストされたすべてのシェルプログラムは、nmapの目的のために機能します。

Launch Terminal in Kali Linux

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

これにより、プライベートネットワーク範囲がスキャンが安全なマシンに残ることを確実にし、脆弱なMetasploitableマシンが他の誰かによって侵害されるのを防ぎます。

ネットワーク上のライブホストを見つける方法は?

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

ただし、IPアドレス情報が利用できない場合を考えます。クイックなnmapスキャンを使用して特定のネットワーク上でライブであるものを判断するのに役立ちます。このスキャンは「シンプルリスト」スキャンと呼ばれ、そのためにnmapコマンドに-sL引数が渡されます。

# nmap -sL 192.168.56.0/24
Nmap – Scan Network for Live Hosts

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

ネットワーク上のすべてのライブホストを見つけてピンクする

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

# nmap -sn 192.168.56.0/24
Nmap – Ping All Connected Live Network Hosts

今回はnmapがいくつかのスキャン対象ホストを返します!このコマンドでは、-snがnmapのデフォルトのホストのポートスキャンを試みる動作を無効にし、単にホストにピンクを試みるようにnmapに指示します。

ホスト上のオープンポートを見つける

特定のホストにnmapのポートスキャンを試して、何が見つかるか見てみましょう。

# nmap 192.168.56.1,100-102
Nmap – Network Ports Scan on Host

わぁ!今回はnmapが宝の山に当たりました。この特定のホストにはかなり多くのオープンネットワークポートがあります。

これらのポートはすべて、この特定のマシンでリスニングサービスが稼働していることを示しています。以前に思い出すと、192.168.56.102 IPアドレスはメタスプロイタブルな脆弱なマシンに割り当てられているため、このホストには多くのオープンポートがあるのです。

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

ホスト上のポートでリスニングしているサービスを見つける

この次のスキャンはサービススキャンであり、通常はマシン上の特定のポートでリスニングしている可能性があるサービスを特定しようとするために使用されます

nmapはすべてのオープンポートをプローブし、各ポートで実行されているサービスから情報をバナー取得しようとします。

# nmap -sV 192.168.56.102
Nmap – Scan Network Services Listening of Ports

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

この出力を見ると、ネットワーク管理者がかなりの懸念を抱くはずです。最初の行では、このマシンでVSftpd バージョン2.3.4が実行されていると主張しています!それは本当に古いバージョンのVSftpdです。

ExploitDBを検索すると、この特定のバージョンには2011年に深刻な脆弱性が見つかっています(ExploitDB ID – 17491)。

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

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

# nmap -sC 192.168.56.102 -p 21
Nmap – Scan Particular Post on Machine

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

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

これは、以前のVSftdの古い脆弱性に関する知識と合わせて懸念を引き起こすはずです。nmapにはVSftpdの脆弱性をチェックするスクリプトがあるかどうか確認してみましょう。

# locate .nse | grep ftp
Nmap – Scan VSftpd Vulnerability

nmapにはVSftpdのバックドア問題に対応したスクリプトがすでに組み込まれています!このホストに対してこのスクリプトを実行してみて、何が起こるかを見てみましょうが、まずスクリプトの使い方を知っておくことが重要かもしれません。

# nmap --script-help=ftp-vsftd-backdoor.nse
Learn Nmap NSE Script Usage

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

さあ、スクリプトを実行してみましょう。

# nmap --script=ftp-vsftpd-backdoor.nse 192.168.56.102 -p 21
Nmap – Scan Host for Vulnerable

おっと!Nmapのスクリプトが危険なニュースを返しました。このマシンは深刻な調査の対象となる可能性が高いです。これは、マシンが侵害されていて恐ろしいことに使用されているという意味ではありませんが、ネットワーク/セキュリティチームにいくつかの懸念をもたらすはずです。

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

Nmapには、いくつかのコマンドではなく1つのコマンドでほとんど同じ情報を取得することができる、より攻撃的なスキャンを行う能力があります。攻撃的なスキャンの出力を見てみましょう(注意 – 攻撃的なスキャンは侵入検知/防止システムを発動させる可能性があります!)。

# nmap -A 192.168.56.102
Nmap – Complete Network Scan on Host

この時点で、nmapは、特定のマシンで実行されているオープンポート、サービス、および構成に関する以前に返された情報の多くを返しました。この情報の多くは、このマシンを保護する方法を決定するのに役立ち、ネットワーク上にどのソフトウェアがあるかを評価するのに使用できます。

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

Amazonで入手可能な、著者Gordon LyonによるNmap Network Scanningの公式ガイドがあります。

Please feel free to post comments or questions (or even more tips/advice on nmap scans)!

Source:
https://www.tecmint.com/nmap-network-security-scanner-in-kali-linux/