Nmapでポートスキャンの実験
Kali Linux ツール

セキュリティ

1.目的

Nmapを使いターゲットの空いているポートや、提供しているサービス、OS情報などを収集し、
脆弱なサービスがないか調査します。

基本的な攻撃の流れは以下の通りです。
1.情報調査ツールを使い、ターゲットの情報を収集 ←nmapで収集
2.脆弱なサービスを特定し、侵入

注意事項※
このブログの記事はセキュリティ向上を目的として、自分の所有する機器に実験を行います。
他者の機器やネットワークで試すことは絶対にしないでください。
詳しくはこちら

2.機能

Nmap(Network Mapper)は、ネットワークの調査や監査に使用するツールです。
ネットワーク上の接続可能なホストや実行しているOS、サービスのバージョンなどを
調査することができます。

この調査はセキュリティが正常に機能しているか、確認することを目的としています。
他者のサーバ機器にスキャンを行うと不正アクセスに該当する可能性があるため、注意が必要です。

3.使用方法/オプション

3-1.使用方法

Windowsの場合はnmapをインストールする必要がありますが、
Kali Linuxの場合はデフォルトで使用可能です。

使用方法はターミナルでnmap <ターゲットのIP情報> を入力するだけです。

3-2.オプション例

オプションを追加することで、ポートスキャン方法を変更することができます。

オプション 使い方
-sPPingスキャン
-sV サービスのバージョンを検出
-OOSの特定
-AOSの特定とバージョンを検出
-sTTCP Connect スキャン
-sUUDPスキャン
-oN <file>通常出力

4.実験

攻撃用マシン(Kali Linux)からターゲットマシン(Metasploitable2)へスキャンします。

4-1.実験環境

この実験における環境は、次の通りです。

・Kali Linux(攻撃用マシン)
名前:kali
IPアドレス:192.168.238.128/24

・Metasploitable2(ターゲットマシン)
名前:metasploitable
IPアドレス:192.168.238.130/24


※実験用マシンの準備は以下ご参照ください。

  ・攻撃用マシン(Kali Linux)の構築

  ・ターゲットマシン(Metasploitable2)の構築

4-2.実験開始

攻撃用マシン(Kali Linux)から以下コマンドを実行します。

$ nmap -sP 192.168.238.0/24
─$ nmap -sP 192.168.238.0/24                                                                                                                                                                                                          
Starting Nmap 7.92 ( https://nmap.org ) at 2021-12-13 10:08 EST
Nmap scan report for 192.168.238.2
Host is up (0.00074s latency).
Nmap scan report for 192.168.238.128
Host is up (0.00045s latency).
Nmap scan report for 192.168.238.130 ←ターゲットマシン
Host is up (0.0028s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 2.68 seconds

指定したネットワーク内にIPアドレス 192.168.238.130(ターゲットマシン)が確認できます。


次にターゲットマシンの開いているポート番号、サービス情報とOSの種類を調べます。

$ nmap -sV -O -p- 192.168.238.130

-p-:1番から65535番までのポート番号を対象
-sV:サービスのバージョンを検出
-O:ターゲットのOSを特定

─$ nmap -sV -O -p- 192.168.238.130
Starting Nmap 7.92 ( https://nmap.org ) at 2021-12-13 10:26 EST
Nmap scan report for 192.168.238.130
Host is up (0.00047s latency).
Not shown: 65505 closed tcp ports (reset)
PORT      STATE SERVICE     VERSION
21/tcp    open  ftp         vsftpd 2.3.4
22/tcp    open  ssh         OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp    open  telnet      Linux telnetd
25/tcp    open  smtp        Postfix smtpd
53/tcp    open  domain      ISC BIND 9.4.2
80/tcp    open  http        Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp   open  rpcbind     2 (RPC #100000)
139/tcp   open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp   open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp   open  exec        netkit-rsh rexecd
513/tcp   open  login       OpenBSD or Solaris rlogind
514/tcp   open  tcpwrapped
1099/tcp  open  java-rmi    GNU Classpath grmiregistry
1524/tcp  open  bindshell   Metasploitable root shell
2049/tcp  open  nfs         2-4 (RPC #100003)
2121/tcp  open  ftp         ProFTPD 1.3.1
3306/tcp  open  mysql       MySQL 5.0.51a-3ubuntu5
3632/tcp  open  distccd     distccd v1 ((GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu4))
5432/tcp  open  postgresql  PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp  open  vnc         VNC (protocol 3.3)
6000/tcp  open  X11         (access denied)
6667/tcp  open  irc         UnrealIRCd
6697/tcp  open  irc         UnrealIRCd
8009/tcp  open  ajp13       Apache Jserv (Protocol v1.3)
8180/tcp  open  http        Apache Tomcat/Coyote JSP engine 1.1
8787/tcp  open  drb         Ruby DRb RMI (Ruby 1.8; path /usr/lib/ruby/1.8/drb)
32980/tcp open  java-rmi    GNU Classpath grmiregistry
35878/tcp open  nlockmgr    1-4 (RPC #100021)
38097/tcp open  mountd      1-3 (RPC #100005)
59425/tcp open  status      1 (RPC #100024)
MAC Address: 00:0C:29:FA:DD:2A (VMware)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.9 - 2.6.33
Network Distance: 1 hop
Service Info: Hosts:  metasploitable.localdomain, irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

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

検出されたポート番号のうち、特に気になるものは次の通りです。

・7行目 ポート21:vsfpd
・20行目 ポート1524:Metasploiteble root shell
・26行目 ポート5900:VNC


検出されたポート、サービスを脆弱性調査用のサイトで検索すると、
いくつか脆弱性を確認することができます。

例えば最初に見つけたポート21vsftpd 2.3.4向けのExploitを探すと、
「Backdoor Command Execution」という脆弱性があることがわかりました。
この脆弱性はリモートからコマンド実行を可能とするバックドアが含まれているようです。

ポートスキャンの実験はここまでとなります。

6.まとめ

nmapを使ったポートスキャンにより、脆弱性を発見することができました。
今回はあらかじめ脆弱性のあるホストをターゲットとして実験しましたが、
自身が管理している機器への調査や監査も可能です。

参考サイト、文献

ハッキング ラボのつくりかた 仮想環境におけるハッカー体験学習

価格:6,335円
(2021/12/16 01:03時点)