Nmapは、今日の最高のホスト検出およびポートスキャンツールです。 Nmapを使用すると、ネットワーク上のコンピューターに関する大量の情報を取得でき、稼働中のホストをスキャンできます。また、フィルターポートがある場合は、開いているポートがあるかどうかを確認することもできます(ホストには ファイアウォール アクティブ化された)、そしてどのオペレーティングシステムが特定のターゲットを使用しているかさえ知っています。 Nmapとその使用方法についてすべて知りたいですか? この記事では、このツールについて知っておく必要のあるすべてのことを説明します。
主な特徴
Nmapの は完全に無料のオープンソースユーティリティであり、ネットワークとホストを検出したり、セキュリティ監査を実行したりすることができます。 このプログラムはと互換性があります Linux, Windows およびmacOSオペレーティングシステムですが、インストールする可能性はありますが、それらすべてでコマンドラインから使用されます ZenMap、 これは、グラフィカルユーザーインターフェイスを介してポートスキャンを実行するためのNmapのグラフィカルユーティリティです。 コンソールを介してコマンドを操作したくない場合は、このグラフィカルユーザーインターフェイスがこの優れたプログラムの最初のステップに役立つ可能性がありますが、経験が豊富な場合は、ターミナルから直接すべてのコマンドを実行できます。
Nmapを使用すると、ローカルネットワーク上のホストを検出できます。また、インターネットを介して、これらのホスト(コンピューター、サーバー、ルーター、スイッチ、 IoT デバイス)は現在、インターネットまたはローカルネットワークに接続されています。 このツールを使用すると、さまざまなホストへのポートスキャンを実行したり、ポートのステータスがわかるため、そのホストでアクティブになっているサービスを確認したり、特定のコンピューターが使用しているオペレーティングシステムを確認したりすることもできます。 、および機器の安全性をチェックするために、さまざまなテストを自動化することもできます。
Nmapにはさまざまなタイプのポートスキャンがあり、TCPセグメント、UDPデータグラム、またはICMPパケットを介して実行できます。さらに、ファイアウォールで検出するのが難しいように、隠された方法でスキャンを実行できます。 もちろん、特定の特定のポートで、ポート範囲、IPアドレス範囲、SYNに加えてTCP null、FIN、Xmas、およびACKパケットを使用して、開いているTCPポートを見つける可能性のあるポートスキャンを実行できます。
このツールが提供するその他の機能は、完全なネットワークインベントリを作成し、特定のホストまたはサービスがまだ稼働しているかどうかを確認する可能性です。 このプログラムは、多数のホストをスキャンするように設計されているため、複数のターゲットをスキャンする必要がある場合でも問題はありません。 このプログラムは非常に柔軟性があり、ホストとポートをスキャンするための多数の高度な技術が組み込まれています。さらに、NSE(Nmap Search Engine)を介した監査も可能であるため、非常に強力です。
Nmapには、ポートスキャンを実行したときに表示されるポートに関するさまざまな状態があります。 Nmapの各状態が何を意味するかを知ることは不可欠です。これは、どのポートスキャンでも、異なる状態を返すためです。
Nmapを使用したポートステータス
- Open –アプリケーションがTCPまたはUDP接続をアクティブに受け入れています。 ポートは開いていて使用できます。ペンテスターはこの開いているポートを使用してシステムを悪用できます。 アクセスをブロックするファイアウォールがない場合は、デフォルトの状態です。
- 閉店 :閉じているポートはNmapに応答するためアクセス可能ですが、そのポートで実行されているアプリケーションはありません。 これは、ホストが稼働していることを検出したり、オペレーティングシステムの検出の一部として使用したりするのに役立ちます。 システム管理者は、これらのポートにアクセスできないように、ファイアウォールでこれらのポートをフィルタリングすることをお勧めします。 ペネトレーションテストに関しては、新しいサービスを提供する場合に備えて、後で分析するためにこれらのポートを「閉じた」ままにしておくことをお勧めします。
- フィルタ処理 :この状態では、ポートにNmapパケットをフィルタリングするファイアウォールがあるため、Nmapはポートが開いているかどうかを判断できません。 これらのフィルタリングされたポートは、ファイアウォールをアクティブにしたときに表示されるポートです。 Nmapは繰り返し接続を試みます。そのため、ポートスキャンが非常に遅くなります。
- 開く| フィルタ処理 :Nmapは、ポートが開いているかフィルタリングされているかを認識しません。 これは、開いているポートが応答を送信しないために発生し、この応答の欠如はファイアウォールからのものである可能性があります。 このステータスは、UDPとIPを使用し、FIN、NULL、およびXmasスキャンを使用する場合に表示されます。
- 閉店 | フィルタ処理 :この状態では、ポートが閉じているかフィルタリングされているかはわかりません。 この状態は、IPアイドルスキャンでのみ使用されます。
Nmapの主な機能と、使用可能なポートのステータスを確認したら、それをインストールして使用します。
任意のシステムにNmapをダウンロードしてインストールします
この強力なプログラムを使用するために最初に行う必要があるのは、ダウンロードしてからインストールすることです。 の中に Nmapダウンロードセクション Windows、Linux、およびMacOSオペレーティングシステムにインストールするためのすべてのリンク、バイナリ、およびソースコードを見つけることができます。 現在、このプログラムはLinuxベースのオペレーティングシステムのすべてのリポジトリで利用できるため、インストールは非常に簡単です。 このプログラムをにインストールしました Ubuntu、ただし、オペレーティングシステムのインストールコマンドに続けて「nmap」を実行するだけで、問題なくプログラムをインストールできます。
sudo apt install nmap
インストールすると、Windows、Linux、macOSのいずれかのターミナルから使用できます。 以下に示すすべての例では、Ubuntuオペレーティングシステムを使用していますが、WindowsとmacOSで同じコマンドを変更せずに使用できます。
Nmapの使用例
クイックポートスキャン
特定のホストへのクイックポートスキャンを実行する場合は、次のコマンドを入力する必要があります。
nmap [ip]
たとえば、IPアドレス192.168.1.2のホストへのメインポートのクイックスキャンを実行する場合、順序は次のようになります。
nmap 192.168.1.2
プログラムは、ターゲットコンピュータで開いているポートを返します。
ポートの範囲をスキャンします
すべてのポートをスキャンする代わりに、チェックするポートの範囲を設定できます。 このために、以下を実行します。
nmap -p [rango] [ip]
IPアドレス20でTCP200からTCP192.168.1.2へのポートスキャンを実行する場合は、次のコマンドを実行するだけです。
nmap -p 20-200 192.168.1.2
プログラムは、その範囲内でどのポートが開いているかを示します。
オペレーティングシステムとその他のホストデータを検出する
Nmapにオペレーティングシステムを検出するように指示できます。 これは、パケットを送信し、パケットを返す方法を分析することによって行われます。これは、システムごとにまったく異なります。 これに加えて、脆弱性のポートおよびサービススキャンを実行します。 また、スキャンは有用な情報を返します。 このために実行する必要があります:
nmap -A -v [ip]
このスキャンをIPアドレス192.168.1.2に対して実行する場合は、次のコマンドを実行できます。
nmap -A -v 192.168.1.2
すべてのコマンドのリスト s
このプログラムは本当に完成しています。これまでのところ、基本的なコマンドを使用してホストを検出し、ポートが開いているかどうかを確認しましたが、これはそのままではなく、これを最大限に活用するためのコマンドのリストが多数あります。ツール。
目的を選択する
IPアドレスまたは範囲、システムの名前、ネットワークなど。
- 例:scanme.nmap.org、microsoft.com / 24、192.168.0.1、10.0.0-255.1-254
- -ファイル内のiLファイルリスト-iRnランダムにターゲットを選択し、0は終了しません
- –exclude –excludefileファイルはファイルからシステムを除外します
システムを発見する
- -PS n tcp 同期 ping
- -PA n ping TCP ACK
- -PU ping UDP
- -PMネットマスク要求
- -PPタイムスタンプ要件
- -PEエコー要求
- -sLリスト分析
- -プロトコルごとのPOping
- -PNpingしないでください
- -DNSを実行しない
- -RすべてのターゲットシステムでDNSを解決します
- –traceroute:システムへのトレースルート(ネットワークトポロジの場合)
- -sP ping、–PP –PM –PS443 –PA80と同じ
ポート分析手法
- -TCPSYNを使用したsS解析
- -TCPCONNECTを使用したsT解析
- -UDPを使用したsU分析
- -s SCTPINITを使用したAND分析
- -SCTPのCOOKIEECHOを使用するsZ
- -sOIPプロトコル
- -sWTCPウィンドウ-sN
- –SF -sX NULL、FIN、XMAS
- –SA TCP ACK
分析するポートと分析の順序
- -pn-mrango
- -p–すべてのポート
- -pn、m、zが指定されています
- -p U:nm、z T:n、m UはUDP、TはTCP
- -F速い、一般的な100
- –top-portsn最も使用されているポートを分析します
- -rはランダムではありません
期間と実行:
- -T0パラノイド
- -T1ステルス
- -洗練されたT2
- -T3ノーマル
- -T4アグレッシブ
- -T5マッドネス
- –min-hostgroup
- –max-hostgroup
- –最小レート
- –最大レート
- –最小並列処理
- –最大並列処理
- –min-rtt-timeout
- –max-rtt-timeout
- –初期-rtt-タイムアウト
- –最大再試行
- –host-timeout –scan-delay
サービスとバージョンの検出
- -sV:サービスバージョンの検出
- –すべてのポートはポートを除外しません
- –バージョン-すべてのスキャンごとにテストします
- –version-traceトレースバージョン分析アクティビティ
- -または、オペレーティングシステムの検出をアクティブにします
- –あいまいな推測OS検出
- –max-os-triesは、ターゲットシステムに対する最大試行回数を設定します
ファイアウォール/ IDS回避
- -fフラグメントパケット
- -おとりを使ったDd1、d2マント分析
- -S ipspoof送信元アドレス
- –g送信元スプーフィング送信元ポート
- –ランダム化-ホストの順序
- –なりすましMACMAC変更元MAC
詳細レベルとデバッグパラメータ
- -v詳細レベルを上げる
- –システムおよびポート別の理由理由
- -d(1-9)デバッグレベルを設定します
- –パケットトレースパケットパス
その他のオプション
- –ファイル再開分析が中止されました(-oNまたは-oGを使用した出力形式を取得)
- -6IPV6スキャンを有効にする
- -アグレッシブ、-O -sV -sC –tracerouteと同じ
インタラクティブオプション
- v / V分析詳細のレベルの増減
- d / Dデバッグレベルの増減
- p / Pパケットトレースを有効/無効にします
スクリプト
- -sCはデフォルトのスクリプトで分析を実行します
- –スクリプトファイル実行スクリプト(またはすべて)
- –script-args n = v引数を提供します
- –script-traceは着信および発信通信を表示します
出力形式
- -oN通常の形式で保存
- -oXはXML形式で保存します
- -oGは後でGrepを使用するためにフォーマットで保存します
- -oA以前のすべての形式で保存
これらは主にNmapで使用できるコマンドです。 終了する前に、Nmapには完全なネットワーク分析を実行するための多数のオプションがあると言わなければなりません。 次のように入力すると、利用可能なすべてのオプションを確認できます。
nmap --help
Nmapは間違いなく、ネットワーク監査を実行するための非常にシンプルで完全なツールですが、これで終わりではありません。高度な侵入テストを実行するためにNmapNSEも利用できます。
Nmap NSE:それが何であるかそしてそれが何のためにあるか
Nmap検索エンジンまたはNmapNSEとも呼ばれるは、システムやネットワークへの侵入テストを自動化できる数千のスクリプトを備えた大規模なデータベースです。 この一連のスクリプトにより、Sambaサーバー、FTPサーバー、SSHサーバーに対するブルートフォース攻撃の実行、Webサーバーに既知の脆弱性があるかどうかの確認など、多くのアクションを自動化できます。
たとえば、ユーザーのリスト(users.txtというファイル)とテストするパスワードのリスト(keys.txtというファイル)に基づいてブルートフォース攻撃を実行する場合は、 IP 99.99.99.99を備えた特定のコンピューターでは、次のコマンドを入力できます。
nmap -p 22 --script ssh-brute --script-args userdb=usarios.txt,passdb=claves.txt --script-args ssh-brute.timeout=4s 99.99.99.99
にアクセスすることをお勧めします NSEの公式ウェブサイト ここには、現在この大規模なデータベースにあるすべてのスクリプトがあり、さらに、それらの使用方法の例があります。