當用戶對Nessus工具備清晰的認識後,便可使用該工具實施掃描。可是,在掃描以前須要作一些準備工做,如探測網絡中活動的主機、主機中運行的服務及主機的操做系統等。當用戶對一個主機比較熟悉後,進行掃描也就很是容易了。由於對於Nessus工具,針對不一樣的系統、漏洞都提供了相應的插件。若是用戶對目標主機很瞭解的話,使用Nessus工具掃描目標就不會像個無頭蒼蠅似的瞎掃描。並且,能夠更容易獲取到很是有價值的信息了。本章將介紹實施網絡掃描以前的一些準備工做。mysql
發現主機就是探測網絡中活動的主機。發現主機是實施網絡滲透測試的基礎。由於用戶只有先肯定目標主機是活動的,才能夠實施掃描。不然,執行的操做也是浪費時間。 其中,用戶用於發現主機的工具備不少,如Nmap、Scapy、Wireshark等。下面將介紹使用Nmap和Wireshark抓包的方法,實施主機發現操做。ios
Nmap是一款免費開放的網絡掃描和嗅探工具。該工具能夠用來掃描電腦上開放的端口、運行的服務及操做系統等。下面將介紹使用Nmap工具實施發現主機。sql
【示例2-5】使用Nmap工具掃描192.168.1.0/24網絡中活動的主機。執行命令以下所示:windows
Starting Nmap 6.47 ( http://nmap.org ) at 2015-07-02 11:20 CST網絡
Nmap scan report for localhost (192.168.1.1)dom
Host is up (0.00048s latency). #主機是活動的ssh
MAC Address: 14:E6:E4:84:23:7A (Tp-link Technologies CO.)tcp
Nmap scan report for localhost (192.168.1.100)工具
Host is up (0.089s latency).post
MAC Address: 8C:BE:BE:72:D2:64 (Xiaomi Technology Co.)
Nmap scan report for localhost (192.168.1.101)
Host is up (0.00015s latency).
MAC Address: 00:E0:1C:3C:18:79 (Cradlepoint)
Nmap scan report for localhost (192.168.1.103)
Host is up (0.00061s latency).
MAC Address: 00:0C:29:F8:2B:38 (VMware)
Nmap scan report for localhost (192.168.1.104)
Host is up (0.00091s latency).
MAC Address: 00:0C:29:2A:69:34 (VMware)
Nmap scan report for localhost (192.168.1.105)
Host is up (0.00096s latency).
MAC Address: 00:0C:29:DC:09:2A (VMware)
Nmap scan report for localhost (192.168.1.106)
Host is up (0.32s latency).
MAC Address: 14:F6:5A:CE:EE:2A (Xiaomi)
Nmap scan report for localhost (192.168.1.109)
Host is up (0.00060s latency).
MAC Address: 00:0C:29:E9:E3:A6 (VMware)
Nmap scan report for localhost (192.168.1.108)
Host is up.
Nmap done: 256 IP addresses (9 hosts up) scanned in 2.78 seconds
從輸出信息的最後一行能夠看到,192.168.1.0/24網絡中共有九臺活動的主機。在輸出信息中,顯示了活動主機的IP地址、MAC地址、及MAC地址的生產廠商。例如主機192.168.1.1的MAC地址爲14:E6:E4:84:23:7A,生成廠商爲Tp-link Technologies CO。由此,能夠猜想該主機多是一個Tp-link路由器。
抓包就是利用抓包工具,捕獲網絡中的全部數據包。可是,若是僅使用工具抓包的話,只能抓取本機的數據。此時,用戶須要經過集線器或端口鏡像方法來捕獲數據包。下面將介紹這兩種方式捕獲數據包的環境配置。
1.使用集線器
集線器的英文稱爲Hub,是「中心」的意思。集線器的主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把全部節點集中在以它爲中心的節點上。因爲集線器在發送數據時,是沒有針對性的,而是採用廣播方式發送。也就是說,當它要向某節點發送數據時,不是直接把數據發送到目的節點,而是把數據包發送到與集線器相連的全部節點。所以,用戶能夠在局域網的某一主機上開啓抓包工具,便可捕獲到其它主機上傳輸的全部數據,如圖2.1所示。
圖2.45 使用集線器捕獲包的環境配置
以上就是使用集線器,在有線局域網中捕獲數據包的配置環境。上圖表示整個局域網中,有三臺主機同時鏈接在一個集線器上。此時,用戶能夠在任意一臺上運行抓包工具(如Wireshark),便可捕獲到其它兩臺主機上的數據包。若是用戶沒法捕獲到其它主機發送的數據,則說明這些主機不在線。
下面是經過集線器捕獲到的數據包,如圖2.2所示。
圖2.46 捕獲的數據包
從該界面能夠看到,共顯示了七列,分別表示No(包編號)、Time(時間)、Source(源地址)、Destination(目標地址)、Protocol(協議)、Length(長度)和Info(信息)。這裏用戶應該關心的是Source(源地址)列。該列顯示的是全部發送請求的主機地址。那麼,用戶應該如何判斷這些地址,那個是本地局域網中活動主機的地址呢?首先,用戶先肯定本機的IP地址,便可找出局域網中活動主機的地址。在Window系統中,使用ipconfig命令查看主機的IP地址。在Linux系統中,使用ifconfig命令查看。本機中的IP地址信息以下所示:
C:\Users\Administrator>ipconfig
Windows IP 配置
以太網適配器 本地鏈接:
鏈接特定的 DNS 後綴 . . . . . . . :
本地連接 IPv6 地址. . . . . . . . : fe80::f898:1066:74a5:e126%11
IPv4 地址 . . . . . . . . . . . . : 192.168.1.105
子網掩碼 . . . . . . . . . . . . : 255.255.255.0
默認網關. . . . . . . . . . . . . : 192.168.1.1
從輸出信息中,能夠看到本機的IP地址爲192.168.1.105。由此,能夠說明當前主機所在的網絡爲192.168.1.0/24。因此,局域網中其它主機的地址是在192.168.1.0/24範圍內。此時,用戶能夠對捕獲包中的Source列進行排序,而後找出192.168.1.0/24範圍內的地址,也就是該網絡中活動主機的地址。單擊列名Source便可進行排序,如圖2.3所示。
圖2.47 Source列排序後顯示界面
從該界面顯示的結果中,能夠看到Source列有三個屬於192.168.1.0/24範圍內的IP地址。如192.168.1.1、192.168.1.104和192.168.1.105。也就是說,該網絡中這三臺主機是活動的。
2.使用端口鏡像
端口鏡像是路由器和交換機提供的一種功能。當在交換機或路由器上開啓端口鏡像功能的話,將會將一個或多個源端口的數據流量轉發到某一個指定端口來實現對網絡的監聽,指定端口稱之爲「鏡像端口」或「目的端口」。簡單的說,就是其它端口的數據都會被轉發到鏡像端口上。此時,在鏡像端口鏈接的主機上開啓抓包工具,便可捕獲到其它主機的數據包。其中,使用端口鏡像捕獲數據的環境如圖2.4所示。
圖2.48 使用路由器的端口鏡像功能捕獲數據包
按照以上環境配置好網絡,便可開始捕獲數據包。若是捕獲到局域網中其它主機的包,則說明該主機在線。不然,不在線。具體分析方法和前面介紹使用集線器的方法相同。
當肯定網絡中活動的主機時,用戶可使用Nmap探測該主機上開啓了哪些端口,以方便後面進行網絡掃描。
【示例2-6】對目標主機RHEL 6.4進行端口掃描。執行命令以下所示:
root@localhost :~# nmap 192.168.1.104
Starting Nmap 6.47 ( http://nmap.org ) at 2015-07-02 11:30 CST
Nmap scan report for localhost (192.168.1.104)
Host is up (0.00051s latency).
Not shown: 988 filtered ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
443/tcp closed https
445/tcp open microsoft-ds
631/tcp open ipp
3306/tcp open mysql
5432/tcp closed postgresql
MAC Address: 00:0C:29:2A:69:34 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 5.04 seconds
從輸出信息中,能夠看到目標主機中開放的端口,及端口對應的服務。例如,21端口的服務是FTP、22端口的服務是SSH服務。
【示例2-7】掃描目標主機Windows XP中開放的端口。執行命令以下所示:
root@localhost :~# nmap 192.168.1.109
Starting Nmap 6.47 ( http://nmap.org ) at 2015-07-02 14:22 CST
Nmap scan report for localhost (192.168.1.109)
Host is up (0.00049s latency).
Not shown: 989 closed ports
PORT STATE SERVICE
21/tcp open ftp
25/tcp open smtp
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
1025/tcp open NFS-or-IIS
1027/tcp open IIS
3389/tcp open ms-wbt-server
5000/tcp open upnp
MAC Address: 00:0C:29:E9:E3:A6 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.39 seconds
從輸出信息中,能夠看到目標主機中開放的端口,如21、25、80等。
指紋識別是識別系統的一個典型模式,包括指紋圖像獲取、處理、特徵提取和比對等模塊。一般,指紋識別包括服務指紋信息和操做系統指紋信息。其中,服務指紋信息包括服務端口、服務名、版本及提供商等;操做系統指紋信息包括系統的版本、內核版本等。經過指紋識別,根據獲取的信息能夠判斷出該主機是否存在漏洞,以便用戶在後面實施掃描。
【示例2-8】識別目標主機RHEL 6.4中,全部服務的指紋信息。執行命令以下所示:
root@localhost :~# nmap 192.168.1.104 -sV
Starting Nmap 6.47 ( http://nmap.org ) at 2015-07-02 14:26 CST
Nmap scan report for localhost (192.168.1.104)
Host is up (0.00053s latency).
Not shown: 988 filtered ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.2.2
22/tcp open ssh OpenSSH 5.3 (protocol 2.0)
25/tcp open smtp Postfix smtpd
53/tcp open domain
80/tcp open http Apache httpd 2.2.15 ((Red Hat))
111/tcp open rpcbind 2-4 (RPC #100000)
139/tcp open netbios-ssn Samba smbd 3.X (workgroup: MYGROUP)
443/tcp closed https
445/tcp open netbios-ssn Samba smbd 3.X (workgroup: MYGROUP)
631/tcp open ipp CUPS 1.4
3306/tcp open mysql MySQL 5.1.66
5432/tcp closed postgresql
MAC Address: 00:0C:29:2A:69:34 (VMware)
Service Info: Host: mail.benet.com; OS: Unix #主機名爲mail.benet.com;操做系統爲Unix
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 16.16 seconds
從輸出信息中能夠看到顯示了四列信息,分別是PORT(端口)、STATE(狀態)、SERVICE(服務)和VERSION(版本)。從VERSION列能夠看到服務的版本和提供商。例如,FTP服務的端口爲21,版本爲2.2.2、提供商是vsftpd。
【示例2-9】對目標主機Windows XP實施操做系統指紋識別。執行命令以下所示:
root@localhost :~# nmap -O 192.168.1.109
Starting Nmap 6.47 ( http://nmap.org ) at 2015-07-02 14:54 CST
Nmap scan report for localhost (192.168.1.109)
Host is up (0.00028s latency).
Not shown: 989 closed ports
PORT STATE SERVICE
21/tcp open ftp
25/tcp open smtp
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
1025/tcp open NFS-or-IIS
1027/tcp open IIS
3389/tcp open ms-wbt-server
5000/tcp open upnp
MAC Address: 00:0C:29:E9:E3:A6 (VMware)
Device type: general purpose #設備類型
Running: Microsoft Windows 2000|XP #運行的操做系統
OS CPE: cpe:/o:microsoft:windows_2000::- cpe:/o:microsoft:windows_2000::sp1 cpe:/o:microsoft:windows_2000::sp2 cpe:/o:microsoft:windows_2000::sp3 cpe:/o:microsoft:windows_2000::sp4 cpe:/o:microsoft:windows_xp::- cpe:/o:microsoft:windows_xp::sp1 #操做系統中央處理單元
OS details: Microsoft Windows 2000 SP0 - SP4 or Windows XP SP0 - SP1 #操做系統詳細信息
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 1.91 seconds
以上輸出信息顯示了操做系統相關的信息。如開放的端口、設備類型、運行的操做系統類型、中央處理單元及網絡距離等。例如,設備類型爲general|purpose、運行的操做系統爲Microsoft Windows 2000/XP等。從操做系統詳細信息行,能夠看到該系統的補丁包多是Windows 2000 SP0-SP4或Windows XP SP0-SP1。
(評估設置)、REPORT(報告設置)、ADVANCED(高級設置)、Credentials(證書)和Plugins(插件)進行設置。這些設置選項能夠前面介紹的策略配置項是相同的,因此這裏再也不贅述。下面將介紹一下Schedule和Email Notifications選項的設置。其中,Schedule選項的設置界面如圖4.33所示。
圖2.49 Schedule配置
該界面是用來設置是否啓用Schedule功能,默認是禁用的。若是用戶但願啓用該功能的話,則單擊圖標。啓用後,顯示界面如圖4.34所示。
圖2.50 設置Schedule
從該界面能夠看到啓用Schedule後,有三個配置項可進行設置。下面將對每一個配置項的含義進行介紹,以下所示:
q Launch:該選項是用來設置啓動Schedule的時間。默認是Once,表示一次。用戶還能夠選擇設置Daily(天天)、Weekly(每週)、Monthly(每個月)或Yearly(每一年)。
q Starts On:該選項表示Schedule功能的開啓時間。
q Timezone:該選項是用來設置時區的。
q Summary:顯示了以上配置的摘要信息。
以上功能配置完後,單擊Save按鈕保存。Email Notifications選項的配置界面如圖4.35所示。
圖2.51 Email Notifications設置
該界面是用來設置是否啓用郵件通知。可是,若是要配置該選項,則須要配置SMTP服務,不然將不會向郵件接收者發送通知。
本文選自:Nessus漏洞掃描基礎教程大學霸內部資料,轉載請註明出處,尊重技術尊重IT人!