現在一些便攜式計算機操作系統使用指紋識別來驗證密碼進行登錄。指紋識別是識別系統的一個典型模式,包括指紋圖像獲取、處理、特征提取和對等模塊。如果要做滲透測試,需要了解要滲透測試的操作系統的類型才可以。本節將介紹使用Nmap工具測試正在運行的主機的操作系統。
4.5.1 使用Nmap工具識別系統指紋信息
使用Nmap命令的-O選項啟用操作系統測試功能。執行命令如下所示:
root@kali:~# nmap -O 192.168.41.136
Starting Nmap 6.40 ( http://nmap.org ) at 2014-04-19 19:20 CST
Nmap scan report for www.benet.com (192.168.41.136)
Host is up (0.00045s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
MAC Address: 00:0C:29:31:02:17 (VMware) //MAC地址
Device type: general purpose
Running: Linux 2.6.X|3.X
OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3 //操作系統類型
OS details: Linux 2.6.32 - 3.9
Network Distance: 1 hop
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.18 seconds
輸出的信息顯示了主機192.168.41.136的指紋信息,包括目標主機打開的端口、MAC地址、操作系統類型和內核版本等。
4.5.2 指紋識別工具p0f
p0f是一款百分之百的被動指紋識別工具。該工具通過分析目標主機發出的數據包,對主機上的操作系統進行鑒別,即使是在系統上裝有性能良好的防火牆也沒有問題。p0f主要識別的信息如下:
- 操作系統類型;
- 端口;
- 是否運行於防火牆之后;
- 是否運行於NAT模式;
- 是否運行於負載均衡模式;
- 遠程系統已啟動時間;
- 遠程系統的DSL和ISP信息等。
使用p0f分析Wireshark捕獲的一個文件。執行命令如下所示:
輸出的信息是p0f分析targethost.pcap包的一個結果。該信息中顯示了客戶端與服務器的詳細信息,包括操作系統類型、地址、以太網模式、運行的服務器和端口號等。
注意:p0f命令的v2和v3版中所使用的選項有很大的差別。例如,在p0fv2版本中,指定文件使用的選項是-s,但是在v3版本中是-r。本書中使用的p0f版本是v3。