企業(yè)網(wǎng)絡(luò)用開源安全工具挖掘漏洞漫談
原創(chuàng)【51CTO.com獨(dú)家特稿】俗話說得好:“千里之堤,毀于蟻穴。”一個(gè)小小的漏洞造成一旦被攻擊者發(fā)現(xiàn),最終后果有可能是整個(gè)網(wǎng)絡(luò)的癱瘓。因此作為管理員應(yīng)當(dāng)像黑客一樣思考,時(shí)刻關(guān)注最新的安全技術(shù)和系統(tǒng)漏洞,并對照本單位的網(wǎng)絡(luò)進(jìn)行檢查。而怎么來發(fā)現(xiàn)企業(yè)網(wǎng)絡(luò)的安全漏洞呢?需要掌握和采用一些什么關(guān)鍵技術(shù)?有什么比較流行和高效的工具可以用來輔助系統(tǒng)管理員來進(jìn)行漏洞的掃描和發(fā)現(xiàn)呢?本文為讀者揭開這個(gè)謎底。
1、企業(yè)網(wǎng)絡(luò)漏洞掃描概述
隨著Internet的不斷發(fā)展,信息技術(shù)已成為促進(jìn)經(jīng)濟(jì)發(fā)展、社會進(jìn)步的巨大推動力:當(dāng)今社會高度的計(jì)算機(jī)化信息資源對任何人無論在任何時(shí)候、任何地方都變得極有價(jià)值。不管是存儲在工作站中、服務(wù)器里還是流通于Internet上的信息都已轉(zhuǎn)變成為一個(gè)關(guān)系事業(yè)成敗關(guān)鍵的策略點(diǎn),這就使保證信息的安全變得格外重要。
安全掃描技術(shù)是一類重要的網(wǎng)絡(luò)安全技術(shù)。安全掃描技術(shù)與防火墻、入侵檢測系統(tǒng)互相配合,能夠有效提高網(wǎng)絡(luò)的安全性。通過對網(wǎng)絡(luò)的掃描,網(wǎng)絡(luò)管理員可以了解網(wǎng)絡(luò)的安全配置和運(yùn)行的應(yīng)用服務(wù),及時(shí)發(fā)現(xiàn)安全漏洞,客觀評估網(wǎng)絡(luò)風(fēng)險(xiǎn)等級。網(wǎng)絡(luò)管理員可以根據(jù)掃描的結(jié)果更正網(wǎng)絡(luò)安全漏洞和系統(tǒng)中的錯(cuò)誤配置,在黑客攻擊前進(jìn)行防范。如果說防火墻和網(wǎng)絡(luò)監(jiān)控系統(tǒng)是被動的防御手段,那么安全掃描就是一種主動的防范措施,可以有效避免黑客攻擊行為,做到防患于未然。
安全掃描技術(shù)主要分為兩類:主機(jī)安全掃描技術(shù)和網(wǎng)絡(luò)安全掃描技術(shù)。網(wǎng)絡(luò)安全掃描技術(shù)主要針對系統(tǒng)中不合適的設(shè)置脆弱的口令,以及針對其它同安全規(guī)則抵觸的對象進(jìn)行檢查等;而主機(jī)安全掃描技術(shù)則是通過執(zhí)行一些腳本文件模擬對系統(tǒng)進(jìn)行攻擊的行為并記錄系統(tǒng)的反應(yīng),從而發(fā)現(xiàn)其中的漏洞。
端口掃描技術(shù)和漏洞掃描技術(shù)是網(wǎng)絡(luò)安全掃描技術(shù)中的兩種核心技術(shù),并且廣泛運(yùn)用于當(dāng)前較成熟的網(wǎng)絡(luò)掃描器中,如著名的Nmap和Nessus。鑒于這兩種技術(shù)在網(wǎng)絡(luò)安全掃描技術(shù)中起著的舉足輕重作用,本文將對這兩種技術(shù)進(jìn)行了非常系統(tǒng)和完整的學(xué)習(xí)、總結(jié)和研究。 #p#
2、端口掃描技術(shù)基本原理
對于位于網(wǎng)絡(luò)中的計(jì)算機(jī)系統(tǒng)來說,一個(gè)端口就是一個(gè)潛在的通信通道,也就是一個(gè)入侵通道。對目標(biāo)計(jì)算機(jī)進(jìn)行端口掃描,能得到許多有用的信息從而發(fā)現(xiàn)系統(tǒng)的安全漏洞。通過其可以使系統(tǒng)用戶了解系統(tǒng)目前向外界提供了哪些服務(wù),從而為系統(tǒng)用戶管理網(wǎng)絡(luò)提供了一種參考的手段。
從技術(shù)原理上來說,端口掃描向目標(biāo)主機(jī)的TCP/UDP服務(wù)端口發(fā)送探測數(shù)據(jù)包,并記錄目標(biāo)主機(jī)的響應(yīng)。通過分析響應(yīng)來判斷服務(wù)端口是打開還是關(guān)閉,就可以得知端口提供的服務(wù)或信息。端口掃描也可以通過捕獲本地主機(jī)或服務(wù)器的流入流出IP數(shù)據(jù)包來監(jiān)視本地主機(jī)的運(yùn)行情況,不僅能對接收到的數(shù)據(jù)進(jìn)行分析,而且能夠幫助用戶發(fā)現(xiàn)目標(biāo)主機(jī)的某些內(nèi)在的弱點(diǎn),而不會提供進(jìn)入一個(gè)系統(tǒng)的詳細(xì)步驟。一般說來,端口掃描的目的通常是如下的一項(xiàng)或者多項(xiàng):
◆發(fā)現(xiàn)開放端口:發(fā)現(xiàn)目標(biāo)系統(tǒng)上開放的TCP或UDP端口;
◆了解主機(jī)操作系統(tǒng)信息:端口掃描可以通過操作系統(tǒng)的“指紋”來推測被掃描操作系統(tǒng)或者應(yīng)用程序的版本等信息;
◆了解軟件或者服務(wù)版本:軟件或服務(wù)版本可以通過“標(biāo)志獲取”或者應(yīng)用程序的指紋來識別獲得;
◆發(fā)現(xiàn)脆弱的軟件版本:識別軟件和服務(wù)的缺陷,從而有助于發(fā)起針對漏洞的攻擊。
端口掃描主要有經(jīng)典的掃描器(全連接)以及所謂的SYN(半連接)掃描器。此外還有間接掃描和秘密掃描等。TCP掃描方式是通過與被掃描主機(jī)建立標(biāo)準(zhǔn)的TCP連接,因此這種方式最準(zhǔn)確,很少漏報(bào)、誤報(bào),但是容易被目標(biāo)主機(jī)察覺、記錄。SYN方式是通過與目標(biāo)主機(jī)建立半打開連接,這樣就不容易被目標(biāo)主機(jī)記錄,但是掃描結(jié)果會出現(xiàn)漏報(bào),在網(wǎng)絡(luò)狀況不好的情況下這種漏報(bào)是嚴(yán)重的。 #p#
3、快速安裝nmap
(1)Nmap簡介
map是一個(gè)網(wǎng)絡(luò)探測和安全掃描程序,系統(tǒng)管理者和個(gè)人可以使用這個(gè)軟件掃描大型的網(wǎng)絡(luò),獲取那臺主機(jī)正在運(yùn)行以及提供什么服務(wù)等信息。nmap支持很多掃描技術(shù),例如:UDP、TCP connect()、TCP SYN(半開掃描)、ftp代理(bounce攻擊)、反向標(biāo)志、ICMP、FIN、ACK掃描、圣誕樹(Xmas Tree)、SYN掃描和null掃描。從掃描類型一節(jié)可以得到細(xì)節(jié)。nmap還提供了一些高級的特征,例如:通過TCP/IP協(xié)議棧特征探測操作系統(tǒng)類型,秘密掃描,動態(tài)延時(shí)和重傳計(jì)算,并行掃描,通過并行ping掃描探測關(guān)閉的主機(jī),誘餌掃描,避開端口過濾檢測,直接RPC掃描(無須端口影射),碎片掃描,以及靈活的目標(biāo)和端口設(shè)定。
為了提高nmap在non-root狀態(tài)下的性能,軟件的設(shè)計(jì)者付出了很大的努力。很不幸,一些內(nèi)核界面(例如raw socket)需要在root狀態(tài)下使用。所以應(yīng)該盡可能在root使用nmap。
nmap運(yùn)行通常會得到被掃描主機(jī)端口的列表。nmap總會給出well known端口的服務(wù)名(如果可能)、端口號、狀態(tài)和協(xié)議等信息。每個(gè)端口的狀態(tài)有:open、filtered、unfiltered。
◆open狀態(tài)意味著目標(biāo)主機(jī)能夠在這個(gè)端口使用accept()系統(tǒng)調(diào)用接受連接;
◆filtered狀態(tài)表示防火墻、包過濾和其它的網(wǎng)絡(luò)安全軟件掩蓋了這個(gè)端口,禁止 nmap探測其是否打開。
◆unfiltered表示這個(gè)端口關(guān)閉,并且沒有防火墻/包過濾軟件來隔離nmap的探測企圖。通常情況下,端口的狀態(tài)基本都是unfiltered狀態(tài),只有在大多數(shù)被掃描的端口處于filtered狀態(tài)下,才會顯示處于unfiltered狀態(tài)的端口。
根據(jù)使用的功能選項(xiàng),nmap也可以報(bào)告遠(yuǎn)程主機(jī)的下列特征:使用的操作系統(tǒng)、TCP序列、運(yùn)行綁定到每個(gè)端口上的應(yīng)用程序的用戶名、DNS名、主機(jī)地址是否是欺騙地址、以及其它一些東西。
(2)快速安裝
在使用之前,我們需要下載該軟件的源碼包進(jìn)行安裝。目前,作者下載到的最新版本為:nmap-5.00.tgz,下載網(wǎng)址為:http://linux.softpedia.com/get/System/Networking/Nmap-184.shtml。下載完成后,用戶執(zhí)行如下安裝命令即可:
(1)解壓縮軟件包
#tar –xzvf nmap-5.00.tgz
(2)切換到安裝目錄
#cd nmap-5.00
(3)使用configure命令生成make文件
#./configure
(4)編譯源代碼
#make
(5)安裝相關(guān)模塊
#make install #p#
4、使用nmap確定開放端口
功能選項(xiàng)可以組合使用。一些功能選項(xiàng)只能夠在某種掃描模式下使用。nmap會自動識別無效或者不支持的功能選項(xiàng)組合,并向用戶發(fā)出警告信息。使用nmap,可以參考使用如下一些常用的選項(xiàng)。
(1)使用主要掃描類型選項(xiàng)
(1)-sT
TCP connect()掃描:這是最基本的TCP掃描方式。connect()是一種系統(tǒng)調(diào)用,由操作系統(tǒng)提供,用來打開一個(gè)連接。如果目標(biāo)端口有程序監(jiān)聽,connect()就會成功返回,否則這個(gè)端口是不可達(dá)的。這項(xiàng)技術(shù)最大的優(yōu)點(diǎn)是,用戶不需要root權(quán)限。任何Linux用戶都可以自由使用這個(gè)系統(tǒng)調(diào)用。這種掃描很容易被檢測到,在目標(biāo)主機(jī)的日志中會記錄大批的連接請求以及錯(cuò)誤信息。
(2)-sS
TCP同步掃描(TCP SYN):因?yàn)椴槐厝看蜷_一個(gè)TCP連接,所以這項(xiàng)技術(shù)通常稱為半開掃描(half-open)。用戶可以發(fā)出一個(gè)TCP同步包(SYN),然后等待回應(yīng)。如果對方返回SYN|ACK(響應(yīng))包就表示目標(biāo)端口正在監(jiān)聽;如果返回RST數(shù)據(jù)包,就表示目標(biāo)端口沒有監(jiān)聽程序;如果收到一個(gè)SYN|ACK包,源主機(jī)就會馬上發(fā)出一個(gè)RST(復(fù)位)數(shù)據(jù)包斷開和目標(biāo)主機(jī)的連接,這實(shí)際上有我們的操作系統(tǒng)內(nèi)核自動完成的。這項(xiàng)技術(shù)最大的好處是,很少有系統(tǒng)能夠把這記入系統(tǒng)日志。不過,用戶需要root權(quán)限來定制SYN數(shù)據(jù)包。
(3)-sF -sF –sN
秘密FIN數(shù)據(jù)包掃描、圣誕樹(Xmas Tree)、空(Null)掃描模式:即使SYN掃描都無法確定的情況下使用。一些防火墻和包過濾軟件能夠?qū)Πl(fā)送到被限制端口的SYN數(shù)據(jù)包進(jìn)行監(jiān)視,而且有些程序比如synlogger和courtney能夠檢測那些掃描。這些高級的掃描方式可以逃過這些干擾。這些掃描方式的理論依據(jù)是:關(guān)閉的端口需要對用戶的探測包回應(yīng)RST包,而打開的端口必需忽略有問題的包。FIN掃描使用暴露的FIN數(shù)據(jù)包來探測,而圣誕樹掃描打開數(shù)據(jù)包的FIN、URG和PUSH標(biāo)志。不幸的是,微軟決定完全忽略這個(gè)標(biāo)準(zhǔn),另起爐灶。所以這種掃描方式對Windows95/NT無效。不過,從另外的角度講,可以使用這種方式來分別兩種不同的平臺。如果使用這種掃描方式可以發(fā)現(xiàn)打開的端口,用戶就可以確定目標(biāo)注意運(yùn)行的不是Windows系統(tǒng)。如果使用-sF、-sX或者-sN掃描顯示所有的端口都是關(guān)閉的,而使用SYN掃描顯示有打開的端口,用戶可以確定目標(biāo)主機(jī)可能運(yùn)行的是Windows系統(tǒng)?,F(xiàn)在這種方式?jīng)]有什么太大的用處,因?yàn)閚map有內(nèi)嵌的操作系統(tǒng)檢測功能。還有其它幾個(gè)系統(tǒng)使用和Windows同樣的處理方式,包括Cisco、BSDI、HP/UX、MYS、IRIX。在應(yīng)該拋棄數(shù)據(jù)包時(shí),以上這些系統(tǒng)都會從打開的端口發(fā)出復(fù)位數(shù)據(jù)包。
(4)-sP
ping掃描:有時(shí)用戶只是想知道此時(shí)網(wǎng)絡(luò)上哪些主機(jī)正在運(yùn)行。通過向用戶指定的網(wǎng)絡(luò)內(nèi)的每個(gè)IP地址發(fā)送ICMP echo請求數(shù)據(jù)包,nmap就可以完成這項(xiàng)任務(wù)。如果主機(jī)正在運(yùn)行就會作出響應(yīng)。不幸的是,一些站點(diǎn)會主動阻塞ICMP echo請求數(shù)據(jù)包。然而,在默認(rèn)的情況下nmap也能夠向80端口發(fā)送TCP ack包,如果用戶收到一個(gè)RST包,就表示主機(jī)正在運(yùn)行。nmap使用的第三種技術(shù)是:發(fā)送一個(gè)SYN包,然后等待一個(gè)RST或者SYN/ACK包。對于非root用戶,nmap使用connect()方法。在默認(rèn)的情況下(root用戶),nmap并行使用ICMP和ACK技術(shù)。值得注意的是:nmap在任何情況下都會進(jìn)行ping掃描,只有目標(biāo)主機(jī)處于運(yùn)行狀態(tài),才會進(jìn)行后續(xù)的掃描。如果用戶只是想知道目標(biāo)主機(jī)是否運(yùn)行,而不想進(jìn)行其它掃描,才會用到這個(gè)選項(xiàng)。
(5)-sU
UDP掃描:如果用戶想知道在某臺主機(jī)上提供哪些UDP服務(wù),可以使用這種掃描方法。nmap首先向目標(biāo)主機(jī)的每個(gè)端口發(fā)出一個(gè)0字節(jié)的UDP包,如果我們收到端口不可達(dá)的ICMP消息,端口就是關(guān)閉的,否則我們就假設(shè)它是打開的。
(6)-sA
ACK掃描:這項(xiàng)高級的掃描方法通常用來穿過防火墻的規(guī)則集。通常情況下,這有助于確定一個(gè)防火墻是功能比較完善的或者是一個(gè)簡單的包過濾程序,只是阻塞進(jìn)入的SYN包。這種掃描是向特定的端口發(fā)送ACK包(使用隨機(jī)的應(yīng)答/序列號)。如果返回一個(gè)RST包,這個(gè)端口就標(biāo)記為unfiltered狀態(tài)。如果什么都沒有返回,或者返回一個(gè)不可達(dá)ICMP消息,這個(gè)端口就歸入filtered類。注意,nmap通常不輸出unfiltered的端口,所以在輸出中通常不顯示所有被探測的端口。顯然,這種掃描方式不能找出處于打開狀態(tài)的端口。
(7)-sW
對滑動窗口的掃描:這項(xiàng)高級掃描技術(shù)非常類似于ACK掃描,除了它有時(shí)可以檢測到處于打開狀態(tài)的端口,因?yàn)榛瑒哟翱诘拇笮∈遣灰?guī)則的,有些操作系統(tǒng)可以報(bào)告其大小。這些系統(tǒng)至少包括:某些版本的AIX、Amiga、BeOS、BSDI、Cray、Tru64 UNIX、DG/UX、OpenVMS、Digital UNIX、OpenBSD、OpenStep、QNX、Rhapsody、SunOS 4.x、Ultrix、VAX、VXWORKS。從nmap-hackers郵件3列表的文檔中可以得到完整的列表。
(8)-sR
RPC掃描:這種方法和nmap的其它不同的端口掃描方法結(jié)合使用。選擇所有處于打開狀態(tài)的端口向它們發(fā)出SunRPC程序的NULL命令,以確定它們是否是RPC端口,如果是,就確定是哪種軟件及其版本號。因此用戶能夠獲得防火墻的一些信息。誘餌掃描現(xiàn)在還不能和RPC掃描結(jié)合使用。
(2)使用高級設(shè)置選項(xiàng)
通常,nmap在運(yùn)行時(shí),能夠很好地根據(jù)網(wǎng)絡(luò)特點(diǎn)進(jìn)行調(diào)整。掃描時(shí),nmap會盡量減少被目標(biāo)檢測到的機(jī)會,同時(shí)盡可能加快掃描速度。然而,nmap默認(rèn)的適時(shí)策略有時(shí)候不太適合用戶的目標(biāo)。使用下面這些選項(xiàng),可以有效地控制nmap的掃描時(shí)間。
(1)-T
設(shè)置nmap的掃描策略,主要有如下幾種:
◆Paranoid:為了避開IDS的檢測使掃描速度極慢,nmap串行所有的掃描,每隔至少5分鐘發(fā)送一個(gè)包;
◆Sneaky:和Paranoid差不多,只是數(shù)據(jù)包的發(fā)送間隔是15秒;
◆Polite:不增加太大的網(wǎng)絡(luò)負(fù)載,避免宕掉目標(biāo)主機(jī),串行每個(gè)探測,并且使每個(gè)探測有0.4 秒種的間隔;
◆Normal:nmap默認(rèn)的選項(xiàng),在不是網(wǎng)絡(luò)過載或者主機(jī)/端口丟失的情況下盡可能快速地掃描;
◆Aggressive:設(shè)置5分鐘的超時(shí)限制,使對每臺主機(jī)的掃描時(shí)間不超過5分鐘,并且使對每次探測回應(yīng)的等待時(shí)間不超過1.5秒鐘;
◆Insane:只適合快速的網(wǎng)絡(luò)或者用戶不在意丟失某些信息,每臺主機(jī)的超時(shí)限制是75秒,對每次探測只等待0.3秒鐘。
用戶也可以使用數(shù)字來代替上述這些模式,例如:-T 0等于-T Paranoid,-T 5等于-T Insane。并且,上述這些模式不能和下面的選項(xiàng)組合使用。
(2)--host_timeout
設(shè)置掃描一臺主機(jī)的時(shí)間,以毫秒為單位。默認(rèn)的情況下,沒有超時(shí)限制。
(3)--max_rtt_timeout
設(shè)置對每次探測的等待時(shí)間,以毫秒為單位。如果超過這個(gè)時(shí)間限制就重傳或者超時(shí)。默認(rèn)值是大約9000毫秒。
(4)--min_rtt_timeout
當(dāng)目標(biāo)主機(jī)的響應(yīng)很快時(shí),nmap就縮短每次探測的超時(shí)時(shí)間。這樣會提高掃描的速度,但是可能丟失某些響應(yīng)時(shí)間比較長的包。使用這個(gè)選項(xiàng),可以讓nmap對每次探測至少等待用戶指定的時(shí)間,以毫秒為單位。
(5)--initial_rtt_timeout
設(shè)置初始探測的超時(shí)值。一般這個(gè)選項(xiàng)只在使用-P0選項(xiàng)掃描有防火墻保護(hù)的主機(jī)才有用。默認(rèn)值是6000毫秒。
(6)--max_parallelism
設(shè)置最大的并行掃描數(shù)量。--max_parallelism 1表示同時(shí)只掃描一個(gè)端口。這個(gè)選項(xiàng)對其它的并行掃描也有效,例如ping sweep, RPC scan。
(7)--scan_delay
設(shè)置在兩次探測之間,nmap必須等待的時(shí)間。這個(gè)選項(xiàng)主要用于降低網(wǎng)絡(luò)的負(fù)載。
(3)掃描實(shí)施第一步:發(fā)現(xiàn)活動主機(jī)
使用nmap掃描整個(gè)網(wǎng)絡(luò)尋找目標(biāo),已確定目標(biāo)機(jī)是否處于連通狀態(tài)。通過使用“-sP”命令,進(jìn)行ping掃描。缺省情況下,nmap給每個(gè)掃描到的主機(jī)發(fā)送一個(gè)ICMP echo和一個(gè)TCP ACK,主機(jī)對任何一種的響應(yīng)都會被nmap得到,掃描速度非??欤诤芏痰臅r(shí)間內(nèi)可以掃描一個(gè)很大的網(wǎng)絡(luò)。該命令使用如下所示:
[root@localhost ~]# nmap -sP 10.1.4.0/24 Starting Nmap 5.0 ( http://www.insecure.org/nmap/ ) at 2009-12-17 15:09 CST Host 10.1.4.1 appears to be up. MAC Address: 00:0B:CD:B9:EE:A8 (Compaq (HP)) Host 10.1.4.6 appears to be up. MAC Address: 00:1E:65:F0:48:B8 (Unknown) Host 10.1.4.8 appears to be up. MAC Address: 00:1F:3C:56:00:95 (Unknown) Host 10.1.4.9 appears to be up. MAC Address: 00:13:CE:FA:45:4A (Intel Corporate) Host 10.1.4.14 appears to be up. MAC Address: 00:21:5C:64:0D:07 (Unknown) Host 10.1.4.15 appears to be up. MAC Address: 00:21:5C:77:C1:83 (Unknown) Host 10.1.4.16 appears to be up. MAC Address: 00:1C:BF:A4:02:39 (Unknown) Host 10.1.4.18 appears to be up. MAC Address: 00:1C:BF:D5:30:04 (Unknown) Host 10.1.4.20 appears to be up. MAC Address: 00:1C:BF:95:6F:3C (Unknown) Host 10.1.4.21 appears to be up. MAC Address: 00:1C:BF:95:62:69 (Unknown) Host 10.1.4.22 appears to be up. MAC Address: 00:1F:3A:4C:90:D2 (Unknown) Host 10.1.4.23 appears to be up. Host 10.1.4.25 appears to be up. MAC Address: 00:22:FA:CA:C6:7A (Unknown) Host 10.1.4.26 appears to be up. MAC Address: 00:26:BB:0F:40:01 (Unknown) Host 10.1.4.27 appears to be up. MAC Address: 00:22:FA:B0:BB:D2 (Unknown) Host 10.1.4.28 appears to be up. MAC Address: 00:1E:65:F2:76:96 (Unknown) Host 10.1.4.29 appears to be up. MAC Address: 00:1C:BF:9D:20:F5 (Unknown) 略。。。。。。 Nmap finished: 256 IP addresses (125 hosts up) scanned in 7.852 seconds |
通過該掃描,可以發(fā)現(xiàn)該公司網(wǎng)絡(luò)中有125臺主機(jī)是活躍的,也就是說有機(jī)可趁,下一步就是要進(jìn)行更詳細(xì)的掃描,來掃描這些主機(jī)到底有些什么活動端口。
(4)掃描實(shí)施第二步:掃描端口掃描
通常情況下,當(dāng)nmap的使用者確定了網(wǎng)絡(luò)上運(yùn)行的主機(jī)處于連通狀態(tài),下一步的工作就是進(jìn)行端口掃描,端口掃描使用-sT參數(shù)。如下面結(jié)果如示:
[root@localhost ~]# nmap -v -sT 10.1.4.0/24 Starting Nmap 5.0 ( http://www.insecure.org/nmap/ ) at 2009-12-17 14:19 CST Initiating ARP Ping Scan against 23 hosts [1 port/host] at 14:19 The ARP Ping Scan took 0.51s to scan 23 total hosts. DNS resolution of 12 IPs took 0.29s. Initiating SYN Stealth Scan against 5 hosts [1680 ports/host] at 14:19 Discovered open port 25/tcp on 10.1.4.1 Discovered open port 3389/tcp on 10.1.4.1 Discovered open port 389/tcp on 10.1.4.1 Discovered open port 21/tcp on 10.1.4.1 Discovered open port 13/tcp on 10.1.4.1 Discovered open port 80/tcp on 10.1.4.11 Increasing send delay for 10.1.4.11 from 0 to 5 due to 11 out of 34 dropped probes since last increase. Discovered open port 3372/tcp on 10.1.4.1 Discovered open port 42/tcp on 10.1.4.1 SYN Stealth Scan Timing: About 10.47% done; ETC: 14:24 (0:04:16 remaining) Discovered open port 143/tcp on 10.1.4.1 Discovered open port 993/tcp on 10.1.4.1 Discovered open port 1025/tcp on 10.1.4.1 Discovered open port 445/tcp on 10.1.4.1 Discovered open port 995/tcp on 10.1.4.1 Increasing send delay for 10.1.4.11 from 5 to 10 due to max_successful_tryno increase to 4 Discovered open port 110/tcp on 10.1.4.1 Discovered open port 17/tcp on 10.1.4.1 Discovered open port 2008/tcp on 10.1.4.1 Discovered open port 7/tcp on 10.1.4.1 Discovered open port 9/tcp on 10.1.4.1 Discovered open port 19/tcp on 10.1.4.1 Increasing send delay for 10.1.4.11 from 10 to 20 due to max_successful_tryno increase to 5 Increasing send delay for 10.1.4.11 from 20 to 40 due to max_successful_tryno increase to 6 Discovered open port 6000/tcp on 10.1.4.1 Discovered open port 135/tcp on 10.1.4.1 Discovered open port 1029/tcp on 10.1.4.1 Discovered open port 465/tcp on 10.1.4.1 Discovered open port 139/tcp on 10.1.4.1 Completed SYN Stealth Scan against 10.1.4.1 in 249.12s (4 hosts left) Completed SYN Stealth Scan against 10.1.4.6 in 257.58s (3 hosts left) Completed SYN Stealth Scan against 10.1.4.9 in 258.51s (2 hosts left) Completed SYN Stealth Scan against 10.1.4.11 in 274.71s (1 host left) Discovered open port 139/tcp on 10.1.4.10 The SYN Stealth Scan took 280.28s to scan 8400 total ports. Host 10.1.4.1 appears to be up ... good. Interesting ports on 10.1.4.1: Not shown: 1657 closed ports PORT STATE SERVICE 7/tcp open echo 9/tcp open discard 13/tcp open daytime 17/tcp open qotd 19/tcp open chargen 21/tcp open ftp 25/tcp open smtp 42/tcp open nameserver 110/tcp open pop3 135/tcp open msrpc 139/tcp open netbios-ssn 143/tcp open imap 389/tcp open ldap 445/tcp open microsoft-ds 465/tcp open smtps 993/tcp open imaps 995/tcp open pop3s 1025/tcp open NFS-or-IIS 1029/tcp open ms-lsa 2008/tcp open conf 3372/tcp open msdtc 3389/tcp open ms-term-serv 6000/tcp open X11 MAC Address: 00:0B:CD:B9:EE:A8 (Compaq (HP)) Host 10.1.4.6 appears to be up ... good. All 1680 scanned ports on 10.1.4.6 are filtered MAC Address: 00:1E:65:F0:48:B8 (Unknown) Host 10.1.4.9 appears to be up ... good. All 1680 scanned ports on 10.1.4.9 are filtered MAC Address: 00:13:CE:FA:45:4A (Intel Corporate) Host 10.1.4.10 appears to be up ... good. Interesting ports on 10.1.4.10: Not shown: 1678 filtered ports PORT STATE SERVICE 139/tcp open netbios-ssn 445/tcp closed microsoft-ds MAC Address: 00:22:FA:DB:C3:A8 (Unknown) Host 10.1.4.11 appears to be up ... good. Interesting ports on 10.1.4.11: Not shown: 1673 closed ports PORT STATE SERVICE 80/tcp open http 170/tcp filtered print-srv 179/tcp filtered bgp 218/tcp filtered mpp 736/tcp filtered unknown 1720/tcp filtered H.323/Q.931 5302/tcp filtered hacl-cfg MAC Address: 00:1E:65:F0:78:CA (Unknown) DNS resolution of 1 IPs took 4.01s. Initiating SYN Stealth Scan against 7 hosts [1680 ports/host] at 14:24 Increasing send delay for 10.1.4.20 from 0 to 5 due to 11 out of 11 dropped probes since last increase. Increasing send delay for 10.1.4.20 from 5 to 10 due to 11 out of 11 dropped probes since last increase. SYN Stealth Scan Timing: About 2.66% done; ETC: 14:43 (0:18:18 remaining) Increasing send delay for 10.1.4.20 from 10 to 20 due to 11 out of 36 dropped probes since last increase. SYN Stealth Scan Timing: About 7.69% done; ETC: 14:39 (0:13:50 remaining) 略。。。。。。 |
可以清楚地看到,端口掃描采用多種方式對網(wǎng)絡(luò)中主機(jī)的TCP活動端口進(jìn)行了全面的掃描,由于掃描的主機(jī)數(shù)太多(125臺),上面僅僅給出了2臺主機(jī)的TCP端口情況,也就是主機(jī)10.1.4.1和10.1.4.11,并且,主機(jī)10.1.4.1打開的端口非常多,網(wǎng)絡(luò)服務(wù)也相對比較豐富,并且從IP地址的構(gòu)成來看,該主機(jī)極有可能是網(wǎng)關(guān)(一般網(wǎng)關(guān)的IP地址設(shè)定為X.X.X.1),于是就可以鎖定這臺主機(jī)進(jìn)行后續(xù)的掃描。
(5)掃描實(shí)施第三步:主機(jī)操作系統(tǒng)識別
通常一個(gè)入侵者可能對某個(gè)操作系統(tǒng)的漏洞很熟悉,能很輕易地進(jìn)入此操作系統(tǒng)的機(jī)器。一個(gè)常見的選項(xiàng)是TCP/IP上的指紋,帶有"-O"選項(xiàng)決定遠(yuǎn)程操作系統(tǒng)的類型。這可以和一個(gè)端口掃描結(jié)合使用,但不能和ping掃描結(jié)合使用。nmap通過向主機(jī)發(fā)送不同類型的探測信號,縮小查找的操作系統(tǒng)的范圍。如下面的掃描結(jié)果所示:
[root@localhost ~]# nmap -O 10.1.4.1 Starting Nmap 5.0 ( http://www.insecure.org/nmap/ ) at 2009-12-17 15:28 CST Interesting ports on 10.1.4.1: Not shown: 1657 closed ports PORT STATE SERVICE 7/tcp open echo 9/tcp open discard 13/tcp open daytime 17/tcp open qotd 19/tcp open chargen 21/tcp open ftp 25/tcp open smtp 42/tcp open nameserver 110/tcp open pop3 135/tcp open msrpc 139/tcp open netbios-ssn 143/tcp open imap 389/tcp open ldap 445/tcp open microsoft-ds 465/tcp open smtps 993/tcp open imaps 995/tcp open pop3s 1025/tcp open NFS-or-IIS 1029/tcp open ms-lsa 2008/tcp open conf 3372/tcp open msdtc 3389/tcp open ms-term-serv 6000/tcp open X11 MAC Address: 00:0B:CD:B9:EE:A8 (Compaq (HP)) Device type: general purpose Running: Microsoft Windows 95/98/ME|NT/2K/XP OS details: Microsoft Windows Millennium Edition (Me), Windows 2000 Professional or Advanced Server, or Windows XP Nmap finished: 1 IP address (1 host up) scanned in 68.749 seconds |
通過上述掃描結(jié)果可以看到,10.1.4.1這臺機(jī)器運(yùn)行的是Windows系列的操作系統(tǒng),并且提供了一些比較常用的網(wǎng)絡(luò)服務(wù)。
(6)掃描實(shí)施第四步:掃描總結(jié)歸納
通過上述3步的掃描實(shí)施,可以逐步總結(jié)得出了如下幾點(diǎn)結(jié)論和經(jīng)驗(yàn):
◆端口掃描的步驟是先發(fā)現(xiàn)活動主機(jī),然后發(fā)現(xiàn)活動主機(jī)的活動端口,從而確定需要重點(diǎn)關(guān)注或者需要供給的主機(jī),一般這些主機(jī)是服務(wù)端口開得多的主機(jī);再然后對重點(diǎn)關(guān)注的主機(jī)實(shí)行操作系統(tǒng)掃描,從而確定操作系統(tǒng)類型,以便從操作系統(tǒng)層面來尋找突破口;一般情況下,如果是Windows操作系統(tǒng)的話,那么就有比較大的攻擊或者是安全維護(hù)的空間。
◆除了上述幾個(gè)常用的掃描選項(xiàng)外,在掃描過程中還需要綜合采用其他-T之類的選項(xiàng),以保證掃描不被對方發(fā)現(xiàn),否則對于具有豐富管理經(jīng)驗(yàn)的管理員來說,很容易發(fā)現(xiàn)這種掃描行為,引起反追蹤甚至是報(bào)復(fù)性的攻擊等。當(dāng)然,對于內(nèi)網(wǎng)的網(wǎng)管性的維護(hù)工作來說,就沒有這個(gè)風(fēng)險(xiǎn)。
◆另外,在使用nmap進(jìn)行掃描后,對于它提供的開放端口的號及其對應(yīng)的服務(wù)名進(jìn)行比較對照,以更好地確認(rèn)端口及其對應(yīng)的開放服務(wù),從而為下一步的針對性的攻擊或者是網(wǎng)絡(luò)管理作好準(zhǔn)備。 #p#
5、 漏洞掃描
nmap雖說不錯(cuò),能夠輕松地實(shí)現(xiàn)TCP掃描、UDP掃描、操作系統(tǒng)指紋掃描、隱蔽掃描等方式,也能得到活動的主機(jī)及其端口,還能通確認(rèn)該端口對應(yīng)的網(wǎng)絡(luò)或者系統(tǒng)服務(wù),從而通過其他方式來獲取這些服務(wù)的漏洞發(fā)起攻擊或者是進(jìn)行網(wǎng)絡(luò)安全管理。那么,有沒有一種比以nmap為代表的端口掃描技術(shù)更加具有針對性的漏洞發(fā)現(xiàn)技術(shù)呢?
(1)漏洞掃描基本原理
漏洞掃描就是對計(jì)算機(jī)系統(tǒng)或者其它網(wǎng)絡(luò)設(shè)備進(jìn)行安全相關(guān)的檢測,以找出安全隱患和可被黑客利用的漏洞。顯然,漏洞掃描軟件是把雙刃劍,黑客利用它入侵系統(tǒng),而系統(tǒng)管理員掌握它以后又可以有效的防范黑客入侵。因此,漏洞掃描是保證系統(tǒng)和網(wǎng)絡(luò)安全必不可少的手段,必須仔細(xì)研究利用。
漏洞掃描通常采用兩種策略,第一種是被動式策略,第二種是主動式策略。所謂被動式策略就是基于主機(jī)之上,對系統(tǒng)中不合適的設(shè)置,脆弱的口令以及其他同安全規(guī)則抵觸的對象進(jìn)行檢查;而主動式策略是基于網(wǎng)絡(luò)的,它通過執(zhí)行一些腳本文件模擬對系統(tǒng)進(jìn)行攻擊的行為并記錄系統(tǒng)的反應(yīng),從而發(fā)現(xiàn)其中的漏洞。利用被動式策略掃描稱為系統(tǒng)安全掃描,利用主動式策略掃描稱為網(wǎng)絡(luò)安全掃描。
這里進(jìn)一步介紹漏洞掃描的四種檢測技術(shù):
◆基于應(yīng)用的檢測技術(shù),它采用被動的,非破壞性的辦法檢查應(yīng)用軟件包的設(shè)置,發(fā)現(xiàn)安全漏洞。
◆基于主機(jī)的檢測技術(shù),它采用被動的,非破壞性的辦法對系統(tǒng)進(jìn)行檢測。通常,它涉及到系統(tǒng)的內(nèi)核,文件的屬性,操作系統(tǒng)的補(bǔ)丁等問題。這種技術(shù)還包括口令解密,把一些簡單的口令剔除。因此,這種技術(shù)可以非常準(zhǔn)確的定位系統(tǒng)的問題,發(fā)現(xiàn)系統(tǒng)的漏洞。它的缺點(diǎn)是與平臺相關(guān),升級復(fù)雜。
◆基于目標(biāo)的漏洞檢測技術(shù),它采用被動的,非破壞性的辦法檢查系統(tǒng)屬性和文件屬性,如數(shù)據(jù)庫,注冊號等。通過消息文摘算法,對文件的加密數(shù)進(jìn)行檢驗(yàn)。這種技術(shù)的實(shí)現(xiàn)是運(yùn)行在一個(gè)閉環(huán)上,不斷地處理文件,系統(tǒng)目標(biāo),系統(tǒng)目標(biāo)屬性,然后產(chǎn)生檢驗(yàn)數(shù),把這些檢驗(yàn)數(shù)同原來的檢驗(yàn)數(shù)相比較。一旦發(fā)現(xiàn)改變就通知管理員。
◆基于網(wǎng)絡(luò)的檢測技術(shù),它采用積極的,非破壞性的辦法來檢驗(yàn)系統(tǒng)是否有可能被攻擊崩潰。它利用了一系列的腳本模擬對系統(tǒng)進(jìn)行攻擊的行為,然后對結(jié)果進(jìn)行分析。它還針對已知的網(wǎng)絡(luò)漏洞進(jìn)行檢驗(yàn)。網(wǎng)絡(luò)檢測技術(shù)常被用來進(jìn)行穿透實(shí)驗(yàn)和安全審記。這種技術(shù)可以發(fā)現(xiàn)一系列平臺的漏洞,也容易安裝。但是,它可能會影響網(wǎng)絡(luò)的性能。
優(yōu)秀的安全掃描產(chǎn)品應(yīng)該是綜合了以上4種方法的優(yōu)點(diǎn),最大限度的增強(qiáng)漏洞識別的精度。
(2)網(wǎng)絡(luò)漏洞掃描器的構(gòu)成
網(wǎng)絡(luò)漏洞掃描器的一種掃描原理和工作原理為:通過遠(yuǎn)程檢測目標(biāo)主機(jī)TCP/IP不同端口的服務(wù),記錄目標(biāo)給予的回答。通過這種方法,可以搜集到很多目標(biāo)主機(jī)的各種信息(例如:是否能用匿名登陸,是否有可寫的FTP目錄,是否能用Telnet,httpd是否是用root在運(yùn)行)。在獲得目標(biāo)主機(jī)TCP/IP端口和其對應(yīng)的網(wǎng)絡(luò)訪問服務(wù)的相關(guān)信息后,與網(wǎng)絡(luò)漏洞掃描系統(tǒng)提供的漏洞庫進(jìn)行匹配,如果滿足匹配條件,則視為漏洞存在。此外,通過模擬黑客的進(jìn)攻手法,對目標(biāo)主機(jī)系統(tǒng)進(jìn)行攻擊性的安全漏洞掃描,如測試弱勢口令等,也是掃描模塊的實(shí)現(xiàn)方法之一。如果模擬攻擊成功,則視為漏洞存在。在匹配原理上,該網(wǎng)絡(luò)漏洞掃描器采用的是基于規(guī)則的匹配技術(shù),即根據(jù)安全專家對網(wǎng)絡(luò)系統(tǒng)安全漏洞、黑客攻擊案例的分析和系統(tǒng)管理員關(guān)于網(wǎng)絡(luò)系統(tǒng)安全配置的實(shí)際經(jīng)驗(yàn),形成一套標(biāo)準(zhǔn)的系統(tǒng)漏洞庫,然后再在此基礎(chǔ)之上構(gòu)成相應(yīng)的匹配規(guī)則,由程序自動進(jìn)行系統(tǒng)漏洞掃描的分析工作。所謂基于規(guī)則是基于一套由專家經(jīng)驗(yàn)事先定義的規(guī)則的匹配系統(tǒng)。例如,在對TCP 80端口的掃描中,如果/cgi-bin/phf/cgi-bin/Count.cgi,根據(jù)專家經(jīng)驗(yàn)以及CGI程序的共享性和標(biāo)準(zhǔn)化,可以推知該WWW服務(wù)存在兩個(gè)CGI漏洞。同時(shí)應(yīng)當(dāng)說明的是,基于規(guī)則的匹配系統(tǒng)也有其局限性,因?yàn)樽鳛檫@類系統(tǒng)的基礎(chǔ)的推理規(guī)則一般都是根據(jù)已知的安全漏洞進(jìn)行安排和策劃的,而對網(wǎng)絡(luò)系統(tǒng)的很多危險(xiǎn)的威脅是來自未知的安全漏洞,這一點(diǎn)和PC殺毒很相似。
基于網(wǎng)絡(luò)的漏洞掃描器,一般有以下幾個(gè)方面組成:
◆漏洞數(shù)據(jù)庫模塊:漏洞數(shù)據(jù)庫包含了各種操作系統(tǒng)的各種漏洞信息,以及如何檢測漏洞的指令。由于新的漏洞會不斷出現(xiàn),該數(shù)據(jù)庫需要經(jīng)常更新,以便能夠檢測到新發(fā)現(xiàn)的漏洞。
◆用戶配置控制臺模塊:用戶配置控制臺與安全管理員進(jìn)行交互,用來設(shè)置要掃描的目標(biāo)系統(tǒng),以及掃描哪些漏洞。
◆掃描引擎模塊:掃描引擎是掃描器的主要部件。根據(jù)用戶配置控制臺部分的相關(guān)設(shè)置,掃描引擎組裝好相應(yīng)的數(shù)據(jù)包,發(fā)送到目標(biāo)系統(tǒng),將接收到的目標(biāo)系統(tǒng)的應(yīng)答數(shù)據(jù)包,與漏洞數(shù)據(jù)庫中的漏洞特征進(jìn)行比較,來判斷所選擇的漏洞是否存在。
◆當(dāng)前活動的掃描知識庫模塊:通過查看內(nèi)存中的配置信息,該模塊監(jiān)控當(dāng)前活動的掃描,將要掃描的漏洞的相關(guān)信息提供給掃描引擎,同時(shí)還接收掃描引擎返回的掃描結(jié)果。
◆結(jié)果存儲器和報(bào)告生成工具:報(bào)告生成工具,利用當(dāng)前活動掃描知識庫中存儲的掃描結(jié)果,生成掃描報(bào)告。掃描報(bào)告將告訴用戶配置控制臺設(shè)置了哪些選項(xiàng),根據(jù)這些設(shè)置,掃描結(jié)束后,在哪些目標(biāo)系統(tǒng)上發(fā)現(xiàn)了哪些漏洞。
(3)基于B/S架構(gòu)的網(wǎng)絡(luò)漏洞掃描器
下面為這種網(wǎng)絡(luò)漏洞掃描器的一種結(jié)構(gòu):
![]() |
圖1 基于B/S架構(gòu)的網(wǎng)絡(luò)漏洞掃描器結(jié)構(gòu) |
這種漏洞掃描器是基于瀏覽器/服務(wù)器(B/S)結(jié)構(gòu)。這種網(wǎng)絡(luò)掃描器的工作原理是:當(dāng)用戶通過控制平臺發(fā)出了掃描命令之后,控制平臺即向掃描模塊發(fā)出相應(yīng)的掃描請求,掃描模塊在接到請求之后立即啟動相應(yīng)的子功能模塊,對被掃描主機(jī)進(jìn)行掃描。通過對從被掃描主機(jī)返回的信息進(jìn)行分析判斷,掃描模塊將掃描結(jié)果返回給控制平臺,再由控制平臺最終呈現(xiàn)給用戶。
(4)基于C/S架構(gòu)的網(wǎng)絡(luò)漏洞掃描器
另一種結(jié)構(gòu)的掃描器是采用插件程序結(jié)構(gòu),客戶/服務(wù)器模式。插件是由腳本語言編寫的子程序,掃描程序可以通過調(diào)用它來執(zhí)行漏洞掃描,檢測出系統(tǒng)中存在的一個(gè)或多個(gè)漏洞。添加新的插件就可以使漏洞掃描軟件增加新的功能,掃描出更多的漏洞。插件編寫規(guī)范化后,甚至用戶自己都可以用perl、c或自行設(shè)計(jì)的腳本語言編寫的插件來擴(kuò)充漏洞掃描軟件的功能。這種技術(shù)使漏洞掃描軟件的升級維護(hù)變得相對簡單,而專用腳本語言的使用也簡化了編寫新插件的編程工作,使漏洞掃描軟件具有強(qiáng)的擴(kuò)展性??梢葬槍δ骋痪唧w漏洞,編寫對應(yīng)的外部測試腳本。通過調(diào)用服務(wù)檢測插件,檢測目標(biāo)主機(jī)TCP/IP不同端口的服務(wù),并將結(jié)果保存在一信息庫中,然后調(diào)用相應(yīng)的插件程序,向遠(yuǎn)程主機(jī)發(fā)送構(gòu)造好的數(shù)據(jù),并也將檢測結(jié)果保存于信息庫,以提供給其它的腳本運(yùn)行所需的必要信息,這樣可提高檢測效率。如,在針對某FTP服務(wù)的攻擊中,可以首先查看服務(wù)檢測插件的返回結(jié)果,只有在確認(rèn)目標(biāo)主機(jī)服務(wù)器開啟FTP服務(wù)時(shí),對應(yīng)的針對某FTP服務(wù)的攻擊腳本才能被執(zhí)行。采用這種插件結(jié)構(gòu)的掃描器,可以讓任何人構(gòu)造自己的攻擊測試腳本,而不用去了解太多掃描器的原理。這種掃描器也可以用做模擬黑客攻擊的平臺。采用這種結(jié)構(gòu)的掃描器具有很強(qiáng)的生命力,如著名的Nessus 就是采用這種結(jié)構(gòu)。這種網(wǎng)絡(luò)漏洞掃描器的結(jié)構(gòu)為:
![]() |
圖2 基于C/S架構(gòu)的網(wǎng)絡(luò)漏洞掃描器結(jié)構(gòu) |
其中客戶端主要設(shè)置服務(wù)器端的掃描參數(shù),及收集掃描信息。具體掃描工作由服務(wù)器來完成。 #p#
6、快速安裝Nessus
(1)Nessus簡介
Nessus是一個(gè)功能強(qiáng)大而又易于使用的遠(yuǎn)程安全掃描器,它不僅免費(fèi)而且更新極快。安全掃描器的功能是對指定網(wǎng)絡(luò)進(jìn)行安全檢查,找出該網(wǎng)絡(luò)是否存在有導(dǎo)致對手攻擊的安全漏洞。該系統(tǒng)被設(shè)計(jì)為client/sever模式,服務(wù)器端負(fù)責(zé)進(jìn)行安全檢查,客戶端用來配置管理服務(wù)器端。在服務(wù)端還采用了plug-in的體系,允許用戶加入執(zhí)行特定功能的插件,這插件可以進(jìn)行更快速和更復(fù)雜的安全檢查。在Nessus中還采用了一個(gè)共享的信息接口,稱之知識庫,其中保存了前面進(jìn)行檢查的結(jié)果。檢查的結(jié)果可以HTML、純文本、LaTeX(一種文本文件格式)等幾種格式保存。
在未來的新版本中,Nessus將會支持快速更快的安全檢查,而且這種檢查將會占用更少的帶寬,其中可能會用到集群的技術(shù)以提高系統(tǒng)的運(yùn)行效率。
Nessus的優(yōu)點(diǎn)在于:
◆其采用了基于多種安全漏洞的掃描,避免了掃描不完整的情況。
◆它是免費(fèi)的,比起商業(yè)的安全掃描工具如ISS具有價(jià)格優(yōu)勢。
◆Nessus擴(kuò)展性強(qiáng)、容易使用、功能強(qiáng)大,可以掃描出多種安全漏洞。
Nessus的安全檢查完全是由plug-ins的插件完成的。在Nessus主頁中不但詳細(xì)介紹了各種插件的功能,還提供了解決問題的相關(guān)方案。有關(guān)plug-in的詳細(xì)說明,請看http://cgi.nessus.org/plugins/dump.php3?viewby=family
除了這些插件外,Nessus還為用戶提供了描述攻擊類型的腳本語言,來進(jìn)行附加的安全測試,這種語言稱為Nessus攻擊腳本語言(NSSL),用它來完成插件的編寫。
在客戶端,用戶可以指定運(yùn)行Nessus服務(wù)的機(jī)器、使用的端口掃描器及測試的內(nèi)容及測試的IP地址范圍。Nessus本身是工作在多線程基礎(chǔ)上的,所以用戶還可以設(shè)置系統(tǒng)同時(shí)工作的線程數(shù)。這樣用戶在遠(yuǎn)端就可以設(shè)置Nessus的工作配置了。安全檢測完成后,服務(wù)端將檢測結(jié)果返回到客戶端,客戶端生成直觀的報(bào)告。在這個(gè)過程當(dāng)中,由于服務(wù)器向客戶端傳送的內(nèi)容是系統(tǒng)的安全弱點(diǎn),為了防止通信內(nèi)容受到監(jiān)聽,其傳輸過程還可以選擇加密。
(2)安裝和啟動Nessus服務(wù)器端
用戶可以到http://www.nessus.org/download.html去下載nessus服務(wù)器的最新版本。目前其最新版本為:Nessus-4.2.0-es5.i386.rpmNessus,使用如下的命令對其進(jìn)行安裝即可:
[root@localhost tmp]# rpm -ivh Nessus-4.2.0-es5.i386.rpm Preparing... ########################################### [100%] 1:Nessus ########################################### [100%] nessusd (Nessus) 4.2.0 [build K9080] for Linux (C) 1998 - 2009 Tenable Network Security, Inc. - Please run /opt/nessus//sbin/nessus-adduser to add a user - Register your Nessus scanner at http://www.nessus.org/register/ to obtain |
安裝成功后,還需要添加用戶來對其進(jìn)行操作,步驟如下所示:
[root@localhost tmp]# /opt/nessus//sbin/nessus-adduser //添加用戶 Login : root //設(shè)置密碼 Login password : Login password (again) : Do you want this user to be a Nessus 'admin' user ? (can upload plugins, etc...) (y/n) [n]: y User rules ---------- nessusd has a rules system which allows you to restrict the hosts that root has the right to test. For instance, you may want him to be able to scan his own host only. Please see the nessus-adduser manual for the rules syntax Enter the rules for this user, and enter a BLANK LINE once you are done : (the user can have an empty rules set) Login : root Password : *********** This user will have 'admin' privileges within the Nessus server Rules : Is that ok ? (y/n) [y] y //添加成功 User added |
啟動nessus非常簡單,使用如下命令即可:
#/sbin/service nessusd start |
(3)安裝Nessus客戶端
nessus的客戶端有兩個(gè)版本,JAVA版本及C版本,JAVA版本的可以在多個(gè)平臺中運(yùn)行,C版本的支持Windows,有了這兩個(gè)客戶端的版本就可以在局域網(wǎng)的任何的一臺機(jī)器上進(jìn)行安全檢查了。為了使用的簡單起見,我們選擇了一款Windows系統(tǒng)下的Nessus 4客戶端版本進(jìn)行安裝和使用,也就是使用Windows客戶端來控制運(yùn)行于Linux下的Nessus服務(wù)器端來對局域網(wǎng)里面的機(jī)器進(jìn)行漏洞掃描,這也是目前Nessus使用的非常流行的一種方式。具體的安裝如同Windows下任何一款應(yīng)用軟件的安裝方式相同,非常簡單,這里不再贅述。 #p#
7、使用Nessus掃描
下面來看看使用nessus進(jìn)行掃描的步驟以及效果,一般來說,使用Nessus進(jìn)行掃描需要有如下幾個(gè)步驟:
(1)設(shè)置服務(wù)器連接:如圖3所示,首先需要設(shè)置Nessus客戶端來連接Nessus服務(wù)器,也就是上面介紹中安裝的服務(wù)器,在圖3中,配置好相應(yīng)的主機(jī)名和端口,以及登陸所需要使用的用戶名和密碼。
![]() |
圖3 設(shè)置服務(wù)器連接 |
(2)設(shè)置IP范圍:如圖4所示,設(shè)置為IP Range。當(dāng)然,這里還有其他的選項(xiàng)可提供選擇,包括圖中所示的Single Host、Subnet等,可以根據(jù)實(shí)際情況來選擇。
![]() |
圖4 設(shè)置掃描的IP范圍 |
(3)點(diǎn)擊scan now,開始對設(shè)定范圍進(jìn)行掃描:如圖5所示。
![]() |
圖5 開始掃描 |
(4)掃描的整體效果:如圖6所示,掃描給出了對172.31.12.188這臺主機(jī)(Linux操作系統(tǒng),RHEL 5.0版本)的掃描結(jié)果,可以很清晰看出操作系統(tǒng)的版本以及開放的端口,同時(shí),也能夠?qū)㈤_放的端口詳細(xì)信息列出來。
![]() |
圖6 掃描的整體結(jié)果 |
(5)查看具體的漏洞信息:如圖7所示,如果想查看具體的漏洞信息報(bào)告以及漏洞等級等詳細(xì)信息時(shí),可以點(diǎn)開圖中所示的對應(yīng)開放端口信息,并針對具體信息采取相應(yīng)的措施來對該漏洞進(jìn)行修補(bǔ)等操作。
![]() |
圖7 具體的漏洞信息 |
【51CTO.COM 獨(dú)家特稿,轉(zhuǎn)載請注明出處及作者!】