nmapでポートスキャン

Ubuntunmapを使用するには、先ず以下のようにインストールを行う。

$ sudo aptitude install nmap

試しに、LAN内(192.168.1.0/24)にpingスイープを実行してみる。

$ nmap -sP 192.168.1.0/24                                    

Starting Nmap 4.20 ( http://insecure.org ) at 2008-03-06 21:06 JST
Host 192.168.1.1 appears to be up.
Host mikuru (192.168.1.50) appears to be up.
Host haruhi (192.168.1.100) appears to be up.
Host server (192.168.1.120) appears to be up.
Host nagato (192.168.1.150) appears to be up.
Nmap finished: 256 IP addresses (5 hosts up) scanned in 2.255 seconds

この結果では、5ホストが検出された。

次は、server (192.168.1.120)をターゲットにして、このマシンで稼動しているサービスなどを調査してみる。
先ずは、どのポートがオープンしているか調査。ポートはある程度の範囲に絞って調査してみる。

$ sudo nmap -sS 192.168.1.120 -p 21-3306

Starting Nmap 4.20 ( http://insecure.org ) at 2008-03-06 21:12 JST
Interesting ports on server (192.168.1.120):
Not shown: 3276 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
110/tcp  open  pop3
139/tcp  open  netbios-ssn
143/tcp  open  imap
443/tcp  open  https
445/tcp  open  microsoft-ds
3306/tcp open  mysql
MAC Address: 00:01:80:**:**:** (AOpen)

Nmap finished: 1 IP address (1 host up) scanned in 0.317 seconds

ここでは、21番〜3306番までの範囲で調査。なお、-sS のオプションを付けることによってステルススキャンを実施している。このオプションを付けて実施するにはroot権限が必要となる。

次に、開いていたポートで稼動しているサービスをより詳細に調査してみる。

$ sudo nmap -sS -sV 192.168.1.120 -P0 -p 21,22,80,110,143,3306

Starting Nmap 4.20 ( http://insecure.org ) at 2008-03-06 21:15 JST
Interesting ports on server (192.168.1.120):
PORT     STATE SERVICE VERSION
21/tcp   open  ftp     vsftpd or WU-FTPD
22/tcp   open  ssh     OpenSSH 4.3 (protocol 2.0)
80/tcp   open  http    Apache httpd
110/tcp  open  pop3    Dovecot pop3d
143/tcp  open  imap    Dovecot imapd
3306/tcp open  mysql   MySQL (unauthorized)
MAC Address: 00:01:80:**:**:** (AOpen)

Service detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .
Nmap finished: 1 IP address (1 host up) scanned in 6.278 seconds

ここでは適当にポートをピックアップして指定し、それらに対して調査を実施している。各サービスでどのようなアプリケーションを使っているかが分かってしまった。
オプション -sV を付けることによって、どのようなサービスが稼動しているかチェックができる。-P0 はホストの発見を省略するオプション。既に192.168.1.120でマシンが稼動していることが分かっているのでこのオプションを付けた。