GNU/Linux >> Linux の 問題 >  >> Linux

システム管理者のための50の重要なNmapコマンド

NmapまたはNetworkMapperは、間違いなく、最新の侵入テスターが使用する最高の偵察ツールです。このオープンソースアプリケーションは、その開始以来長い道のりを歩んできており、ネットワークセキュリティのゲームチェンジャーであることが証明されています。 Nmapは、単一のネットワークまたはネットワークの範囲の重要な情報を判別するために広く使用されています。セキュリティ研究者がネットワークの脆弱性を発見できるようにする堅牢なNmapコマンドの無限のリストがあります。悪意のあるユーザーは、許可されていないネットワークへのエントリポイントを決定するためにNmapを多用します。さらに、事前に作成されたスクリプトの大規模なライブラリにより、Nmapはこれまでになく強力になります。

システム管理者向けのNmapコマンド

いくつかの単純なNmapスキャンを実行するだけで、外部ネットワークの問題を簡単に見つけることができます。優れたドキュメントがあるため、さまざまなNmapコマンドを完全に覚える必要はありません。探している機能がわかれば、マニュアルから簡単に情報を見つけることができます。さらに、事前に構築された堅牢なNSEスクリプトのセットは、一般的なタスクの自動化に役立ちます。

初心者向けの基本的なNmapコマンド

Nmapはコマンドの大規模な組み合わせを提供するため、最初に基本的なコマンドを習得することが不可欠です。次のセクションでは、Nmapを使用して簡単なネットワークスキャンを実行する方法を示します。

1。単一のホストをスキャンする

ホストとは、特定のネットワークに接続されている任意のマシンです。 Nmapを使用すると、管理者はIPアドレスまたはホスト名を使用してホストを簡単にスキャンできます。次のコマンドは、1000個の共通ポートをスキャンし、開いているすべてのポート、それらの状態、およびサービスを一覧表示します。

$ nmap 192.168.1.1

以下に示すように、必要に応じてIPをホスト名に置き換えることができます。

$ nmap hostname

2。複数のホストをスキャンする

---

Nmapを使用すると、複数のホストを同時にスキャンすることも非常に簡単です。これを行うには、IPまたはホスト名を次々に入力するだけです。以下の例は、これを示しています。

$ nmap 192.168.1.1 192.168.1.3 192.168.1.5
$ nmap hostname1 hostname2 hostname3

Nmapは、このための便利な省略形も提供します。

$ nmap 192.168.1.1,3,5

3。 IPアドレスのスキャン範囲

ある範囲のIPアドレスを一度にスキャンすることもできます。次のコマンドは、これが実際に動作していることを示しています。

$ nmap 192.168.1.1-15

このコマンドは、サブネットワークの最初の15個のホストをスキャンします。多くの人もこの目的でワイルドカードを使用しています。検索にワイルドカードを追加すると、使用可能なすべてのホストが検査されます。

$ nmap 192.168.1.*

サブネット全体をスキャンするには、以下のコマンドを使用します。

$ nmap 192.168.1.1/16

4。ファイルからホストを読み取り、スキャンする

Nmapは、ファイルからホストアドレスを読み取り、それらをスキャンしてポート情報を探すことができます。まず、図のように、いくつかのホストを含​​むファイルを作成します。

$ echo -e "192.168.1.1-10 \nlocalhost" >> /tmp/hosts
$ cat /tmp/hosts

これで、ホストにはlocalhostと指定されたIP範囲で構成される2行が含まれるはずです。次のコマンドを使用して、Nmapを使用してこれを読み取ります。

$ nmap -iL /tmp/hosts

5。 Nmapスキャンからホストを除外する

–excludeオプションを使用すると、ユーザーは特定のホストを特定のIP範囲から除外できます。 –excludefileオプションを使用して、ファイルからホストを除外できます。以下のコマンドは、これを示しています。

$ nmap 192.168.1.1/24 --exclude 192.168.1.1,3,5
$ nmap -iL /tmp/hosts --excludefile /tmp/exclude

ここで、/ tmp / excludeファイルには、ユーザーが関心のないホストが含まれています。ガイドをできるだけ簡潔にするために、このファイルは紹介していません。

6。スキャンの詳細度を上げる

デフォルトの検索では、非常に限られた情報しか提供されません。 Nmapには、検索に冗長性を追加するための-vオプションが用意されています。このフラグを使用すると、Nmapは検索に関する追加情報を出力します。

$ nmap -v 192.168.1.1

このフラグを追加するだけで、出力情報が大幅に向上します。さらに、初心者がNmapが内部でどのように機能するかを視覚化するのにも役立ちます。

7。 OS情報を検出する

Nmapは、リモートOS検出に関して多くの人に適した選択肢です。 -Aフラグは、テストしているホストに関するOS情報を検索して表示するようにNmapに指示します。

$ nmap -A 192.168.1.1
$ nmap -A -v 192.168.1.1

したがって、-vフラグを追加して、検索結果に関する追加情報を取得できます。これは、初心者向けのNmapコマンドを習得するための優れた方法です。次のコマンドは、ファイルに存在するホストのOS情報を検出する方法を示しています。

$ nmap -v -A -iL /tmp/hosts

8。ホストのファイアウォール情報を取得する

競争力のあるシステム管理者は、ネットワークをファイアウォールの背後に置きます。これにより、無関係な情報が潜在的なNmap検索に送られる可能性があります。ただし、次のコマンドを使用すると、ホストがファイアウォールで保護されているかどうかを簡単に確認できます。

$ nmap -sA 192.168.1.1
$ nmap -v -sA 192.168.1.1

Nmapを初めて使用する場合は、可能な限り冗長フラグvを使用することをお勧めします。 Nmapの動作を詳細に理解するのに役立ちます。

9。ファイアウォールで保護されたホストをスキャンする

外部ファイアウォールで保護されているホストは、Nmapなどのリモートスキャナーに不要な情報を送信する傾向があります。このような方法で保護する対象のホストを見つけた場合は、以下のコマンドを使用してください。

$ nmap -PN hostname
$ nmap -PN 192.168.1.1

上記のIPアドレスは、私のネットワークの無線ルーターを表しています。 IPまたはホスト名のいずれかを使用して任意のホストを検索できます。

10。 IPv6ホストをスキャンする

まだ主流ではありませんが、IPv6アドレスは存在し、近い将来、リモートホストの標準的な表現になるでしょう。 NmapはすでにIPv6スキャンのサポートを展開しています。次のコマンドは、これを行う方法を示しています。

$ nmap -6 hostname
$ nmap --6 2001:0db8:85a3:0000:0000:8a2e:0370:7334

16進表現は、2番目の例のホストを示します。フラグを追加して、Nmap検索結果の品質を向上させることができます。

ネットワーク管理者向けの毎日のNmapコマンド

Nmapは、ネットワーク管理者、倫理的ハッカー、および侵入テスターに​​役立つ、無限の数のコマンドとスクリプトを提供します。以下のセクションで、いくつかの一般的ですが重要なコマンドについて説明します。

11。ホストの特定のポートをスキャンする

Nmapを使用すると、管理者は特定のポートについてのみホストをチェックできます。以下のコマンドは、必要な例でこれを示しています。

$ nmap -p 21,22,80,443 localhost
$ nmap -p 21,22,80,443 192.168.1.1

以下に示すように、ポートの範囲を指定することもできます。

$ nmap -p 1-65535 localhost

このコマンドは、ローカルホストネットワークをスキャンしてすべての共通ポートを探します。

12。追加のポートスキャン方法

Nmapは、すべてのタイプのポートを検出して検査できます。次の例は、UDPポートをスキャンする方法、ワイルドカードを使用する方法などを示しています。UDPポートスキャンを実行するには、次のコマンドを使用します。

$ nmap -p U:53, 67, 111 192.168.1.1

TCPポートとUDPポートの両方をスキャンするには、次の構文を使用します。

$ nmap -p -T:20-25,80,443 U:53, 67, 111 192.168.1.1

次は、ワイルドカードを使用してポートをスキャンします。指定されたホストで使用可能なすべてのポート構成をスキャンします。

$ nmap -p "*" 192.168.1.1

次のNmapコマンドは、最も一般的な10個のポートのみをスキャンします。

$ nmap --top-ports 10 192.168.1.1

13。ポートスキャンなしのホストを一覧表示する

ホストのポートスキャンは煩わしいため、多くの管理者はホストのポートを直接スキャンしません。むしろ、Nmapを使用して単純なpingを送信し、ネットワーク上で利用可能なホストのリストを取得します。悪意のある攻撃者も、このような方法を利用して、目に見えない状態を維持しようとします。

$ sudo nmap -sn 192.168.1.0/24

このコマンドを最大限に活用するには、sudo権限が必要です。そうしないと、NmapはTCP ACK要求を送信できず、潜在的なホストを見逃す可能性があります。

14。ホストの高速スキャンを実行する

ランダムなホストとポートをスキャンするためにNmapを使用する場合、かなりの時間がかかります。代わりに、Nmapが最も一般的なポートのみを検索し、いくつかの要因によってスキャン時間を短縮する高速モードを使用できます。

$ nmap -F 192.168.1.0/24
$ nmap -F localhost

-F フラグはNmapをこの高速モードにします。

15。開いているポートのみを表示する

Nmapポートスキャンは、ホストのすべての開いているポートとフィルタリングされたポートを一覧表示します。出力を、開いているポートを持つホストのみに制限できます。ただし、このコマンドは、外部アプリケーションによってフィルタリングされている可能性のある開いているポートも出力します。

$ nmap --open 192.168.1.1
$ nmap --open localhost

16。ポートが特定の状態にある理由を参照してください

Nmapを使用すると、ユーザーは特定のポートが特定の状態にある理由を調査できます。このような結果を得るには、–reasonオプションを利用する必要があります。次のコマンドは、これが実際に動作していることを示しています。

$ nmap --reason localhost
$ nmap --reason 192.168.1.1

上記のコマンドは、ポートの現在の状態の背後にある理由を示しています。この情報はデバッグに大いに役立ち、専門家がターゲットポートをより適切に視覚化できるようにします。

17。ネットワークインターフェースとルートを表示する

ネットワーク構成を理解することは、セキュリティアナリストと悪意のあるユーザーの両方にとって不可欠です。どちらも、潜在的なホストがワールドワイドウェブにどのように接続されているかを望んでいます。 Nmapを使用すると、選択したホストのインターフェースとルートの概要を簡単に知ることができます。次のコマンドは、これが実際に動作していることを示します。

$ nmap --iflist

上記のコマンドは、デバイス名、IP、ゲートウェイなどの情報を含むルートとインターフェースを表示します。

18。タイミングテンプレートを設定する

Nmapの最も便利な機能の1つは、その堅牢なタイミングパラメータです。 -Tオプションを使用すると、各Nmapスキャンにかかる時間を簡単に制御できます。次のコマンドは、これが実際に動作していることを示しています。

$ nmap --top-ports 10 -T4 192.168.1.1

このコマンドは、標準の構文と比較すると、完了するまでの時間が大幅に短縮されます。 -Tの値を0から5に変更できます。ここで、5は最も積極的なスキャンを示し、0は最も丁寧なスキャンを示します。ただし、積極的なタイミングパラメータにより、Nmapが検査中のホストをクラッシュさせる可能性があります。デフォルトのNmapスキャンは-T3を利用します。

19。 OS検出を有効にする

-Aオプションを使用してOS固有の情報を取得する方法を示しましたが、これを行う別の方法があります。 -Oフラグは、ホストまたはホストの範囲のOS検出を有効にします。

$ nmap -v -O localhost
$ nmap -O 192.168.1.1/24

これらのNmapコマンドは、特にファイアウォールを使用して保護されている場合、一部のOSを認識できない可能性があります。次の例は、これを克服するために積極的なOS検出を使用する方法を示しています。

$ nmap -O --osscan-guess 192.168.1.1/24

20。サービスとバージョン情報を検出する

次のコマンドは、Nmapを使用してサービスおよびバージョン情報を検出する方法を示しています。悪意のあるユーザーは通常、これを使用して、ホストが脆弱なサービスを実行しているかどうかを確認します。

$ nmap -sV 192.168.1.1/24

-sVを追加すると、Nmapバージョンの検出が有効になります。これは、-Aオプションを使用して以前に取得したものと非常によく似た情報を提供します。このコマンドは、サブネット192.168.1.1/24の使用可能なすべてのホストをスキャンするため、時間がかかる場合があります。次の例では、前述の-Tオプションを使用してこのプロセスを高速化します。

$ nmap -T5 -sV 192.168.1.1/24

21。 TCPSYNを使用してホストをスキャンする

多くの場合、リモートシステムのファイアウォールが、通常のNmapポートスキャンによって送信される標準のICMPpingをブロックしていることがわかります。 TCP SYNスキャンを使用して、この状況から抜け出すことができます。

$ sudo nmap -PS20-25,80,110,443 192.168.1.1/24

上記のコマンドを使用すると、Nmapはホストが起動しているかどうかを検出し、標準のTCP通信を完了せずにポートをスキャンできます。

22。 TCPACKを使用してホストをスキャンする

TCP ACK方式は、上記のコマンドとほぼ同じように機能します。ただし、最も保護されているリモートホストの存在を見つけるのに非常に効果的です。 TCP ACKパケットは、確立されたTCP接続を介して確認データを送信するため、リモートホストはそれらの場所を通知する必要があります。

$ sudo nmap -PA20-25,80,110,443 192.168.1.1/24

上記の2つのコマンドはどちらも、ユーザーが-pの場合と同じようにポートを指定できるようにします。ただし、-PSも-PAも、それらの後にスペースを許可しません。したがって、これに注意してください。そうしないと、検索で有効な情報が得られません。

23。 OSフィンガープリントを取得する

OSフィンガープリンティングとは、ネットワーク通信中にリモートホストのパッシブ情報を収集することです。以下に示すように、Nmapを使用すると、システム管理者はこれを簡単に実行できます。これは、リモートシステムのファイアウォールからスキャンの存在を隠蔽しながら、関連するOS情報を取得する場合に役立ちます。

$ nmap -sT 192.168.1.1/24

上記の接続スキームは、NmapではTCP接続スキャンとして知られています。

24。 IPプロトコルを使用してスキャンする

送信するIPプロトコルを許可しないホストに出くわす場合があります。この問題を回避するには、以下のコマンドを使用して、ホストが許可するIPプロトコルを決定します。

$ nmap -v -sO 192.168.1.1

サポートされているプロトコルを取得したら、適切なNmapコマンドを使用してこのホストをスキャンできます。

25。ファイアウォール/IDSの弱点をスキャンする

テスターがNmapのスキャン試行を拒否するファイアウォールや侵入検知システムに遭遇することは非常に一般的です。ありがたいことに、堅牢なNmapコマンドを使用すると、ユーザーはファイアウォール情報を提供することでこの問題を回避できます。以下のコマンドは、これを示しています。

$ nmap -sN 192.168.1.1
$ nmap -sF 192.168.1.1
$ nmap -sX 192.168.1.1

最初のコマンドはnullTCPフラグを送信し、2番目のコマンドはFINビットを設定し、最後のコマンドはFIN、PSH、およびURGビットを設定します。ステートフルではないファイアウォールをだまして、ポートの状態に関する情報を放棄します。

倫理的ハッカーのためのNmapコマンド

倫理的なハッカーは、ITインフラストラクチャのネットワークの欠陥を含む潜在的な欠陥を探す専門家です。 Nmapのオプションの高度な組み合わせを使用して、物事をすばやくラップアラウンドします。次のセクションでは、そのようなコマンドのいくつかを示します。

26。 SCTPを使用してリモートホストをスキャンする

SCTPスキャンは、その有効性からテスターに​​好まれるサイレントですが便利なスキャン手法です。このようなスキャンを検出できるのは高度に構成されたIDSシステムのみであるため、実際のシナリオで非常に優れたパフォーマンスを発揮します。

$ sudo nmap -sZ --top-ports 20 -T4 192.168.1.1/24

上記のコマンドは、指定されたサブネットの上位20の共通ポートをスキャンします。よりステルスになり、さらに数分待つのに問題がない場合は、タイミングパラメータを省略できます。

27。アイドルスキャンを使用してリモートホストをスキャンする

ゾンビホストスキャンとも呼ばれるこのタイプのスキャンは、文字通りネットワーク上にゾンビホストを作成し、そのホストから他のホストをスキャンします。

$ sudo nmap -sI 192.168.1.103 192.168.1.101

上記のコマンドでは、192.168.1.103がゾンビホストであり、192.168.1.101がターゲットリモートマシンです。

28。 ARPPingを使用してリモートホストをスキャンする

これは、現時点でリモートホストを検出するための最良のNmapコマンドです。ファイアウォールはARP要求をブロックできないため、これは経験豊富なネットワークテスターに​​とって便利な手法です。

$ sudo nmap -PR 192.168.1.1

ただし、このコマンドを使用する場合は、ローカルネットワークにアクセスできる必要があります。ただし、プロのペネトレーションテスターに​​とっては問題にはなりません。

29。リモートホストへのルートを決定する

経験豊富なシステム管理者であれば、tracerouteをすでに使用している可能性があります。これは、ネットワーク内のターゲットマシンにルートをマッピングする魅力的なUNIXツールです。以下のコマンドは、Nmapからtracerouteを使用する方法を示しています。

$ sudo nmap --traceroute 192.168.1.1

このコマンドは、HOP距離と目的地に到達するまでの時間を出力します。

30。すべてのホストの逆引きDNS解決を無効にする

デフォルトでは、Nmapはオンラインで検出されたホストに対してのみ逆引きDNS解決を実行します。ただし、Nmapのパフォーマンスはかなり低下します。倫理的なハッカーは、クライアントから合法的にDNS情報を取得できるため、通常、すべてのホストでこれをオフにします。

$ nmap -n 192.168.1.1

これにより、検索速度が大幅に向上します。私は通常、-Tの代わりにこれを使用して、匿名性を維持しながら検索速度を維持します。

31。バージョン情報を取得する

以前、OSやその他のサービスのバージョン情報を入手しました。問題は、ほとんどの場合、Nmapがポートに関連付けられたデフォルトのサービスを表示することです。ホストは一部のポートのデフォルトサービスの代わりに他のサービスを使用できるため、これはテスターに​​問題を引き起こす可能性があります。

$ nmap -V 192.168.1.1

このコマンドは、プラットフォーム、コンパイルツールなど、多くの関連情報を表示します。

32。管理バージョン検出

標準の-sVフラグを使用してリモートサービスのバージョン情報を検出する方法を示しました。次のコマンドは、同様のNmapコマンドを使用してバージョン検出を制御する方法を示しています。

$ nmap -sV --version-intensity 5 192.168.1.1

これは非常に積極的なバージョン検出を実行し、リモートホストに警告を発する可能性があります。 –version-intensityオプションの値を下げて、匿名性を高めることができます。ただし、これによりバージョン検出が制限されます。次のコマンドは、指定されたホストのライトバナーグラブを実行します。

$ nmap -sV --version-intensity 1 192.168.1.1

33。 Ipフラグメントを使用してホストをスキャンする

Nmapを使用すると、システム管理者は断片化されたIPパケットを利用してリモートホストをスキャンできます。基本的に、IPパケットを小さな部分に分割し、外部IDS/ファイアウォールを介してそれらを検出することを困難にします。

$ sudo nmap -f 192.168.1.1

以下に示すように、ユーザーは–mtuオプションを使用してパーソナライズされたオフセットを設定することもできます。

$ sudo nmap --mtu 16 192.168.1.1

34。デコイIPアドレスを使用する

ほとんどの商用システムは高度に構成されたファイアウォールによって保護されているため、リモートポートスキャンを非常に高速に検出することがよくあります。これは、セキュリティ監査人と侵入型システムブレーカーの両方にとって問題です。 Nmapを使用すると、ユーザーはおとりIPを使用して、この目的でIDをクローキングできます。

$ nmap --top-ports 10 -D10.1.1.2, 10.1.1.4, 10.1.1.6 192.168.1.1

IPが2番目(10.1.1.4)であり、192.168.1.1をスキャンしていると仮定します。これで、リモートホストはスキャンについて認識しますが、その発信元については確実に知ることができません。

Nmapスクリプティングエンジン(NSE)を活用する

Nmap Scripting Engine(NSE)は、ユーザーが効果的な偵察を実行するために多数の堅牢なスクリプトを利用できるようにする堅牢な機能です。次のセクションでは、NSEスクリプトを利用する一般的なNmapコマンドをいくつか示します。

35。デフォルトの安全なスクリプトを使用する

NSEには、タスクを非常にうまく実行する多数の安全なスクリプトがプリロードされています。次のコマンドは、バージョン検出にデフォルトの安全なスクリプトを利用します。

$ nmap -sV -sC 192.168.1.1

通常、標準オプションではなくNSEスクリプトを使用してスキャンすると、より正確な情報が得られます。上記のコマンドは、Nmapのデフォルトのバージョン検出スクリプトを実行します。

36。特定のNSEスクリプトを使用する

コマンド$locate* .nseを使用して、システムで使用可能なすべてのNSEスクリプトを見つけることができます。これらのスクリプトはLuaを使用して記述されており、ユーザーは必要なパーソナライズされたスクリプトを作成できます。次のコマンドは、 whois-ipと呼ばれる特定のNSEスクリプトを使用します 。

$ nmap --script=whois-ip.nse scanme.nmap.org

ホスト名をターゲットIPに簡単に置き換えて、関連するwhois情報を取得できます。 .nse拡張子は必須ではないことに注意してください。

37。共通ファイル/ディレクトリをスキャンする

http-enum.nse NSEスクリプトは、共通のファイルとディレクトリに対して2000を超えるクエリを送信します。このスクリプトを使用して、既知のサービスがリモートサーバーに存在するかどうかに関する重要な情報を取得できます。

$ nmap -n --script=http-enum.nse 192.168.1.1

このコマンドは、上記のスクリプトを使用して重要なサービス情報を取得しようとします。

38。 HTTPページタイトルを取得する

Nmap http-titleを使用できます リモートWebページのタイトルを取得するためのスクリプト。これは、リモートサーバーのコンテンツを推測するのに非常に役立ちます。以下のコマンドをチェックして、これが実際に動作することを確認してください。

$ nmap --script=http-title 192.168.1.1

このコマンドは、HTTPタイトルをフェッチして表示します。

39。複数のスクリプトカテゴリを使用する

デフォルトでは、NSEスクリプトは、ブルート、ディスカバリー、エクスプロイト、脆弱性などの使用法によって分類されます。以下に示すように、一部のカテゴリに属する​​すべてのスクリプトを使用するようにNmapに指示できます。

$ nmap --script discovery,brute 192.168.1.1

上記のコマンドは、カテゴリの発見と野蛮人に属するすべてのNSEスクリプトを利用します。そのため、利用可能なホストを見つけてブルートフォースを試みます。

40。スクリプトの選択にワイルドカードを使用する

Nmapでは、ワイルドカード文字「*」を使用して、いくつかの条件に一致するすべてのスクリプトを選択できます。次のコマンドは、sshで始まるすべてのスクリプトを利用します。

$ nmap --script "ssh*" 192.168.1.1

これらのタイプのNmapコマンドにオプションを追加して、柔軟性を高めることができます。

41。スクリプトの選択にブール式を使用する

Nmapを使用すると、ユーザーはand、or、notなどのブール式を使用してNSEスクリプトを選択できます。以下のコマンドは、この例をいくつか示しています。

$ nmap --script "not vuln" 192.168.1.1
$ nmap --script "default or broadcast" 192.168.1.1
$ nmap --script /path/to/scripts 192.168.1.1

最初の例では、脆弱性を除くすべてのNSEスクリプトをロードします。 2番目のコマンドは、デフォルトまたはブロードキャストカテゴリのいずれかからスクリプトをロードします。最後の例では、ディレクトリからスクリプトをロードします。パーソナライズされたNSEスクリプトを作成し、この方法でロードできます。

42。スクリプトドキュメントを入手する

Nmapには豊富なデフォルトスクリプトとカスタムスクリプトが用意されているため、それらの詳細を覚えるのは困難です。ありがたいことに、NmapはNSEスクリプトの優れたドキュメントを提供しています。以下のコマンドは、詳細情報のためにそれらを呼び出す方法を示しています。

$ nmap --script-help "ssh-*"
$ nmap --script-help "ssh-*" and "discovery"

最初の例はssh-で始まるすべてのスクリプトのヘルプを示し、2番目の例はssh-onesと一緒に検出スクリプトを示しています。

その他のNmapコマンド

Nmapコマンドを使用すると、ユーザーは多数のオプションを組み合わせることができるため、無限の数のコマンドを簡単に作成できます。以下のセクションで、よく使用されるコマンドの概要を説明します。

43。 Heartbleedの脆弱性を検査する

SSL Heartbleedの脆弱性は、悪意のある攻撃者を開始するためのよく知られた攻撃対象領域です。次のコマンドは、NSEスクリプトのハートブリードを使用して、ホストにこの脆弱性が含まれているかどうかを確認します。

$ nmap -sV -p 443 --script=ssl-heartbleed 192.168.1.1

このコマンドの出力は、ネットワーク管理者が古いSSLサービスをチェックし、侵入を試みる前にパッチを適用するのに役立ちます。

44。 IP情報を取得する

IP情報を掘り起こすことは、リモートの攻撃者がターゲットをチェックするときに最初に行うタスクの1つです。重要なIP情報には、whoisデータ、地理的位置などが含まれます。次のコマンドは、このような受動的な偵察におけるNmapの使用法を示しています。

$ nmap --script=whois*,ip-geolocation-maxmind,asn-query 192.168.1.1

このコマンドは、既製のNSEスクリプトを使用して、リモートホストのwhoisエントリ、ジオロケーション、およびasnクエリに関する情報を検索します。

45。 Nmap出力を保存する

Nmapのデフォルトの出力形式は優れていますが、多くの場合、後で使用するためにスキャン出力を保存することをお勧めします。以下の例からわかるように、非常に簡単です。

$ nmap -oN scan-report -n 192.168.1.1
$ nmap -n 192.168.1.1 > scan-report

最初の例では、リモートホストをスキャンし、出力を現在のディレクトリのscan-reportというファイルに保存します。 2番目の例で示されているように、Unixリダイレクト演算子を使用してこれを行うこともできます。

46。追加の出力フォーマット

ユーザーが出力をより便利にフォーマットできるようにするNmapコマンドがいくつかあります。以下の例は、あなたにとって不可欠なものをいくつか示しています。

$ nmap -oX scan-report.xml -n 192.168.1.1
$ nmap -oG scan-report -n 192.168.1.1
$ nmap -oA scan-report -n 192.168.1.1

1つ目は、スキャン結果をXMLファイルとして保存します。 2番目の例では、grepから簡単にアクセスできる形式で結果を保存します。最後の例は、結果をすべての形式で保存するようにNmapに指示しています。

47。 DDoSリフレクティブUDPサービスをスキャンする

多くの場合、攻撃者はUDPベースのDDoS攻撃を利用して、リモートターゲットを削除します。次のNmapコマンドは、ターゲットネットワークをスキャンしてそのようなDDoSリフレクティブサービスを探し、それらを完全にブロックする方法のヒントを提供します。

$ nmap –sU –A –PN –n –pU:19,53,161 –script=snmp-sysdescr,dns-recursion,ntp-monlist 192.168.1.1

一見複雑に見えますが、それはいくつかのオプションとスクリプトを備えたコマンドに他なりません。

48。 Nmapスキャン結果をNiktoにフィードする

Niktoは、危険なファイル、誤って構成されたCGI、レガシーサーバーなどを検出するために使用される強力な脆弱性スキャナーです。次のコマンドは、Nmapスキャン結果をNiktoにフィードします。

$ nmap --top-ports 10 192.168.1.1/24 -oG - | /path/of/nikto.pl -h -

これで、NiktoはNmapの結果を使用して独自のスキャンを実行します。

49。 NSEスクリプトを使用してバナーを取得する

バナーグラブは、リモートホストで開いているポートのサービス情報を明らかにする、広く使用されている情報収集手法です。以下のコマンドは、NSEバナースクリプトを使用してネットワークのバナーを取得します。

$ nmap --script=banner 192.168.1.1/24

50。 Nmapドキュメントを参照

Nmapは時間の経過とともに大きく成長したため、初心者にとってNmapのすべての機能を覚えておくのはかなり困難です。幸い、Nmapのドキュメントには、この問題でユーザーを開始するのに役立つ優れた情報が記載されています。

$ nmap --help
$ man nmap

最初のコマンドは、Nmapで使用可能なすべてのオプションを提供します。最後のマニュアルを使用して詳細情報を探す場合は、マニュアルを参照してください。

終わりの考え

Nmapコマンドは、多くの人が考えるよりもはるかに強力です。経験豊富なユーザーは、いくつかのコマンドを使用するだけで、脆弱なWebサーバーと関連情報を簡単に見つけることができます。ハッカーは、このような情報を利用してエクスプロイトを作成し、リモートホストを侵害します。そのため、ネットワーク管理者はこれらのことを理解し、インフラストラクチャの問題を修正することが不可欠です。

このようなスキャン技術を使用する際に留意すべきもう1つの重要なことは、合法性です。ほとんどの人は、あなたが自分のネットワークを盗聴するのを嫌がります。したがって、そのようなタスクを実行する前に、常に許可された特権を取得してください。ただし、パーソナル仮想マシンまたはコンテナ化されたプラットフォームでそれらを練習することができます。


Linux
  1. 生産性のための3つの重要なLinuxチートシート

  2. 効果的なプロセス管理のための8つのLinuxコマンド

  3. ネットワーク診断用の10のLinuxコマンド

  1. 一般的なLinuxコマンドのチートシート

  2. 3システム管理者に役立つLinuxコマンド

  3. 初心者と経験者の両方に必須の Linux システム管理本 10 冊

  1. すべてのユーザーに必要な20のLinuxコマンド

  2. ナビゲーションと編集のための25の重要なVimコマンド

  3. システムの非アクティブによるコマンドのスケジューリング?