Nmap。 使用を開始

画像

システムでどのポートが開いているかを攻撃者がどのように知っているのか疑問に思ったことはありませんか? または、管理者に問い合わせずにサーバーで実行されているアプリケーションを確認する方法はありますか? Nmapと呼ばれる小さなツールを使用して、これらすべてを実行できます。





nmapとは何ですか? Nmapという名前は「ネットワークマッパー」の略で、nmap自体はネットワークをスキャンするためのツールのセットです。 これは、セキュリティのチェック、ノードで実行されているサービスの判別、OSとアプリケーションの識別、スキャンされたノードで使用されているファイアウォールのタイプの判別に使用できます。

Nmapは有名なツールです。 Nmapについて詳しく知ると、Matrix Reloaded、Bourne Ultimatum、Hottabychなどの映画のエピソードで彼が何をしているのかがすぐにわかります。

このチュートリアルでは、Nmapの使用の基本について説明し、使用できる例をいくつか示します。



nmapはどこで入手できますか?


Linuxを使用している場合、ほとんどのディストリビューションのリポジトリでNmapパッケージを見つけることができます。 Nmapの最新リリースは2010年初頭にリリースされたため、最新バージョンは現在の安定ブランチに含まれていない可能性があります。 ダウンロードページでソースとバイナリアセンブリを見つけることができますWindowsバージョンもあります。



Nmapの使用の基本。


Nmapの構文は次のとおりです。



nmap _ _.







ノードをスキャンし、どのオペレーティングシステムが実行されているかを調べたいとします。 これを行うには、次を実行します。



nmap -O target.host.com







このタイプのスキャンを実行するには、Nmapにスーパーユーザー特権が必要であることに注意してください。 スキャンプロセスには約1分かかることがありますので、しばらくお待ちください。 プロセスが終了すると、次のようなものが表示されます。



Starting Nmap 5.21 ( nmap.org ) at 2010-02-27 23:52 EST

Nmap scan report for 10.0.0.1

Host is up (0.0015s latency).

Not shown: 997 closed ports

PORT STATE SERVICE

53/tcp open domain

5009/tcp open airport-admin

10000/tcp open snet-sensor-mgmt

MAC Address: 00:11:24:6B:43:E2 (Apple Computer)

Device type: WAP|printer

Running: Apple embedded, Canon embedded, Kyocera embedded, Xerox embedded

OS details: VxWorks: Apple AirPort Extreme v5.7 or AirPort Express v6.3; Canon imageRUNNER printer (5055, C3045, C3380, or C5185); Kyocera FS-4020DN printer; or Xerox Phaser 8860MFP printer

Network Distance: 1 hop









ご覧のとおり、Nmapは多くの情報を提供します。 ここでは、ホストで実行されていたオペレーティングシステムに関する仮定が表示されます。 この場合、Apple Airport Extrimeルーターがスキャンされました。 追加のボーナスとして、Nmapは、デバイスがホップから離れているだけでなく、デバイスとネットワークカードの製造元のMACアドレス、開いているポート、スキャンにかかった時間を報告しました。

以下は、Ubuntu 9.10を実行しているホームコンピューターでの別のスキャンの結果です。



Starting Nmap 5.21 ( nmap.org ) at 2010-02-28 00:00 EST

Nmap scan report for 10.0.0.6

Host is up (0.0039s latency).

Not shown: 999 closed ports

PORT STATE SERVICE

22/tcp open ssh

MAC Address: 00:17:08:2A:D6:F0 (Hewlett Packard)

Device type: general purpose

Running: Linux 2.6.X

OS details: Linux 2.6.19 - 2.6.31

Network Distance: 1 hop



OS detection performed. Please report any incorrect results at nmap.org/submit .

Nmap done: 1 IP address (1 host up) scanned in 3.40 seconds









ここでは、システムにHPネットワークカードがあり、Linuxはバージョン2.6.19と2.6.31の間で実行されています。 ところで、ディストリビューションを明示的に識別することはできず、Linuxカーネルのバージョンのみを識別できます。



外部ノードをスキャンします。



上記の例では、ローカルルーターとワークステーションの1つがスキャン対象として選択されました。これは、それらをスキャンする権利があるためです。 ただし、他のノードを制御しない場合やスキャンする権限がない場合は、他のノードの複数のスキャンを実行することはお勧めできません。 実験のために、Nmapには公開テストサーバーscanme.nmap.orgがあり、これを使用できます。

多くの管理者は、サーバーの不正なスキャンを好まないため、最善のオプションは、ローカルネットワーク上のノードまたはスキャン権限を持つノードのスキャンを制限することです。 また、場合によっては、特に積極的なNmapスキャン方法を使用するときにプロバイダーとの契約を破ることがありますので、注意してください。



複数のノードをスキャンします。



nmapを使用して、一度に複数のノードをスキャンできます。 IPアドレスでスキャンする場合、範囲10.0.0.1-6または10.0.0.0/24を決定できます範囲10.0.0.1-6を使用すると、10.0.0.1から10.0.0.6のノードがスキャンされます。 / 24の定義を使用すると、10.0.0.0から10.0.0.255のノードの範囲全体がスキャンされます。 たとえば、10.0.0.1から10.0.0.42のノードをスキャンし、どのOSが実行されている可能性があるかを調べる必要がある場合は、次を使用します。



nmap –O 10.0.0.1-42







IPアドレスの代わりにドメイン名のリストがある場合は、次のようにコマンドラインでそれらを分離できます。



nmap -O host1.target.com host2.target.com







開いているポートを確認する



オプションをまったく指定せずにnmapを実行し、ノードを指定すると、ポートがスキャンされ、見つかったすべての開いているポートとそれらで実行されているサービスが表示されます。 たとえば、次を実行します。

nmap target.hostname.com





その後、彼は次のようなものを発行する必要があります。



Interesting ports on target.hostname.com (10.0.0.88):

Not shown: 1711 closed ports

PORT STATE SERVICE

22/tcp open ssh

80/tcp open http

3306/tcp open mysql



Nmap done: 1 IP address (1 host up) scanned in 0.228 seconds









-v(詳細)オプションを使用すると、Nmapは詳細情報を提供します。



実行中のサービスをスキャンする



おそらく実行されているサービスを知りたい場合は、-sVオプションを試してください。 このオプションは、より積極的なスキャンを実行し、このノードで実行されているサービスのバージョンを見つけようとします。また、実行されているOSをより正確に判断するのにも役立ちます。 たとえば、テストサーバーでnmap –sVを実行し、次の答えを取得します。



Starting Nmap 5.21 ( nmap.org ) at 2010-02-28 00:15 EST

Nmap scan report for test.host.net (XX.XXX.XXX.XX)

Host is up (0.090s latency).

Not shown: 965 closed ports, 33 filtered ports

PORT STATE SERVICE VERSION

22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1.2 (protocol 2.0)

80/tcp open http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.10 with Suhosin-Patch)

Service Info: OS: Linux



Service detection performed. Please report any incorrect results at nmap.org/submit .

Nmap done: 1 IP address (1 host up) scanned in 11.43 seconds









ご覧のとおり、Nmapはパッケージを分析し、SSHおよびHTTPポートで実行中のアプリケーションのバージョンを判別できます。 ポーリングされているシステムは、Apache 2.2.8およびOpenSSH 4.7p1を備えたUbuntuであることがわかります。 この情報は、いくつかの理由で役立つ場合があります。 Nmapスキャンは、既知のエクスプロイトに対して脆弱である可能性のある古いサービスを実行しているシステムを識別することができます。



私のネットワークには誰がいますか?



ネットワーク上にいくつのオンラインノードがあるかわかりませんか? 指定されたネットワークのpingスキャンを開始するnmap –sPを使用してみてください。 たとえば、nmap –sP 10.0.0.0/24は、10.0.0.0から10.0.0.255までの256個のノードをスキャンして、使用可能かどうかを確認して報告します。 たとえば、範囲を使用することもできます。



nmap –sP 10.0.0.1-15







Zenmap



最後に、これらすべてのコマンドラインの喜びがあなたのためではない場合、nmapには、コマンドを構築および実行するために使用できるGUIがあります。 Zenmapと呼ばれます。 ターゲットを選択し、スキャンを開始し、結果を表示し、それらを保存して他のユーザーと比較することができます。

Zenmap GUIは、Nmapを理解するための良い方法ですが、Nmapを頻繁に使用する場合は、コマンドラインでNmapを使用する方法を知っておくのが最善です。

将来のガイドでは、Nmapと解決可能な特定のタスクについて詳しく見ていきます。



この投稿は、 初心者向けガイドのNmapへの無料翻訳です。 ご清聴ありがとうございました。



All Articles