今天來簡單介紹一下 Nmap 這個強大的網路枚舉 ( Network Enumeration ) 工具和 FTP 這個遠古的檔案傳輸協定。
前面提到 Nmap 是網路枚舉的工具,那這個網路枚舉的意思是什麼 ?
網路枚舉這個詞其實是從英文的 Network Enumeration 直翻過來的,簡單來講就是可以針對一個或多個網路上的裝置來列舉出這個裝置的各種資訊 。
舉例來說 Nmap 可以找出特定範圍 ( 網段 ) 中有多少台裝置,這些裝置可能是什麼系統.開啟了多少 Port,這些 Port 上分別跑什麼樣的服務甚至可以找出服務的版本等等詳細資訊。
找到這些資訊後我們就可以透過去尋找特定服務的特定版本有什麼公開漏洞,來做進一步的測試及概念驗證 ( PoC )。
Nmap 最簡單的用法為直接對目標做掃描 ( 不加選項 )
nmap [IP位址]
nmap 192.168.31.131
Starting Nmap 7.95 ( https://nmap.org ) at 2026-09-16 10:33 EDT
Nmap scan report for 192.168.31.131
Host is up (0.0041s latency).
Not shown: 977 closed tcp ports (reset)
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
512/tcp open exec
513/tcp open login
514/tcp open shell
1099/tcp open rmiregistry
1524/tcp open ingreslock
2049/tcp open nfs
2121/tcp open ccproxy-ftp
3306/tcp open mysql
5432/tcp open postgresql
5900/tcp open vnc
6000/tcp open X11
6667/tcp open irc
8009/tcp open ajp13
8180/tcp open unknown
MAC Address: 00:0C:29:37:BF:EF (VMware)
Nmap done: 1 IP address (1 host up) scanned in 2.29 seconds
註 : 預設掃描是掃描 1000 個最常見的 Port
這邊可以看到幾個資訊
Host is up (0.0041s latency). : 指的就是掃瞄的目標是開啟並連網的狀態。Not shown: 977 closed tcp ports (reset) : 這邊則是常見的 1000 個 Port 中有 977 個是關閉的狀態。PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
512/tcp open exec
513/tcp open login
514/tcp open shell
1099/tcp open rmiregistry
1524/tcp open ingreslock
2049/tcp open nfs
2121/tcp open ccproxy-ftp
3306/tcp open mysql
5432/tcp open postgresql
5900/tcp open vnc
6000/tcp open X11
6667/tcp open irc
8009/tcp open ajp13
8180/tcp open unknown
MAC Address: 00:0C:29:37:BF:EF (VMware) : 這邊為目標的 MAC 位址 後面寫著 ( VMware ) 是因為是用 VMware 架起來的,用的網卡是 VMware 的虛擬網卡。透過這些資訊我們就可以整理出幾個可用的情報,首先這個目標是開啟的狀態,這樣我們就可以嘗試對他做一些動作 ( 關閉的話存取不到他當然也就什麼都做不了 ) ,再來則是目標有開哪些 Port 而它們各自跑的服務是什麼。
而只知道他的服務通常也不能做什麼,這時候我們就可以來使用 Nmap 的 Service Scan ( 服務掃瞄 ) ,來找出更詳細的資訊。
nmap -sV [IP位址]
-sV : 服務掃瞄,可以獲得開放連接埠的更多可用資訊,如版本、服務名稱以及目標系統的詳細資訊 ( 不一定 100% 是正確還需要再做進一步的檢查及測試 )。nmap 192.168.31.131 -sV
Starting Nmap 7.95 ( https://nmap.org ) at 2026-09-16 10:59 EDT
Nmap scan report for 192.168.31.131
Host is up (0.0032s latency).
Not shown: 977 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
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
8009/tcp open ajp13 Apache Jserv (Protocol v1.3)
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1
MAC Address: 00:0C:29:37:BF:EF (VMware)
Service Info: Hosts: metasploitable.localdomain, irc.Metasploitable.LAN; OSs: Unix, 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 11.75 seconds
這邊跟剛剛有所不同的是列表多出了一個版本的欄位跟多出了一些其他的敘述,先來講版本的部分,這邊我們針對 21 Port 的 FTP 服務來討論他的版本寫著 vsftpd 2.3.4 ,這時我們就可以去查詢看看 FTP 的這個版本有沒有什麼公開的漏洞
21/tcp open ftp vsftpd 2.3.4
簡單搜尋一下就可以看到 vsftpd 2.3.4 這個版本有一個非常知名的漏洞 ( CVE-2011-2523 ) 之後我們就可以來嘗試利用這個漏洞,我這邊因為篇幅關係就先不演示,後面有機會再來賦現看看。
補充 : 上面提到的 CVE-2011-2523 是這個漏洞的編號,CVE 是公開的漏洞資料庫只要有新的漏洞出來,CVE 官方就會建立一個編號來代表這個漏洞,中間的號碼是代表漏洞被登記的那個年份,後面的序號則是流水號。
上面剛好有提到一個 FTP 的上古漏洞,這邊就來介紹一下 FTP 這個協定。
FTP ( File Transfer Protocol ) ,直翻就是檔案傳輸協定,就如同字面上的意思,這個協定是用來做檔案傳輸,傳輸是按照 Client - Server 的架構,客戶端向伺服器提出請求,伺服器再決定是否要回應請求傳輸檔案給客戶端。
在現代 FTP 已經是被淘汰的檔案傳輸用的協定,最主要的原因就是安全性的部分,由於 FTP 傳輸資料是用 明文 ( Plain Text ) 方式來傳輸,若是有第三方側錄封包就能夠直接取得傳輸的內容。
所以現在大多使用 SFTP 來做替代方案,多出的 S 可以稱為 SSH 或 Secure ,透過 SSH 的擴充來做到傳輸的加密以確保,第三方沒辦法直接知道傳輸的內容。
這次提到了 Nmap 這個在滲透測試中一個很好用的工具,Nmap 目前只有介紹皮毛甚至不到的量,但基本上只要會這兩個用法也是可以做得非常多事了,後面也會有一個模組是專門介紹 Nmap 的有興趣的讀者就請再期待期待拉 ( 希望我可以堅持寫到結束! ),今天後面還有提到一點點的 FTP 也算是補了一點其他知識,資安就是這樣東西多到爆炸,有機會就看一下留個印象,之後有需要的時候就會想起來有看過,有總比沒有好嘛,那今天就到這邊謝謝大家,明天見!