[Kali Linux] Nmap (Network Mapper) ~解放ポートの調査~


Nmap(Network Mapper)は、ネットワークディスカバリーとセキュリティ監査のためのフリーでオープンソース(ライセンス)のユーティリティです。また、多くのシステム管理者やネットワーク管理者は、ネットワークのインベントリ、サービスのアップグレードスケジュールの管理、ホストやサービスの稼働時間の監視などの作業にもNmapを活用しています。Nmapは、生のIPパケットを斬新な方法で使用して、ネットワーク上で利用可能なホスト、ホストが提供しているサービス(アプリケーション名とバージョン)、ホストが実行しているオペレーティングシステム(およびOSバージョン)、使用されているパケットフィルタ/ファイアウォールの種類、その他数多くの特徴を把握する。Nmapは、大規模なネットワークを迅速にスキャンするために設計されていますが、単一のホストに対しても問題なく動作します。Nmapスイートには、従来のコマンドラインのNmap実行ファイルに加えて、高度なGUIと結果ビューア(Zenmap)、柔軟なデータ転送、リダイレクト、デバッグツール(Ncat)、スキャン結果を比較するユーティリティ(Ndiff)、パケット生成・応答解析ツール(Nping)が含まれている。
 

Nmapは、Linux Journal、Info World、LinuxQuestions.Org、Codetalker Digestの各誌で「Security Product of the Year」に選ばれた。また、「The Matrix Reloaded」、「Die Hard 4」、「Girl With the Dragon Tattoo」、「The Bourne Ultimatum」など、12本の映画にも登場している。

Nmapの特徴

  • フレキシブル:IPフィルタ、ファイアウォール、ルータなどの障害物で満たされたネットワークをマッピングするための何十もの高度な技術をサポートします。これには、多くのポートスキャンメカニズム(TCPとUDPの両方)、OS検出、バージョン検出、Pingスイープなどが含まれます。ドキュメントのページをご覧ください。

  • パワフル:Nmapは、文字通り何十万台ものマシンからなる巨大なネットワークのスキャンに使われてきた。

  • ポータブル:Linux、Microsoft Windows、FreeBSD、OpenBSD、Solaris、IRIX、Mac OS X、HP-UX、NetBSD、Sun OS、Amigaなど、ほとんどのOSに対応している。

  • 簡単:Nmapはパワーユーザ向けの高度な機能を豊富に備えているが、最初は「nmap -v -A targethost」程度の簡単な操作で始められる。従来のコマンドライン版とグラフィカル(GUI)版の両方が用意されているので、好みに応じて使い分けることができる。Nmapをソースからコンパイルしたくない人のために、バイナリも用意されている。

  • フリー:Nmapプロジェクトの主な目標は、インターネットの安全性を少しでも高めること、および管理者/監査人/ハッカーにネットワークを調査するための高度なツールを提供することである。Nmapは無料でダウンロードでき、完全なソースコードも付属しているので、ライセンスの条件に従って変更したり再配布したりすることができる。

  • ドキュメントが充実:包括的で最新のマニュアルページ、ホワイトペーパー、チュートリアル、さらには書籍に至るまで、多大な努力が払われている。複数の言語で提供されていますので、ぜひご覧ください。

  • サポート:Nmapには保証がついていないが、開発者とユーザの活気あるコミュニティによって十分にサポートされている。サポートのほとんどは、Nmapのメーリングリストで行われている。ほとんどのバグレポートや質問は、nmap-devメーリングリストに送るべきですが、ガイドラインを読んだ後にしてください。すべてのユーザーには、トラフィックの少ないnmap-hackersアナウンスメントリストを購読することをお勧めします。また、NmapはFacebookやTwitterでもご覧いただけます。リアルタイムのチャットは、FreenodeまたはEFNetの#nmapチャンネルに参加してください。

  • 賞を受賞:Nmapは、Linux Journal、Info World、Codetalker Digestの「Information Security Product of the Year」など、数多くの賞を受賞している。また、何百もの雑誌記事、いくつかの映画、何十冊もの書籍、1つのコミックシリーズでも紹介されている。詳細はプレスページをご覧ください。

  • 人気がある:毎日、何千人もの人々がNmapをダウンロードしており、多くのオペレーティングシステム(Redhat Linux、Debian Linux、Gentoo、FreeBSD、OpenBSDなど)に搭載されている。また、Freshmeat.Netのリポジトリでは、(30,000個のうちの)上位10個のプログラムに入っている。このことは、Nmapの開発およびユーザサポートコミュニティが活発であることを意味している。


 ターゲットIP(59.152.32.35)の解放ポート検索例

# nmap 59.152.32.35
Starting Nmap 7.91 ( https://nmap.org ) at 2021-04-07 20:02 JST
Nmap scan report for 59.152.32.35
Host is up (0.052s latency).
Not shown: 993 closed ports
PORT    STATE    SERVICE
22/tcp  open     ssh
80/tcp  open     http
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
179/tcp open     bgp
443/tcp open     https
445/tcp filtered microsoft-ds

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


ターゲットIP(59.152.32.35)の検索例 ※バージョン情報も取得するパターン

# nmap -sV 59.152.32.35
Starting Nmap 7.91 ( https://nmap.org ) at 2021-04-07 20:03 JST
Nmap scan report for 59.152.32.35
Host is up (0.050s latency).
Not shown: 993 closed ports
PORT    STATE    SERVICE      VERSION
22/tcp  open     ssh          OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
80/tcp  open     http         nginx
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
179/tcp open     tcpwrapped
443/tcp open     ssl/http     nginx
445/tcp filtered microsoft-ds
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 15.81 seconds


ー2021/12/29追記ー

A little bit about Nmap

Nmapコマンドを簡単にまとめます。

Scan typeCommand
Discovery - ARP Scansudo nmap -PR -sn Target_IP/24
Discovery - ICMP Echo Scansudo nmap -PE -sn Target_IP/24
Discovery - ICMP Timestamp Scansudo nmap -PP -sn Target_IP/24
Discovery - ICMP Address Mask Scansudo nmap -PM -sn Target_IP/24
Discovery -TCP SYN Ping Scansudo nmap -PS22,80,443 -sn Target_IP/30
Discovery - TCP ACK Ping Scansudo nmap -PA22,80,443 -sn Target_IP/30
Discovery - UDP Ping Scansudo nmap -PU53,161,162 -sn Target_IP/30
Port Scan - TCP Connect Scannmap -sT Target_IP
Port Scan - TCP SYN Scansudo nmap -sS Target_IP
Port Scan - UDP Scansudo nmap -sU Target_IP
Port Scan - TCP Null Scansudo nmap -sN Target_IP
Port Scan - TCP FIN Scansudo nmap -sF Target_IP
Port Scan - TCP Xmas Scansudo nmap -sX Target_IP
Port Scan - TCP Maimon Scansudo nmap -sM Target_IP
Port Scan - TCP ACK Scansudo nmap -sA Target_IP
Port Scan - TCP Window Scansudo nmap -sW Target_IP
Port Scan - Custom TCP Scansudo nmap --scanflags URGACKPSHRSTSYNFIN Target_IP
Port Scan - Spoofed Source IPsudo nmap -S SPOOFED_IP Target_IP
Port Scan - Spoofed MAC Addresssudo nmap -sT --spoof-mac SPOOFED_MAC Target_IP
Port Scan - Decoy Scansudo nmap -D DECOY_IP,Target_IP
Port Scan - Idle (Zombie) Scansudo nmap -sI ZOMBIE_IP Target_IP
Port Scan - Fragment IP data into 8 bytes-f
Port Scan - Fragment IP data into 16 bytes-ff
Port Scan - Service Detectionsudo nmap -sV --version-light Target_IP
Port Scan - OS Detectionsudo nmap -sS -O Target_IP
Port Scan - Traceroutesudo nmap -sS --traceroute Target_IP
Port Scan - Default scriptssudo nmap -sS -sC Target_IP
Port Scan - FTP Brute force scriptssudo nmap -sS -n --script "ftp-brute" Target_IP

すべての有用なパラメータの概要、パラメータを含む表。

OptionMeaning
-snhost discovery only
-nno DNS lookup
-RDNS lookup for all hosts
-p-scan all ports
-p1-1023port range, from 1 to 1023
-Ftop 100 most common ports
-rscan ports in consecutive order
-T<0-5>scan timing, T0 - slowest, T5 fastest
--max-rate 20rate <= 20 packets/sec
--min-rate 10rate >= 15 packets/sec
-vverbose mode
-vvvery verbose mode
-ddebugging
-dddetailed debugging
--reasonadd more info from Nmap about decision it takes
-sVversion of service detected on open port
-sV --version-lightamount of version probes (2)
-sV --version-allall available probes (9)
-Odetect OS
--tracerouterun traceroute to target
--script=SCRIPTSNmap scripts to run
-sC or --script=defaultrun default scripts
-Aequivalent to -sV -O -sC --traceroute
-oNsave output in normal format
-oGsave output in grepable format
-oXsave output in XML format
-oAsave output in normal, XML and Grepable formats

使用例

# sudo nmap -O -sV --version-intensity 5 --traceroute -oA /tmp/scan_output 192.168.1.1

ー2024/3/18追記ー

Nmapチートシート