nmapでポートスキャン
Ubuntuでnmapを使用するには、先ず以下のようにインストールを行う。
$ 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でマシンが稼動していることが分かっているのでこのオプションを付けた。