黑客原理與防范措施課件_第1頁
黑客原理與防范措施課件_第2頁
黑客原理與防范措施課件_第3頁
黑客原理與防范措施課件_第4頁
黑客原理與防范措施課件_第5頁
已閱讀5頁,還剩190頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第6章黑客原理與防范措施6.1計算機網(wǎng)絡(luò)系統(tǒng)的缺陷與漏洞6.2網(wǎng)絡(luò)監(jiān)聽6.3端口掃描6.4口令破解6.5特洛伊木馬6.6緩沖區(qū)溢出及其攻擊6.7黑客攻擊的一般步驟及防范措施6.8入侵Windows NT的實例6.9遠程入侵Windows 20006.10本章小結(jié)練習(xí)題在計算機網(wǎng)絡(luò)安全領(lǐng)域里,現(xiàn)在已有越來越多的非法用戶或敵對勢力利用各種手段攻擊計算機網(wǎng)絡(luò),計算機網(wǎng)絡(luò)數(shù)據(jù)在存儲和傳輸過程中可能被竊聽、暴露或篡改,以及網(wǎng)絡(luò)系統(tǒng)和應(yīng)用軟件也可能遭受黑客的惡意程序的攻擊而使網(wǎng)絡(luò)癱瘓,黑客攻擊網(wǎng)絡(luò)已成為造成網(wǎng)絡(luò)不安全的主要原因。因此,為了提高計算機網(wǎng)絡(luò)系統(tǒng)的安全性,必須了解計算機網(wǎng)絡(luò)不安全的因素和黑客攻擊

2、網(wǎng)絡(luò)的方法,做到知彼知己,同時采取相應(yīng)的防范措施。在本章中,將學(xué)習(xí)以下主要內(nèi)容:網(wǎng)絡(luò)系統(tǒng)的缺陷與漏洞;網(wǎng)絡(luò)監(jiān)聽的原理和作用;端口掃描原理與作用;口令破解與防范;緩沖區(qū)溢出及其攻擊;特洛伊木馬;黑客進攻網(wǎng)絡(luò)的方式和步驟;追蹤黑客和對黑客的防范措施。6.1計算機網(wǎng)絡(luò)系統(tǒng)的缺陷與漏洞計算機網(wǎng)絡(luò)的開放性以及黑客的攻擊是造成網(wǎng)絡(luò)不安全的主要原因,而利用網(wǎng)絡(luò)設(shè)計的缺陷是黑客能突破網(wǎng)絡(luò)防護進入網(wǎng)絡(luò)的主要手段之一。科學(xué)家在設(shè)計Internet之初就缺乏對安全性的總體構(gòu)想和設(shè)計,所用的TCP/IP協(xié)議是建立在可信的環(huán)境之下,主要考慮的是網(wǎng)絡(luò)互聯(lián),它缺乏對安全方面的考慮。這種基于地址的協(xié)議本身就會泄露口令。而且T

3、CP/IP協(xié)議是完全公開的;其遠程訪問的功能使許多攻擊者無須到現(xiàn)場就能夠得手;連接的主機基于互相信任的原則等這些性質(zhì)使網(wǎng)絡(luò)更加不安全。6.1.1 計算機網(wǎng)絡(luò)的設(shè)計缺陷計算機網(wǎng)絡(luò)的設(shè)計缺陷包括以下兩方面的內(nèi)容:(1) 物理結(jié)構(gòu)的設(shè)計缺陷 局域網(wǎng)采用廣播式網(wǎng)絡(luò)結(jié)構(gòu),所有主機發(fā)送的信息,在同一個網(wǎng)絡(luò)中的其他主機易監(jiān)聽;廣域網(wǎng)和Internet上的中繼設(shè)備(如路由器)可以監(jiān)聽所有網(wǎng)絡(luò)之間轉(zhuǎn)發(fā)的信息。(2) 網(wǎng)絡(luò)系統(tǒng)的漏洞、協(xié)議的缺陷與后門一些網(wǎng)絡(luò)協(xié)議(如TCP/IP協(xié)議)在實現(xiàn)上力求實效,而沒有過多地考慮安全因素。網(wǎng)絡(luò)操作系統(tǒng)過于龐大,存在致命的安全漏洞。網(wǎng)絡(luò)公司為了達到某些目的,在系統(tǒng)中設(shè)有安全后門

4、也造成網(wǎng)絡(luò)安全的隱患。1. 物理網(wǎng)絡(luò)結(jié)構(gòu)易被竊聽計算機網(wǎng)絡(luò)按通信信道類型分為廣播式網(wǎng)絡(luò)和點對點網(wǎng)絡(luò),這兩種網(wǎng)絡(luò)都存在不安全問題。(1) 廣播式網(wǎng)絡(luò)的安全問題當(dāng)今大多數(shù)局域網(wǎng)采用以太網(wǎng)方式,以太網(wǎng)上的所有設(shè)備都連在以太網(wǎng)總線上,它們共享同一個通信通道。以太網(wǎng)采用的是廣播方式的通信,廣播式通信網(wǎng)絡(luò)的特點是在該種通信子網(wǎng)中只有一個公共通信信道,為所有節(jié)點共享使用,任一時刻只允許一個節(jié)點使用公用信道。當(dāng)一個節(jié)點利用公共通信信道發(fā)送數(shù)據(jù)時,必須攜帶目的地址,網(wǎng)絡(luò)上所有的設(shè)備都能接收到每一個信息包,網(wǎng)絡(luò)上的設(shè)備通常將接收到的所有包都傳給主機界面,在這兒選擇計算機要接收的信息(比如選擇只有地址符合本站點的信

5、息包才接收),并將其他的過濾掉。以太網(wǎng)最有效傳遞的、最有意思的是目標(biāo)主機硬件并不給發(fā)送者提供有關(guān)信息已收到的信息,比如即使目標(biāo)計算機碰巧關(guān)機了,送給它的包自然就丟失,但發(fā)送者并不會知道這一點。很多網(wǎng)絡(luò)包括Internet其實就是把無數(shù)的局域網(wǎng)相連起來形成大的網(wǎng),然后再把大的網(wǎng)連成更大的網(wǎng),雖然網(wǎng)絡(luò)上的傳輸是點對點的,但一般網(wǎng)絡(luò)上的主機會處于一個局域網(wǎng)中。例如,清華開放實驗室是一個局域網(wǎng),它連到了校園網(wǎng),又連到了中國教育科研網(wǎng)(CERNET),中國教育科研網(wǎng)又連接到國外。局域網(wǎng),如以太網(wǎng)、令牌網(wǎng),都是廣播型網(wǎng)絡(luò),也就是說一臺主機發(fā)布消息,網(wǎng)上任何一臺機器都可以收到這個消息。在一般情況下,以太網(wǎng)卡

6、在收到發(fā)往別人的消息時會自動丟棄消息,而不向上層傳遞消息。但以太網(wǎng)卡的接收模式可以設(shè)置成混合型(promiscuous),這樣網(wǎng)卡就會捕捉所有的數(shù)據(jù)包中,并把這些數(shù)據(jù)包向上傳遞,這就是為什么以太網(wǎng)可以被竊聽,其實FDDI、令牌網(wǎng)也存在這樣的問題。現(xiàn)在人們經(jīng)常談?wù)摰腁TM網(wǎng)絡(luò)技術(shù)是點對點的,它不會像以太網(wǎng)的廣播式樣容易被竊聽。 (2) 點對點網(wǎng)絡(luò)的安全問題Internet和大部分廣域網(wǎng)采用點對點方式通信,在該種類型網(wǎng)中,任何一段物理鏈路都惟一連接一對節(jié)點,如果不在同一段物理鏈路的一對節(jié)點要通信,必須通過其他節(jié)點進行分組轉(zhuǎn)發(fā)。進行分組轉(zhuǎn)發(fā)的節(jié)點就可以竊聽。在Internet上的信息,容易被竊聽和劫

7、獲的另一個原因是,當(dāng)某人用一臺主機和國外的主機進行通信時,他們之間互相發(fā)送的數(shù)據(jù)包是經(jīng)過很多機器(如路由器)重重轉(zhuǎn)發(fā)的。例如,用戶在清華開放實驗室的一臺主機上訪問Hotmail主機,用戶的數(shù)據(jù)包要經(jīng)過開放實驗室的路由器、清華校園網(wǎng)的路由器、中國教育科研網(wǎng)上的路由器,然后從中國教育科研網(wǎng)的總出口出國,再經(jīng)過很多網(wǎng)絡(luò)和路由器才能到達Hotmail主機。具體要經(jīng)過多少主機、多少路由器和多少網(wǎng)絡(luò),用戶可以用一個網(wǎng)絡(luò)調(diào)試工具得到,這個工具就是Traceroute命令,在各種操作系統(tǒng)中都有,如Windows 95、Windows NT 和UNIX,名字上可能會有所差異,但功能和實現(xiàn)上是一樣的。Intern

8、et的這種工作原理不僅節(jié)約了資源,而且簡化了傳輸過程的實現(xiàn),符合TCP/IP簡單高效的宗旨,但這也給安全上帶來了問題。當(dāng)然用戶不可能力求安全而放棄這種方法,因為這樣做是不實際的,也是不必要的。用戶所能做的應(yīng)是意識到這種問題,并以其他辦法來提高安全性,如采用加密的方法。再回到安全這個主題上來,當(dāng)黑客使用一臺處于用戶的數(shù)據(jù)包傳輸路徑上的主機時,他就可以竊聽或劫持用戶的數(shù)據(jù)包。例如,處于中國教育科研網(wǎng)出口的一臺機器可以監(jiān)聽所有從這個網(wǎng)絡(luò)出國的數(shù)據(jù)包。談到安全問題,舉一個簡單的例子,就像有人用單位的總機竊聽別人電話的事一樣。在配有電話交換機的單位,單位里所有的電話都要經(jīng)過單位的總機,如果總機并不是程控

9、的,而是人工接線的,那么接線員極易竊聽別人的電話,這就有些類似剛才講的網(wǎng)絡(luò)竊聽。網(wǎng)絡(luò)竊聽可能是出于好奇,也可能是出于惡意。現(xiàn)在越來越多的黑客不再是喜歡破壞公物的人,而是商業(yè)間諜,所以網(wǎng)絡(luò)安全是把Internet真正推向商業(yè)化所必須要考慮和解決的問題。2. TCT/IP網(wǎng)絡(luò)協(xié)議的設(shè)計缺陷網(wǎng)絡(luò)通信的基礎(chǔ)是協(xié)議,TCP/IP協(xié)議是目前國際上最流行的網(wǎng)絡(luò)協(xié)議,該協(xié)議在實現(xiàn)上因力求實效,而沒有考慮安全因素,因為如果考慮安全因素太多,將會增大代碼量,從而會降低TCP/IP的運行效率,所以說TCP/IP本身在設(shè)計上就是不安全的。下面是現(xiàn)存的TCP/IP協(xié)議的一些安全缺陷:(1) 容易被竊聽和欺騙在大多數(shù)In

10、ternet上的流量是沒有加密的,如電子郵件口令、文件傳輸?shù)群苋菀妆槐O(jiān)聽和劫持,可以實現(xiàn)這些行為的工具很多,而且這些工具在網(wǎng)上是免費提供的。(2) 脆弱的TCP/IP服務(wù)很多基于TCP/IP的應(yīng)用服務(wù)都在不同程度上存在著不安全的因素,這很容易被一些對TCP/IP十分了解的人所利用,一些新的處于測試階段的服務(wù)存在有更多的安全缺陷。(3) 缺乏安全策略許多站點在網(wǎng)絡(luò)及防火墻配置上無意識地擴大了其訪問權(quán)限,忽視了這些權(quán)限可能會被內(nèi)部人員濫用,黑客從一些服務(wù)中可以獲得有用的信息,而網(wǎng)絡(luò)維護人員卻不知道應(yīng)該禁止這種服務(wù)。(4) 配置的復(fù)雜性訪問控制的配置一般十分復(fù)雜,所以很容易被錯誤配置,從而給黑客以可

11、乘之機。除上面的4個問題外,還有TCP/IP協(xié)議是被公布于世的,了解它的人越多,被人破壞的可能性也就越大?,F(xiàn)在,銀行之間在專用網(wǎng)上傳輸數(shù)據(jù)所用的協(xié)議都是保密的,這樣就可以有效地防止入侵。對于UNIX和Windows NT等網(wǎng)絡(luò)系統(tǒng)的安全問題,總體來說Windows NT要比UNIX安全,這并不是說Windows NT的沒有安全問題和缺陷,而是因為Windows NT的源代碼不公開,而UNIX的源代碼是極易得到的。當(dāng)然,人們不能把TCP/IP協(xié)議和其源代碼保密,這樣不利于TCP/IP網(wǎng)絡(luò)的發(fā)展,但人們可以在其他方面采取一些措施來彌補它。 隨著計算機網(wǎng)絡(luò)的發(fā)展,計算機網(wǎng)絡(luò)的功能和服務(wù)也越來越強,但

12、這也帶來了很多安全問題,如像Windows NT這樣的網(wǎng)絡(luò)系統(tǒng),代碼龐大,安全漏洞多。而且由于系統(tǒng)本身不完善和“后門問題”,被黑客們利用以侵入網(wǎng)絡(luò),給網(wǎng)絡(luò)的安全帶來很多隱患。6.1.2 計算機網(wǎng)絡(luò)系統(tǒng)的漏洞及漏洞等級我們經(jīng)常說,某某系統(tǒng)存在大量漏洞,黑客利用漏洞攻擊了系統(tǒng)。到底什么是漏洞?黑客是怎樣利用漏洞攻擊系統(tǒng)的?漏洞的危害性有多大?下面將講述這些方面的內(nèi)容。廣義的漏洞是指非法用戶未經(jīng)授權(quán)獲得訪問或提高其訪問層次的硬件或軟件特征。漏洞就是某種形式的脆弱性。實際上漏洞可以是任何東西。許多用戶非常熟悉的特殊的硬件或軟件存在漏洞:IBM兼容機的CMOS口令在CMOS的電池供電不足、不能供電或被移

13、走造成CMOS口令丟失也是漏洞;操作系統(tǒng)、瀏覽器、TCP/IP、免費郵箱等也存在漏洞。每個平臺無論是硬件還是軟件都存在漏洞。網(wǎng)絡(luò)漏洞主要是指網(wǎng)絡(luò)產(chǎn)品或系統(tǒng)存在的缺陷給網(wǎng)絡(luò)帶來的不安全因素,產(chǎn)生的主要原因是設(shè)計網(wǎng)絡(luò)產(chǎn)品或系統(tǒng)時考慮不周到。由于網(wǎng)絡(luò)系統(tǒng)的復(fù)雜性,網(wǎng)絡(luò)漏洞產(chǎn)生不可避免,現(xiàn)在主要做的是當(dāng)發(fā)現(xiàn)網(wǎng)絡(luò)漏洞后,應(yīng)及時采取補救措施。根據(jù)網(wǎng)絡(luò)漏洞或脆弱性給系統(tǒng)帶來性危害的大小,漏洞可分:允許拒絕服務(wù)的漏洞(C類)、允許有限權(quán)限的本地用戶未經(jīng)授權(quán)提高其權(quán)限的漏洞(B類)、允許外來團體(在遠程主機上)未經(jīng)授權(quán)訪問網(wǎng)絡(luò)的漏洞(A類)等3級類型。1. 允許拒絕服務(wù)的漏洞(C類)允許拒絕訪問的漏洞屬于C類,

14、它不會破壞數(shù)據(jù)和使數(shù)據(jù)泄密,是不太重要的漏洞。黑客利用這類漏洞進行攻擊幾乎總是基于操作系統(tǒng)的。也就是說,這些漏洞存在于網(wǎng)絡(luò)操作系統(tǒng)中。當(dāng)存在這種漏洞時,必須通過軟件開發(fā)者或銷售商的彌補予以糾正。對于大的網(wǎng)絡(luò)或站點,拒絕服務(wù)或攻擊只是有限的影響,最多不過是使人心煩而已。然而對于小的站點,可能會受到拒絕服務(wù)的重創(chuàng)。特別對于站點只是一臺單獨的機器(單獨的郵件或新聞服務(wù)器)更是如此。拒絕服務(wù)攻擊是一類人或多人利用Internet的核心協(xié)議TCP/IP的某些缺陷產(chǎn)生大量數(shù)據(jù)阻塞網(wǎng)絡(luò)、使服務(wù)器死機或因服務(wù)器負擔(dān)過重使系統(tǒng)拒絕正常用戶對系統(tǒng)信息進行合法的訪問。TCP/IP協(xié)議的這一類缺陷主要有:(1) UD

15、P攻擊UDP攻擊的原理是使兩個或兩個以上的系統(tǒng)之間產(chǎn)生巨大的UDP數(shù)據(jù)包。首先使這兩種UDP服務(wù)都產(chǎn)生輸出,然后讓這兩種UDP服務(wù)之間互相通信,使一方的輸出成為另一方的輸入,在兩個計算機之間產(chǎn)生了循環(huán),這樣會形成很大的數(shù)據(jù)流量。當(dāng)多個系統(tǒng)之間互相產(chǎn)生UDP數(shù)據(jù)包時,最終將導(dǎo)致整個網(wǎng)絡(luò)癱瘓。如果涉及的主機數(shù)目少,那么只有這幾臺主機會癱瘓。(2) TCP/SYN攻擊TCP/SYN作為一種拒絕服務(wù)攻擊存在的時間已經(jīng)有20多年了,它是利用TCP/IP的連接建立時的漏洞進行攻擊的,其原理簡單介紹如下:當(dāng)一臺黑客計算機A要與另外一臺主機B建立連接時,它的通信方式是先發(fā)一個SYN包告訴對方主機B說“我要和你

16、通信了”,當(dāng)B收到時,就回復(fù)一個ACK/SYN確認請求包給A主機。如果A是合法地址,就會再回復(fù)一個ACK包給B主機,然后兩臺主機就可以建立一個通信渠道了??墒钱?dāng)黑客計算機A發(fā)出的包的源地址是一個虛假的IP地址或者可以說是實際上不存在的一個地址,于是主機B發(fā)出的那個ACK/SYN包當(dāng)然就找不到目標(biāo)地址了。如果這個ACK/SYN包一直沒有找到目標(biāo)地址,那么也就是目標(biāo)主機無法獲得對方回復(fù)的ACK包。而在默認超時的時間范圍以內(nèi),主機的一部分資源要花在等待這個ACK包的響應(yīng)上,假如短時間內(nèi)主機A接到大量來自虛假IP地址的SYN包,它就要占用大量的資源來處理這些錯誤的等待,最后的結(jié)果就是系統(tǒng)資源耗盡以至癱

17、瘓。這種攻擊方式也是分布式網(wǎng)絡(luò)攻擊(D.O.S)的攻擊原理之一。(3) ICMP/PING攻擊ICMP/PING攻擊是利用一些系統(tǒng)不能接受超大的IP包或需要資源處理這一特性而進行的。ICMP協(xié)議是TCP/IP協(xié)議的重要組成部分,它主要是在網(wǎng)絡(luò)上查詢計算機的狀態(tài)。但是在Windows 98下,ICMP協(xié)議不能接收大的IP包,如在Linux下輸入Ping-t-l 66510 I P地址(未打補丁的Windows 95/Windows 98的計算機),計算機就會癱瘓。黑客可以編寫程序,產(chǎn)生大量的進程,每個進程都不停地發(fā)送PING包,從而導(dǎo)致被攻擊目標(biāo)無法正常工作。(4) ICMP/SMURF攻擊IC

18、MP/SMURF攻擊利用的是網(wǎng)絡(luò)廣播的原理來發(fā)送大量的數(shù)據(jù)包,而包的源地址就是要攻擊的計算機本身的地址,因此所有接收到此種數(shù)據(jù)包的主機都將給發(fā)包的地址發(fā)送一個ICMP回復(fù)包。例如,現(xiàn)在A主機要發(fā)動對B主機的SMURF攻擊。A通過向某個網(wǎng)絡(luò)的廣播地址發(fā)送ICMP ECHO包,這些ICMP包的源地址即被偽造為B主機的IP地址。當(dāng)這個廣播地址的網(wǎng)段上的所有活動主機接收到該ICMP包時,將回送ICMP ECHO REPLAY包。由于ICMP ECHO包的源地址為B主機,所以如果能收到該廣播包的計算機有500臺,則B主機會接收到500個ICMP ECHO REPLAY包!(5) TARGA3攻擊(IP堆

19、棧突破)TARGA3攻擊的基本原理是發(fā)送TCP/UDP/ICMP的碎片包,其大小、標(biāo)記、包數(shù)據(jù)等都是隨機的。一些有漏洞的系統(tǒng)內(nèi)核由于不能正確處理這些極端不規(guī)范的數(shù)據(jù)包,便會使其TCP/IP堆棧出現(xiàn)崩潰,從而導(dǎo)致無法繼續(xù)響應(yīng)網(wǎng)絡(luò)請求(即拒絕服務(wù))。還有其他形式的拒絕服務(wù)的攻擊。某些拒絕服務(wù)攻擊的實現(xiàn)針對個人而不是針對網(wǎng)絡(luò)用戶的。這種類型的攻擊不涉及任何bug或漏洞而是利用WWW的基本設(shè)計。并非每個拒絕服務(wù)攻擊都需要在Intemet發(fā)起。有許多在本地機甚至在沒有網(wǎng)絡(luò)環(huán)境的情況下也會發(fā)生的拒絕服務(wù)攻擊。2. 允許本地用戶非法訪問的漏洞(B類)B類漏洞是允許本地用戶獲得增加的未授權(quán)的訪問。這種漏洞一般

20、在多種平臺的應(yīng)用程序中發(fā)現(xiàn)。一個很好的例子是眾所周知的Sendmail問題。Sendmail可能是世界上發(fā)送電子郵件最盛行的方法,它是Internet的Email系統(tǒng)的中心。這個程序一般在啟動時作為例程初始化并且只要機器可用它就可用。在活動可用狀態(tài)下,Sendmail(在端口25)偵聽網(wǎng)絡(luò)空間上的發(fā)送和請求。當(dāng)Sendmail啟動時,它一般要求檢驗用戶的身份,只有root和與root相同權(quán)限的用戶有權(quán)啟動和維護Sendmai1程序。然而根據(jù)CERT咨詢處的“Sendmail Daemon Vulnerability”報告:“很遺憾,由于一個代碼錯誤,Sendmail則在例程模式下可以以一種繞過

21、潛入的方式激活。當(dāng)繞過檢查后,任何本地用戶都可以在例程下啟動Sendmail。另外在8.7版本中,在Sendmaill收到一個SIGHUP信號時會重新啟動。它通過使用exec(2)系統(tǒng)調(diào)用重新執(zhí)行自己來重新開始操作。重新執(zhí)行作為root用戶實現(xiàn)。通過控制Sendmail環(huán)境,用戶可以用root權(quán)限讓Sendmail運行一任意的程序?!币虼耍镜赜脩臬@得一種形式的root訪問。這些漏洞是很常見的,差不多每月都發(fā)生一次。Sendmail以這些漏洞而出名,但卻不是惟一的現(xiàn)象(也不是UNIX自身的問題)。像Sendmail這樣的程序中的漏洞特別重要,因為這些程序?qū)W(wǎng)上所有的用戶都是可用的,所有用戶都至

22、少有使用Sendmai1程序的基本權(quán)限,如果沒有的話,他們沒法發(fā)送郵件。因此Sendmail中的任何bug或漏洞都是十分危險的。B類漏洞惟一令人欣慰的是有較大的可能檢查出入侵者,特別是在入侵者沒有經(jīng)驗的情況下更是如此。如果系統(tǒng)管理員運行強有力的登錄工具,入侵者還需要有較多的專業(yè)知識才能逃避檢查。大多數(shù)B類漏洞產(chǎn)生的原因是由應(yīng)用程序中的一些缺陷引起的。有些常見的編程錯誤導(dǎo)致這種漏洞的產(chǎn)生。如緩沖區(qū)的溢出,有關(guān)緩沖區(qū)的溢出的問題,將在后面的有關(guān)章節(jié)中介紹。3. 允許過程用戶未經(jīng)授權(quán)訪問的漏洞(A類)A類漏洞是威脅性最大的一種漏洞。大多數(shù)的A類漏洞是由于較差的系統(tǒng)管理或設(shè)置有誤造成的。典型的設(shè)置錯誤

23、(或設(shè)置失敗)是網(wǎng)絡(luò)系統(tǒng)提供的任何存放在驅(qū)動器上的例子腳本,即使在這些版本的系統(tǒng)文檔中建議管理員刪掉這些腳本,這種漏洞在網(wǎng)絡(luò)上重現(xiàn)過無數(shù)次,包括那些在Web服務(wù)器版本中的文件。這些腳本有時會為來自網(wǎng)絡(luò)空間的侵入者提供有限的訪問權(quán)限甚至root的訪問權(quán)限。如test_cgi文件的缺陷是允許來自網(wǎng)絡(luò)空間的侵入者讀取CGI目錄下的文件。Novell平臺的一種HTTP服務(wù)器含有一個稱作Convert.bas的例子腳本。這個用BASIC編寫的腳本,允許遠程用戶讀取系統(tǒng)上的任何文件。A類漏洞涉及的不僅是一個文件,有時它與腳本的解釋方法有關(guān)。例如,Microsoft的Internet信息服務(wù)器(IIS)包含

24、一個允許任何遠程用戶執(zhí)行任意命令的漏洞。由于IIS將所有.bat或.cmd后綴的文件與cmd.exe程序聯(lián)系起來,所以危害性很大。如Julian Assange(Strobe的作者)所解釋的:“第一個Bug允許用戶訪問與wwwroot目錄在同一分區(qū)的任何文件(認為IIS_user可以讀此文件)。它也允許與腳本目錄在同一分區(qū)的任意可執(zhí)行文件的運行(認為IIS_user足以執(zhí)行此文件)。如果cmd.exe文件能被執(zhí)行,那么它也允許你執(zhí)行任何命令,讀取任意分區(qū)的任意文件(認為IIS_user可以讀取并執(zhí)行此文件)遺憾的是Netscape通信和Netscape商業(yè)服務(wù)器也都有相類似的Bug。對于Net

25、scape服務(wù)使用BAT或CMD文件作為CGI腳本則會發(fā)生類似的事情?!焙茏匀?,A類漏洞從外界對系統(tǒng)造成嚴重的威脅。在許多情況下,如果系統(tǒng)管理員只運行了很少日志的話,這些攻擊可能會不被記錄,使捉獲更為困難。你會很容易看到為什么像掃描器這樣的程序成為安全性的重要部分。掃描器的重要目的是檢查這些漏洞。因此,盡管安全性程序員把這些漏洞包含進他們的程序中作為檢查的選擇,但他們經(jīng)常是在攻擊者幾個月之后才這樣做(某些漏洞,比如說允許拒絕服務(wù)的synflooding漏洞不容易彌補,系統(tǒng)管理員目前必須得學(xué)會在這些不盡人意的漏洞下工作)。使形勢更為困難的是非UNIX平臺的漏洞要花更多的時間才會表現(xiàn)出來。例如許多

26、NT/2000的系統(tǒng)管理員不運行重要的日志文件,因為報告漏洞,他們必須有漏洞存在的證據(jù)。另外,新的系統(tǒng)管理員(在IBM兼容機中,這樣的管理員占很大比例)沒有對文檔和報告安全性事故做好準(zhǔn)備。這意味著漏洞出現(xiàn)后,被測試、重建測試環(huán)境及最后加入到掃描器前的時間浪費了。6.2 網(wǎng)絡(luò)監(jiān)聽網(wǎng)絡(luò)監(jiān)聽是黑客在局域網(wǎng)或路由器上進行的一項黑客技術(shù),他可以很容易地獲得用戶的密碼和賬號。網(wǎng)絡(luò)監(jiān)聽原本是網(wǎng)絡(luò)管理員使用的一個工具,主要用來監(jiān)視網(wǎng)絡(luò)的流量、狀態(tài)、數(shù)據(jù)等信息。它對網(wǎng)絡(luò)上流經(jīng)自己網(wǎng)段的所有數(shù)據(jù)進行接收,從中發(fā)現(xiàn)用戶的有用信息。網(wǎng)絡(luò)監(jiān)聽的危害很大。首先,它接收所有的數(shù)據(jù)報文,這就使網(wǎng)絡(luò)上的數(shù)據(jù)丟失,造成網(wǎng)絡(luò)通信不

27、暢。其次,在計算機網(wǎng)絡(luò)中,大量的數(shù)據(jù)是以明文傳輸?shù)?,如局域網(wǎng)上的FTP,Web等服務(wù)一般都是明文傳輸?shù)?。這樣,黑客就很容易拿到用戶名和密碼,而且有許多用戶為了記憶方便,在不同的服務(wù)上使用的用戶名和密碼都是一樣的,這就意味著一些網(wǎng)絡(luò)管理員的密碼會被他人得到(太危險了)。另外,網(wǎng)絡(luò)監(jiān)聽是采用被動的方式,它不與其他主機交換信息,也不修改密碼,這就使對監(jiān)聽者的追蹤變得十分困難。網(wǎng)絡(luò)監(jiān)聽主要使用Sniffer(嗅探器),Sniffer是一種常用的收集有用數(shù)據(jù)的工具,這些數(shù)據(jù)可以是用戶的賬戶和密碼,也可以是一些商用機密數(shù)據(jù)等。6.2.1 網(wǎng)絡(luò)監(jiān)聽Sniffer的工作原理通常,數(shù)據(jù)在網(wǎng)絡(luò)上是以很小的稱為“幀

28、”(又稱包)的單位傳輸?shù)?,幀由多個部分組成,不同的部分對應(yīng)不同的信息以實現(xiàn)相應(yīng)的功能。例如,以太網(wǎng)的前12個字節(jié)存放的是源地址和目的地址,這些數(shù)據(jù)告訴網(wǎng)絡(luò)該幀的來源和去處。其余則部分存放實際用戶數(shù)據(jù)、TCP/IP的報頭或IPX報頭等。幀是根據(jù)通信所使用的協(xié)議,由網(wǎng)絡(luò)驅(qū)動程序按照一定規(guī)則生成,然后通過網(wǎng)絡(luò)接口卡(網(wǎng)絡(luò)接口卡,在局域網(wǎng)中一般指網(wǎng)卡)發(fā)送到網(wǎng)絡(luò)中,通過網(wǎng)線傳送到它們的目的主機,在目的主機的一端按照同樣的通信協(xié)議執(zhí)行相反的過程。接收端計算機的網(wǎng)絡(luò)接口卡捕獲到這些幀,并告訴操作系統(tǒng)有新的幀到達,然后對其進行存儲。在正常情況下,網(wǎng)絡(luò)接口卡讀入一幀并進行檢查,如果幀中攜帶的目的地址(是指物理

29、地址而非IP地址,該地址是網(wǎng)絡(luò)設(shè)備的惟一性標(biāo)志)和自己的物理地址一致或者是廣播地址(就是被設(shè)定為一次性發(fā)送到網(wǎng)絡(luò)所有主機的特殊地址,當(dāng)目標(biāo)地址為該地址時,所有的網(wǎng)絡(luò)接口卡都會接收該幀),網(wǎng)絡(luò)接口卡通過產(chǎn)生一個硬件中斷引起操作系統(tǒng)注意,然后將幀中所包含的數(shù)據(jù)傳送給系統(tǒng)進一步處理,否則就將這個幀丟棄??梢韵胂蟮竭@樣一種特別情況:將本地網(wǎng)絡(luò)接口卡設(shè)置成promiscuous模式(“混雜”狀態(tài)來實現(xiàn)),網(wǎng)絡(luò)中某個網(wǎng)絡(luò)接口卡的物理地址不能確定,該網(wǎng)絡(luò)接口卡將會接收所有在網(wǎng)絡(luò)中傳輸?shù)膸?,無論該幀是廣播的還是發(fā)向某一指定地址的,這就形成了監(jiān)聽。如果某一臺主機被設(shè)置成這種監(jiān)聽模式,它就成了一個Sniffer。

30、以太網(wǎng)sniffing 是指對以太網(wǎng)設(shè)備上傳送的數(shù)據(jù)包進行偵聽,發(fā)現(xiàn)感興趣的包。如果發(fā)現(xiàn)符合條件的包,就把它存到一個log文件中去。通常設(shè)置的這些條件是包含字“username”或“password”的包。它的目的是將網(wǎng)絡(luò)層放到Promiscuous模式上,進行網(wǎng)絡(luò)數(shù)據(jù)幀的監(jiān)聽。Promiscuous模式是指網(wǎng)絡(luò)上的所有設(shè)備都對總線上傳送的數(shù)據(jù)進行偵聽,并不僅僅是它們自己的數(shù)據(jù)。當(dāng)一個設(shè)備要向某一目標(biāo)發(fā)送數(shù)據(jù)時,它是對以太網(wǎng)進行廣播的。一個連到以太網(wǎng)總線上的設(shè)備在任何時間里都在接受數(shù)據(jù)。不過只是將屬于自己的數(shù)據(jù)傳給該計算機上的應(yīng)用程序。利用這一點,可以將一臺計算機的網(wǎng)絡(luò)連接設(shè)置為接受所有以太網(wǎng)

31、總線上的數(shù)據(jù),從而實現(xiàn)Sniffer。Sniffer通常運行在路由器上或有路由器功能的主機上。這樣就能對大量的數(shù)據(jù)進行監(jiān)控。Sniffer屬第二層(數(shù)據(jù)鏈路層)的攻擊。通常是攻擊者已經(jīng)進入了目標(biāo)系統(tǒng),然后使用sniffer這種攻擊手段,以便得到更多的信息。sniffer除了能得到口令或用戶名外,還能得到更多的其他信息,比如一個其他重要的信息,在網(wǎng)上傳送的金融信息等等。sniffer幾乎能得到任何在以太網(wǎng)上傳送的數(shù)據(jù)包。有許多運行于不同平臺上的sniffer程序: 如Linux tcpdump,DOS ETHLOAD,The Gobbler,LanPatrol,LanWatch,Netmon,N

32、etwatch,Netzhack等。這些程序,可以從Internet上找到。使用sniffer程序或編寫一個功能強大的sniffer程序需要一些網(wǎng)絡(luò)方面的知識。因為如果沒有恰當(dāng)?shù)脑O(shè)置這個程序,根本就不能從大量的數(shù)據(jù)中找出需要的信息。通常sniffer程序只看一個數(shù)據(jù)包的前200300個字節(jié)的數(shù)據(jù),就能發(fā)現(xiàn)想要的口令和用戶名這樣的信息。6.2.2 怎樣在一個網(wǎng)絡(luò)上發(fā)現(xiàn)一個Sniffer網(wǎng)絡(luò)監(jiān)聽是采用被動的方式,它不與其他主機交換信息,也不修改密碼,這就使對監(jiān)聽者的追蹤變得十分困難,因為他們根本就沒有留下任何痕跡。一個主要的辦法是看看計算機上當(dāng)前正在運行的所有程序,這通常并不可靠,但用戶能控制哪個

33、程序可以在計算機上運行。在Windows系統(tǒng)下,按下Ctrl+Alt+Del,看一下任務(wù)列表。不過,編程技巧高的Sniffer即使正在運行,也不會出現(xiàn)在這里的。另一個方法就是在系統(tǒng)中搜索,查找可懷疑的文件。但可能入侵者用的是他們自己寫的程序,所以都給發(fā)現(xiàn)Sniffer造成相當(dāng)大的困難。還有許多工具,能用來看看系統(tǒng)會不會工作在promiscuous模式,從而發(fā)現(xiàn)是否有sniffer程序在運行。最近,Internet網(wǎng)絡(luò)上介紹了一種發(fā)現(xiàn)網(wǎng)絡(luò)監(jiān)聽者的新方法,它的原理是當(dāng)一臺主機處于監(jiān)聽狀態(tài)時,由于要接收網(wǎng)絡(luò)上所有數(shù)據(jù)幀,會負擔(dān)很重,例如,網(wǎng)卡處于promiscuous模式,對于TCP/IP協(xié)議中的I

34、GMP、ARP等協(xié)議沒有反應(yīng)(不同的系統(tǒng)有不同的反應(yīng)或反應(yīng)很慢),通過對這些的測試就可以知道對方的主機狀態(tài),從而發(fā)現(xiàn)監(jiān)聽者?,F(xiàn)在實現(xiàn)這項功能的Antisniff程序已被開發(fā)出來,感興趣的讀者可從Internet上下載。6.2.3 怎樣防止被Sniffer要防止Sniffer并不困難,有許多可以選用的方法,但關(guān)鍵是需要增加開銷。用戶最關(guān)心的是一些比較敏感的數(shù)據(jù)的安全,如用戶ID或口令等。有些數(shù)據(jù)是沒有經(jīng)過處理的,一旦被Sniffer,就能獲得這些信息。解決這些問題的辦法是加密。加密一般采用SSH,SSH又叫Secure Shell,是一個在應(yīng)用程序中提供安全通信的協(xié)議。它是建立在客戶機/服務(wù)器模

35、型上的。SSH服務(wù)器的分配端口是22。連接是通過使用一種來自RSA的算法建立的。在授權(quán)完成后,接下來的通信數(shù)據(jù)是用IDEA技術(shù)來加密的。這通常是較強的,適合于任何非秘密和非經(jīng)典的通訊。SSH后來發(fā)展成為F-SSH,提供了高層次的軍方級別的對通信過程的加密。它為通過TCP/IP網(wǎng)絡(luò)通信提供了通用的最強的加密。如果某個站點使用F-SSH,用戶名和口令就變得不是很重要了。目前,還沒有人突破過這種加密方法。即使是sniffer,收集到的信息將不再有價值。當(dāng)然最關(guān)鍵的是怎樣使用SSH和F-SSH加密方法。SSH和F-SSH都有商業(yè)或自由軟件版本存在:NT are available。另一個比較容易接受的

36、防止監(jiān)聽的方法是使用安全的網(wǎng)絡(luò)拓撲結(jié)構(gòu)。有一種智力游戲,它通常由一系列數(shù)字組成。游戲的目的是要安排好數(shù)字,用最少的步驟,把它們按遞減順序排好。處理網(wǎng)絡(luò)拓撲結(jié)構(gòu)就和玩這個游戲一樣。下面是一些規(guī)則。一個網(wǎng)絡(luò)段必須有足夠的理由才能信任另一網(wǎng)絡(luò)段。網(wǎng)絡(luò)段應(yīng)該在考慮的數(shù)據(jù)之間的信任關(guān)系上來設(shè)計,而不是按網(wǎng)絡(luò)硬件需要來建立。一個網(wǎng)絡(luò)段是僅由能互相信任的計算機組成的,通常它們在同一個房間里或在同一個辦公室里。比如財務(wù)信息,應(yīng)該固定在建筑的某一部分里。注意:每臺機器是通過硬連接線接到Hub上,Hub再接到交換機上。由于網(wǎng)絡(luò)分段了,數(shù)據(jù)包只能在這個網(wǎng)段上Sniffer,其余的網(wǎng)段將不可能被Sniffer。所有的

37、問題都歸結(jié)到信任上面,計算機為了和其他計算機進行通信,它就必須信任那臺計算機。作為系統(tǒng)管理員的工作是構(gòu)造一個策略,使得計算機之間的信任關(guān)系很小。這樣就建立了一種框架,告訴自己什么時候放置了一個Sniffer,它放在哪里了,是誰放的等等。如果局域網(wǎng)要和Internet相連,僅僅使用防火墻是不夠的。入侵者已經(jīng)能從一個防火墻后面掃描,并探測正在運行的服務(wù)。要關(guān)心的是一旦入侵者進入系統(tǒng),能得到些什么。必須考慮一條這樣的路徑,即信任關(guān)系有多長。舉個例子,假設(shè)你的Web服務(wù)器對某一計算機A是信任的,那么有多少計算機是A信任的呢?又有多少計算機是受這些計算機信任的呢?用一句話概括就是確定最小信任關(guān)系的那臺計

38、算機。在信任關(guān)系中,這臺計算機之前的任何一臺計算機都可能對你的計算機進行攻擊并成功。你的任務(wù)就是保證一旦出現(xiàn)的Sniffer,它只對最小范圍有效。 Sniffer往往是攻擊者在侵入系統(tǒng)后使用的,用來收集有用的信息。因此,防止系統(tǒng)被突破是關(guān)鍵。系統(tǒng)安全管理員要定期的對所管理的網(wǎng)絡(luò)進行安全測試,防止出現(xiàn)安全隱患。同時要控制擁有相當(dāng)權(quán)限的用戶的數(shù)量。請記住,許多攻擊往往來自網(wǎng)絡(luò)內(nèi)部。6.3 端口掃描在TCP/IP網(wǎng)絡(luò)協(xié)議中有一個重要的概念“端口”,它是為運行在計算機上的各種服務(wù)提供的服務(wù)端口,計算機通過端口進行通信和提供服務(wù)。在計算機網(wǎng)絡(luò)中,每個特定的服務(wù)都在特定的端口偵聽,當(dāng)用戶有數(shù)據(jù)到達,計算機

39、檢查數(shù)據(jù)包中的端口號,再根據(jù)端口號將它發(fā)向特定的端口,在這個特定端口偵聽的服務(wù)就是接收數(shù)據(jù),再把數(shù)據(jù)提供給網(wǎng)絡(luò)的上一層(網(wǎng)絡(luò)應(yīng)用層)。例如要發(fā)送一封E-mail給遠方的郵件服務(wù)器,那么數(shù)據(jù)就會帶上E-mail服務(wù)的端口號“25”,然后傳遞到目的服務(wù)器。這時目的服務(wù)器上的郵件服務(wù)進程正在“25”號端口進行偵聽,它看到有數(shù)據(jù)到達,就把數(shù)據(jù)接收下來,傳給應(yīng)用層。每個服務(wù)協(xié)議都有自己的端口號,如FTP協(xié)議的端口號為“21”,WWW協(xié)議的端口號為“80”等。一個端口就是一個潛在的通信通道,也就是一個入侵通道。6.3.1 什么是端口掃描端口掃描就是利用某種程序自動依次檢測目標(biāo)計算機上的所有端口,根據(jù)端口的

40、響應(yīng)情況判斷端口上運行的服務(wù)。對目標(biāo)計算機進行端口掃描,能得到許多有用的信息。進行掃描的方法很多,可以是手工進行掃描,也可以用端口掃描軟件進行。6.3.2 手工掃描在進行手工掃描時,需要熟悉各種命令,對命令執(zhí)行后的輸出進行分析。用掃描軟件進行掃描時,許多掃描器軟件都有分析數(shù)據(jù)的功能。通過端口掃描,可以得到許多有用的信息,從而發(fā)現(xiàn)系統(tǒng)的安全漏洞。下面首先介紹幾個常用網(wǎng)絡(luò)命令,對端口掃描原理進行介紹。 1. Ping命令Ping命令經(jīng)常用來對TCP/IP網(wǎng)絡(luò)進行診斷。通過對目標(biāo)計算機發(fā)送一個數(shù)據(jù)包,讓它將這個數(shù)據(jù)包反送回來,如果返回的數(shù)據(jù)包和發(fā)送的數(shù)據(jù)包一致,那就是說你的PING命令成功了。通過這

41、樣對返回的數(shù)據(jù)進行分析,就能判斷計算機是否開著,或者這個數(shù)據(jù)包從發(fā)送到返回需要多少時間。Ping命令的基本格式:ping hostname 其中hostname是目標(biāo)計算機的地址。Ping還有許多高級使用,下面就是一個例子:C: ping -f hostname 這條命令給目標(biāo)機器發(fā)送了大量的數(shù)據(jù),從而使目標(biāo)計算機忙于回應(yīng)。在使用Windows 95的計算機上,使用下面的方法:C:windowsping -l 65510 這樣做了之后,目標(biāo)計算機有可能會掛起來或從新啟動。由于使用-l 65510 選項會使系統(tǒng)產(chǎn)生一個巨大的數(shù)據(jù)包。由于要求對方的主機返回一個同樣大小的數(shù)據(jù)包,因而會使目標(biāo)計算機反

42、應(yīng)不過來。2. Tracert命令Tracert命令用來跟蹤一個消息從一臺計算機到另一臺計算機所走的路徑,比方說從你的計算機走到浙江信息超市。在DOS窗口下,命令如下:C:WINDOWStracert Tracing route to over a maximum of 30 hops1 84 ms 82 ms 95 ms 72 * 100 ms 95 ms 0fa1.1-rtr1-a-hz1.zj.CN.NET 33 95 ms 90 ms * 4 90 ms 90 ms 90 ms 85 95 ms 90 ms 99 ms 6 90 ms 95 ms 100 ms Trace comple

43、te.上面的這些輸出代表什么意思?最左邊的數(shù)字是該路由通過的計算機數(shù)目,如1。84 ms是指向那臺計算機發(fā)送消息的往返時間,單位是ms。由于每條消息每次的來回的時間不一樣,tracert將顯示來回時間3次。*表示來回時間太長,tracert將這個時間“忘掉了”。在時間信息到來后,計算機的名字信息也到了,如“7”。開始是一種便于人們閱讀的域名格式,如“0fa1.1-rtr1-a-hz1.zj.CN.NET”,接著是數(shù)字格式,如“3”。3. host命令host是一個UNIX命令,它的功能和標(biāo)準(zhǔn)的nslookup查詢一樣。惟一的區(qū)別是host命令比較容易理解。host命令的危險性相當(dāng)大,下面舉個使

44、用實例,演示一次對的host查詢。host -l -v -t any 這個命令的執(zhí)行結(jié)果所得到的信息十分多,包括操作系統(tǒng)、機器和網(wǎng)絡(luò)的很多數(shù)據(jù)。先看一下基本信息:Found 1 addresses for BU.EDU Found 1 addresses for NSEGC.BU.EDUTrying 86400 IN SOA BU.EDU HOSTMASTER.BU.EDU 86400 IN NS SOFTWARE.BU.EDU 86400 IN A 這些信息本身并沒有危險,只是一些機器和它們的DNS服務(wù)器的名字。這些信息可以用

45、WHOIS或在注冊域名的站點中檢索到。但看看下面幾行信息: 86400 IN HINFO SUN-SPARCSTATION-10/41 UNIX ODIE. 86400 IN HINFO DEC-ALPHA-3000/300LX OSF1從這里,馬上就會發(fā)現(xiàn)一臺DEC Alpha運行的是OSF1操作系統(tǒng)。再看看:STRAUSS. 86400 IN HINFO PC-PENTIUM DOS/WINDOWSBURULLUS. 86400 IN HINFO SUN-3/50 UNIX (Ouch)GEORGETOWN. 86400 IN H

46、INFO MACINTOSH MAC-OSCABMAC. 86400 IN HINFO MACINTOSH MAC-OSVIDUAL. 86400 IN HINFO SGI-INDY IRIXBUPHYC. 86400 IN HINFO VAX-4000/300 OpenVMS可見,任何人都能通過在命令行里鍵入一個命令,就能收集到一個域里的所有計算機的重要信息。而且只花了3s的時間。利用上述有用的網(wǎng)絡(luò)命令,可以收集到許多有用的信息。例如,一個域里的名字服務(wù)器的地址;一臺計算機上的用戶名;一臺服務(wù)器上正在運行什么的服務(wù);這個服務(wù)是由哪個軟件提供的;計算機上運行

47、的是什么操作系統(tǒng)等。6.3.3 使用端口軟件掃描 1. 什么是掃描器檢測網(wǎng)絡(luò)系統(tǒng)所采用的自動檢測程序被稱為掃描器,即掃描器是一種自動檢測遠程或本地主機安全性弱點的程序。通過使用掃描器,可以不留痕跡地發(fā)現(xiàn)遠程服務(wù)器的各種TCP端口的分配及提供的服務(wù)和它們的軟件版本,這就能間接地或直觀地了解到遠程主機所存在的安全問題。對黑客來講,掃描器可以說是他們的基本武器,一個好的TCP端口掃描器相當(dāng)于幾百個合法用戶的口令及密碼。而對管理員來講,掃描器同樣具備了檢查漏洞、提高安全性的重要作用。2. 掃描器工作原理掃描器通過選用遠程TC/IP不同的端口的服務(wù),并記錄目標(biāo)給予的回答,通過這種方法,可以搜集到很多關(guān)于

48、目標(biāo)主機的各種有用的信息。例如,是否能用匿名登錄,是否有可寫的FTP目錄,是否能用TELNET。3. 掃描器的功能掃描器并不是一個直接的攻擊網(wǎng)絡(luò)漏洞的程序,它不同于許多攻擊軟件!它僅僅能幫助發(fā)現(xiàn)目標(biāo)機的某些內(nèi)在的弱點,而這些現(xiàn)存的弱點可能是破壞目標(biāo)機安全的關(guān)鍵。雖然對于一個剛剛?cè)腴T的黑客來說,這些數(shù)據(jù)對他來說無疑是一個毫無價值的數(shù)據(jù)集合。但是,對一個掌握和精通各種網(wǎng)絡(luò)應(yīng)用程序的漏洞的黑客來說,這就不僅僅是一個簡單的數(shù)據(jù)集合,它的價值遠遠超過幾百個有用的賬號。4. 掃描器的分類掃描器按對象的不同可以分為本地掃描器和遠程掃描器。對黑客來講使用得更多的是遠程掃描器,遠程掃描器也可以用來掃描本地主機。

49、如果按照掃描的目的來分類,可以分為端口掃描器和漏洞掃描器。端口掃描器知識單純地用來掃描目標(biāo)機開放的服務(wù)端口以及與端口相關(guān)的信息。常見的端口掃描器有nmap、portscan等,這類掃描器并不能給出直接可以利用的漏洞,而是給出與突破系統(tǒng)相關(guān)的信息。這些信息對于普通人來說也許是極為平常的,絲毫不能對安全造成威脅,但一旦到了黑客的手里,它們就成為突破系統(tǒng)所必須的關(guān)鍵信息。與端口掃描相比,漏洞掃描器更為直接,它檢查掃描目標(biāo)中可能包含的大量已知的漏洞,如果發(fā)現(xiàn)潛在的漏洞可能性,就報告給掃描者。這種掃描器的威脅性極大,因為黑客可以利用掃描少的結(jié)果進行攻擊。如前所述,使用端口掃描的目的是要得到目標(biāo)計算機的操

50、作系統(tǒng)、服務(wù)和應(yīng)用程序的情況。如果知道目標(biāo)計算機上運行的操作系統(tǒng)、服務(wù)和應(yīng)用程序后,就能利用已經(jīng)發(fā)現(xiàn)的他們的漏洞來進行攻擊。如果目標(biāo)計算機的網(wǎng)絡(luò)管理員沒有對這些漏洞及時修補的話,入侵者能輕而易舉的闖入該系統(tǒng),獲得管理員權(quán)限,并留下后門。如果入侵者得到目標(biāo)計算機上的用戶名后,能使用口令破解軟件,多次試圖登錄目標(biāo)計算機。經(jīng)過嘗試后,就有可能進入目標(biāo)計算機。得到了用戶名,就等于得到了一半進入系統(tǒng)的權(quán)限,剩下的只是使用軟件進行攻擊而已。6.3.4 預(yù)防端口掃描預(yù)防端口掃描的檢測是一個大的難題,因為每個網(wǎng)站的服務(wù)都是公開的,用戶必須對所有的請求進行響應(yīng),所以一般無法判斷是否有人在掃描自己的端口。但是根據(jù)

51、端口掃描的原理,掃描器一般都是自動掃描的,它只是查看端口是否開通,然后在列表中查出相應(yīng)端口的服務(wù)即可。因此,用戶可以把服務(wù)開在其他端口上,如Microsoft的IIS服務(wù)器上,就可以將HTTP服務(wù)固定的80端口改為其他端口。另外,有些軟件還可以在一些端口上欺騙黑客,讀者不妨試試。6.4口令破解口令認證是計算機網(wǎng)絡(luò)安全的主要組成部分之一,目前各種網(wǎng)絡(luò)環(huán)境都利用口令認證機制管理用戶入網(wǎng)??诹顚τ诰W(wǎng)絡(luò)用戶來說非常重要,如果一個用戶(特別是超級用戶)的密碼丟失或被破解,網(wǎng)絡(luò)系統(tǒng)將會遭受不可估量的損失??诹畹姆雷o是至關(guān)重要的,它也是黑客攻擊的重要目標(biāo)之一。6.4.1 用戶的登錄口令認證機制一般比較安全的

52、計算機網(wǎng)絡(luò)系統(tǒng)要求每個用戶使用惟一的用戶名和口令登錄到計算機上,這種登錄過程不能關(guān)閉。用戶登錄過程是:計算機網(wǎng)絡(luò)系統(tǒng)在用戶登錄前,可以看到屏幕上顯示一個登錄框,提示用戶登錄網(wǎng)絡(luò)系統(tǒng)。實際上,計算機網(wǎng)絡(luò)系統(tǒng)中有一個登錄進程,負責(zé)登錄認證工作,首先要求用戶在登錄框輸入賬戶名及口令。登錄進程收到用戶輸入的賬戶和口令后,就查找安全賬戶數(shù)據(jù)庫中的信息。如果賬戶及口令無效,則用戶的登錄企圖被拒絕;如果賬戶及口令有效,系統(tǒng)將檢查該用戶的權(quán)限,用戶就可以入網(wǎng),根據(jù)自己的權(quán)限使用網(wǎng)絡(luò)中的資源。6.4.2 口令破解的方法黑客攻擊網(wǎng)絡(luò)時常常把破譯普通用戶的口令作為攻擊的開始。他先用掃描工具,如“finger”協(xié)議找

53、出網(wǎng)絡(luò)中主機上的用戶賬號,然后就采用字典窮舉法生成大量的隨機密碼,一種方法是利用這些密碼登錄用戶的系統(tǒng),如果密碼不對,他就使用下一個隨機密碼,直到密碼被查出為止。另外一種方法是利用系統(tǒng)的漏洞獲取系統(tǒng)安全賬戶文件,采用口令破解器進行破解。采用前一種方法進行密碼猜測的步驟是依據(jù)下列假設(shè):網(wǎng)絡(luò)上的用戶常采用一個英語單詞或自己的姓氏作為口令。通過一些程序,自動地從計算機字典中取出一個單詞,作為用戶的口令輸入給遠端的主機,申請進入系統(tǒng)。若口令錯誤,就按序取出下一個單詞,進行下一個嘗試。并一直循環(huán)下去,直到找到正確的口令或字典的單詞試完為止。由于這個破譯過程由計算機程序來自動完成,而現(xiàn)代的個人計算機性能十

54、分優(yōu)越,幾個小時就可以把字典的所有單詞都試一遍。所以黑客只要有一個好的字典、一個性能卓越的個人計算機和高速網(wǎng)絡(luò)帶寬就很容易進行口令猜測攻擊了。若這種方法不能奏效,黑客再仔細尋找目標(biāo)的薄弱環(huán)節(jié)和漏洞,伺機奪取目標(biāo)中存放口令的文件,也就是利用口令破解器進行破解。6.4.3 口令破解器口令破解器是一個程序,它能將口令解譯出來或者讓口令保護失效??诹钇平馄饕话悴⒉皇钦嬲厝ソ獯a,因為事實上很多加密算法是不可逆的。也就是說,光是從被加密的數(shù)據(jù)和加密算法,不可能從它們身上反解出原來未加密的數(shù)據(jù)。其實大多數(shù)口令破解器是通過嘗試一個一個的單詞,用知道的加密算法來加密這些單詞,直到發(fā)現(xiàn)一個單詞經(jīng)過加密后的結(jié)果和

55、要解密的數(shù)據(jù)一樣,就認為這個單詞就是要找的密碼了。這就是目前最有效的方法。這種方法之所以比想象的有效得多的原因如下所述。許多人在選擇密碼時,技巧性都不是很好。許多人還認為他的私人數(shù)據(jù)反正沒有放在網(wǎng)上,所以密碼選擇也比較隨便。其實一個用戶在一個系統(tǒng)里有一個賬戶,就是一個通入系統(tǒng)的門。如果其中一個密碼不安全,則整個系統(tǒng)也就是不安全的。由于用戶密碼的設(shè)置往往都是一些有意義的單詞或者干脆就是用戶名本身,使得破解器的嘗試次數(shù)大為降低。許多加密算法在選擇密鑰時,都是通過隨機數(shù)算法產(chǎn)生的。但往往由于這個隨機數(shù)算法并不是真正意義上的隨機數(shù),從而大大降低了這個隨機性,從而為解密提供了一些列的方便。例如,本來需要

56、嘗試1 000次,但由于上述隨機性并不好,結(jié)果使得只需嘗試100次就能成功。以Linux為例,讓我們把Linux口令的可能值統(tǒng)計一下:Linux一共是0 x000 xff共128個字符,小于0 x20的都算是控制符,不能輸入為口令,0 x7f為轉(zhuǎn)義符,不能輸入。那么總共有128-32-195個字符可作為口令使用的字符。也就是10(數(shù)字)十33(標(biāo)點符號)+262(大小寫字母)95個字母可以作為口令輸入。如果Password取任意5個字母十1位數(shù)字或符號(按順序)可能性是52525252524316,348,773,000(163億種可能性)。但如果5個字母是一個常用詞,估算一下設(shè)常用詞5000

57、條,從5000個常用詞中取一個詞與任意一個字符組合成口令,即5000(22222)(大小寫)436,880,000(688萬種可能性)。但這已經(jīng)可以用計算機進行窮舉了,在Pentium 200上每秒可算3,4萬次,像這樣簡單的口令要不了3分鐘。如果有人用P200計算機算上一周,將可進行200億次攻擊,所以6位口令是很不可靠的,至少要用7位。可惜很多用戶確實是這樣設(shè)passwd(密碼)的,以上只是常見的一種情況,實際情況還要復(fù)雜,主要是根據(jù)用戶設(shè)置口令格式的變化而變化。那些Hacker并不需要所有人的口令,他們得到幾個用戶口令就能獲取系統(tǒng)的控制權(quán),所以設(shè)置口令過于簡單就是對系統(tǒng)安全不負責(zé)任。注意

58、,實際情況下絕大多數(shù)人都只用小寫字符,可能性還要小。另外,許多人的口令設(shè)置是把用戶名和密碼寫成一樣,這就更加增添了口令的不安全性。我們在進行口令猜測時,就多次遇到過這樣的情況。還有一個原因是目前計算機的速度相當(dāng)?shù)目?,而且由于互?lián)網(wǎng)的存在,使得協(xié)同進行解密的可能性大為增加。這樣強的計算能力用到解密上,造成了破解的時間大為降低。通過上述分析,可見,從理論上講,任何密碼都是可以破解的,只是一個時間遲早的問題。對于一些安全性較低的系統(tǒng),速度通常很快。對于那種需要一個口令或注冊碼才能安裝軟件的情況,口令破解會顯得更為簡單。這種情況可能會經(jīng)常遇到。例如,安裝一個微軟的軟件,在安裝過程中通常需要輸入一個CD

59、-Key,如果這個CD-Key是正確的,那么它就開始安裝。如果是非法的,那么就退出安裝。通常有以下兩種方法可以使這種方式失效。一種是修改安裝程序。因為這種方法的流程一般是在安裝的時候先彈出一個對話框,請求輸入CD-Key。接著程序會對輸入的CD-Key進行運算,最后根據(jù)得到的結(jié)果決定是繼續(xù)安裝還是退出。現(xiàn)在有很多調(diào)試軟件,它們提供豐富的調(diào)試功能,如單步執(zhí)行,設(shè)置斷點等。一個比較好的軟件是Soft-ICE。在運行安裝程序之前,可以在調(diào)試軟件里設(shè)置在系統(tǒng)彈出CD-Key輸入對話框的時候停止執(zhí)行。接著就可以用調(diào)試器跟蹤代碼的執(zhí)行,將CD-Key判斷部分整個的跳過去,直接進入安裝程序。另一種方法就是算

60、法嘗試。由于安裝程序要對CD-Key進行運算,判斷其合法性。因此,只要知道CD-Key的算法,就能輕而易舉的進入。已經(jīng)有人對微軟的這種算法進行了探討,發(fā)現(xiàn)這些算法策略都很簡單。6.4.4 口令破解器是怎樣工作的要知道口令破解器是如何工作的,主要還是要知道計算機網(wǎng)絡(luò)系統(tǒng)的認證加密算法。正如上面所說的,許多口令破解器是對某些單詞先進行加密,然后再進行比較。候選口令產(chǎn)生器的作用是產(chǎn)生認為可能是密碼的單詞。通常有好幾種方法產(chǎn)生候選密碼。一種是從一個字典里讀取一個單詞。這種方法的理論根據(jù)是許多用戶由于取密碼有些不是很明智,例如,將自己的名字、用戶名或者一個好記住的單詞等。所以,攻擊時通常都將這些單詞收集

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論