漏洞掃描原理及程序
從圖l可以看出,在telnet連上FTP服務(wù)器后,服務(wù)器返回的banner已經(jīng)提供了server的信息,在執(zhí)行ftp的syst命令后可得到更具體的信息。
2.3.2 HTTP響應(yīng)分析
在和目標(biāo)主機(jī)建立HTTP連接后,可以分析服務(wù)器的響應(yīng)包得出OS類型。比如響應(yīng)包中可能包含如下信息:
圖2 響應(yīng)包分析
從圖2中對(duì)響應(yīng)包中的數(shù)據(jù)分析,可以得到server的信息。
2.3.3棧指紋分析
網(wǎng)絡(luò)上的主機(jī)都會(huì)通過TCP/IP或類似的協(xié)議棧來互通互聯(lián)。由于0S開發(fā)商不唯一,系統(tǒng)架構(gòu)多樣,甚至是軟件版本的差異,都導(dǎo)致了協(xié)議棧具體實(shí)現(xiàn)上的不同。對(duì)錯(cuò)誤包的響應(yīng),默認(rèn)值等都可以作為區(qū)分0S的依據(jù)。
(1)主動(dòng)棧指紋探測(cè)
主動(dòng)棧指紋探測(cè)是主動(dòng)向主機(jī)發(fā)起連接,并分析收到的響應(yīng),從而確定OS類型的技術(shù)。
1)FIN探測(cè)。跳過TCP三次握手的順序,給目標(biāo)主機(jī)發(fā)送一個(gè)FIN包。RFC793規(guī)定,正確的處理是沒有響應(yīng),但有些OS,如MS Windows,CISC0,HP/UX等會(huì)響應(yīng)一個(gè)RST包。
2)Bogus標(biāo)志探測(cè)。某些OS會(huì)設(shè)置SYN包中TCP頭的未定義位(一般為64或128),而某些0S在收到設(shè)置了這些Bogus位的SYN包后,會(huì)重置連接。
3)統(tǒng)計(jì)ICMP ERROR報(bào)文。RFCl812中規(guī)定了ICMP ERROR消息的發(fā)送速度。Linux設(shè)定了目標(biāo)不可達(dá)消息上限為80個(gè)/4秒。0S探測(cè)時(shí)可以向隨機(jī)的高端UDP端口大量發(fā)包,然后統(tǒng)計(jì)收到的目標(biāo)不可達(dá)消息。用此技術(shù)進(jìn)行OS探測(cè)時(shí)時(shí)間會(huì)長(zhǎng)一些,因?yàn)橐罅堪l(fā)包,并且還要等待響應(yīng),同時(shí)也可能出現(xiàn)網(wǎng)絡(luò)中丟包的情況。
4)ICMPERROR報(bào)文引用。RFC文件中規(guī)定,ICMP ERROR消息要引用導(dǎo)致該消息的ICMP消息的部分內(nèi)容。例如對(duì)于端口不可達(dá)消息,某些OS返回收到的IP頭及后續(xù)的8個(gè)字節(jié),Solaris返回的 ERROR消息中則引用內(nèi)容更多一些,而Linux比Solaris還要多。
(2)被動(dòng)棧指紋探測(cè)
被動(dòng)棧指紋探測(cè)是在網(wǎng)絡(luò)中監(jiān)聽,分析系統(tǒng)流量,用默認(rèn)值來猜測(cè)0S類型的技術(shù)。
1)TCP初始化窗口尺寸。通過分析響應(yīng)中的初始窗口大小來猜測(cè)OS的技術(shù)比較可靠,因?yàn)楹芏?S的初始窗口尺寸不同。比如AIX設(shè)置的初始窗口尺寸是0x3F25,而Windows NT5、OpenBSD、FreeBSD設(shè)置的值是0x402E。
2)Don’t Fragment位。為了增進(jìn)性能,某些0S在發(fā)送的包中設(shè)置了DF位,可以從DF位的設(shè)置情況中做大概的判斷。
3)TCPISN采樣。建立TCP連接時(shí),SYN/ACK中初始序列號(hào)ISN的生成存在規(guī)律,比如固定不變、隨機(jī)增加 (Solaris,F(xiàn)reeBSD等),真正的隨機(jī)(Linux 2.0.*),而Windows使用的是時(shí)間相關(guān)模型,ISN在每個(gè)不同時(shí)間段都有固定的增量。
2.4脆弱點(diǎn)掃描
從對(duì)黑客攻擊行為的分析和脆弱點(diǎn)的分類,絕大多數(shù)掃描都是針對(duì)特定操作系統(tǒng)中特定的網(wǎng)絡(luò)服務(wù)來進(jìn)行,即針對(duì)主機(jī)上的特定端口。脆弱點(diǎn)掃描使用的技術(shù)主要有基于脆弱點(diǎn)數(shù)據(jù)庫(kù)和基于插件兩種。
2.4.1基于脆弱點(diǎn)數(shù)據(jù)庫(kù)的掃描
首先構(gòu)造掃描的環(huán)境模型,對(duì)系統(tǒng)中可能存在的脆弱點(diǎn)、過往黑客攻擊案例和系統(tǒng)管理員的安全配置進(jìn)行建模與分析。其次基于分析的結(jié)果,生成一套標(biāo)準(zhǔn)的脆弱點(diǎn)數(shù)據(jù)庫(kù)及匹配模式。最后由程序基于脆弱點(diǎn)數(shù)據(jù)庫(kù)及匹配模式自動(dòng)進(jìn)行掃描工作。脆弱點(diǎn)掃描的準(zhǔn)確性取決于脆弱點(diǎn)數(shù)據(jù)庫(kù)的完整性及有效性。
評(píng)論