漏洞掃描一般指掃描暴露在外網(wǎng)或者內(nèi)網(wǎng)里的系統(tǒng)、網(wǎng)絡(luò)組件或應(yīng)用程序,檢測(cè)其中的漏洞或安全弱點(diǎn),而漏洞掃描器則是用來執(zhí)行漏洞掃描的工具。漏洞掃描器一般基于漏洞數(shù)據(jù)庫(kù)來檢查遠(yuǎn)程主機(jī),漏洞數(shù)據(jù)庫(kù)包含了檢查安全問題的所有信息(服務(wù)、端口、包類型、潛在的攻擊路徑,等等)。它可以掃描網(wǎng)絡(luò)和網(wǎng)站上的上千個(gè)漏洞,提供一個(gè)風(fēng)險(xiǎn)列表,以及補(bǔ)救的建議。
下列人員會(huì)用到漏洞掃描器:
安全審計(jì)人員在進(jìn)行安全審計(jì)時(shí)。
惡意攻擊者或者黑客在攻擊目標(biāo)、獲取非法訪問時(shí)。
程序開發(fā)團(tuán)隊(duì)在發(fā)布環(huán)境中部署產(chǎn)品之前。
流行的掃描工具包含下面的功能:
維護(hù)一個(gè)包含最新漏洞的數(shù)據(jù)庫(kù)。
以較低的誤報(bào)率檢測(cè)出漏洞。
同時(shí)掃描多個(gè)目標(biāo)。
提供詳細(xì)的報(bào)告,包括請(qǐng)求和響應(yīng)對(duì)。
提供修復(fù)漏洞的建議。
架構(gòu)
掃描器的組件
漏洞掃描可以分成四個(gè)部分:
1、用戶接口:用戶通過這個(gè)接口運(yùn)行和配置一個(gè)掃描。這可以是圖形界面(GUI)也可以是命令行接口(CLI)。
2、掃描引擎:掃描引擎通過安裝和配置的插件來執(zhí)行掃描。
3、掃描數(shù)據(jù)庫(kù):掃描數(shù)據(jù)庫(kù)保存了掃描器需要的數(shù)據(jù)。包括,漏洞信息、插件、消除漏洞的步驟、CVE-ID映射(常見的漏洞)、掃描結(jié)果,等等。
4、報(bào)告模塊:報(bào)告模塊提供了不同的選項(xiàng),可以生成不同類型的報(bào)告。比如,詳細(xì)報(bào)告、漏洞列表、圖形化報(bào)告,等等。
類型
掃描可以分成兩類
外網(wǎng)掃描:有一些設(shè)備和資產(chǎn)是暴露在互聯(lián)網(wǎng)的。大部分的機(jī)構(gòu)都開放了80或者443端口,這樣人們可以通過互聯(lián)網(wǎng)訪問他們的網(wǎng)站。許多管理員覺得他們實(shí)現(xiàn)了邊界防火墻,這樣他們就很安全了。但是,并不總是這樣的。防火墻可以依據(jù)定義的規(guī)則和策略阻止對(duì)網(wǎng)絡(luò)的非授權(quán)訪問,但是如果攻擊者找到了通過這些端口(比如80或者443)攻擊其它系統(tǒng)的方法,防火墻就不能保護(hù)你了,因?yàn)槔眠@些端口,攻擊者就自動(dòng)繞過了防火墻,進(jìn)入了你的網(wǎng)絡(luò)。
外部掃描是重要的,它檢測(cè)那些面向互聯(lián)網(wǎng)的資產(chǎn)的漏洞。攻擊者通過這些漏洞可以訪問內(nèi)網(wǎng)。外部掃描可以通過在互聯(lián)網(wǎng)機(jī)器上運(yùn)行漏洞掃描器來實(shí)現(xiàn)。最好在攻擊者利用已公開的安全問題和漏洞之前,就消除它們,
內(nèi)網(wǎng)掃描:并不是所有的攻擊都來自外部網(wǎng)絡(luò)。黑客和惡意軟件也可以在內(nèi)網(wǎng)中出現(xiàn)。通過以下方式,就可以訪問內(nèi)網(wǎng):
惡意軟件或者病毒通過互聯(lián)網(wǎng)或者USB下載到網(wǎng)絡(luò)中
一個(gè)可以訪問內(nèi)網(wǎng)的不滿的員工
外部的黑客獲取了訪問內(nèi)部網(wǎng)絡(luò)的權(quán)限
因此,在內(nèi)網(wǎng)里運(yùn)行漏洞掃描器也同樣重要。在內(nèi)網(wǎng)的一臺(tái)機(jī)器上運(yùn)行漏洞掃描器,可以對(duì)網(wǎng)絡(luò)中的關(guān)鍵組件進(jìn)行掃描。重要的組件包括核心路由器、交換機(jī)、工作站、web服務(wù)器、數(shù)據(jù)庫(kù),等等。
多久掃描一次?
每天都有很多新漏洞被發(fā)現(xiàn)。每個(gè)新的漏洞都會(huì)增加危險(xiǎn)。因此,定期掃描資產(chǎn)非常重要。發(fā)現(xiàn)最新的安全問題可以幫助機(jī)構(gòu)關(guān)閉安全漏洞,抵御攻擊。
多久執(zhí)行一次漏洞掃描并沒有確定的數(shù)字。根據(jù)機(jī)構(gòu)的不同而不同。
掃描的頻率基于以下幾點(diǎn):
資產(chǎn)的重要性:越重要的資產(chǎn)掃描應(yīng)該越頻繁,這樣就能打上最新的補(bǔ)丁。
曝光度:識(shí)別和掃描那些暴露給大量用戶的組件。這可以是外部和內(nèi)部資產(chǎn)。
變動(dòng)現(xiàn)存環(huán)境時(shí):對(duì)現(xiàn)存環(huán)境的任何修改,增加新的組件和資產(chǎn)等,都應(yīng)該進(jìn)行漏洞掃描。
PCI和漏洞掃描器
支付卡行業(yè)數(shù)據(jù)安全標(biāo)準(zhǔn)PCI DSS(Payment Card Industry Data Security Standard)是一系列保證那些處理、存儲(chǔ)、傳遞信用卡信息的企業(yè)的環(huán)境安全的必要條件。PCI SSC(Payment Card Industry Security Standard Council)是在2006年9月7日發(fā)起的,旨在改善交易過程的安全狀況。PCI DSS要求所有接受信用卡的廠商執(zhí)行定期的漏洞掃描,發(fā)現(xiàn)他們商業(yè)網(wǎng)絡(luò)和應(yīng)用程序中潛在的安全問題。
根據(jù)PCI DSS Requirement and Security Assessment Procedures document/documents/PCI_DSS_v3-2.pdf文檔
11.2 最少一季度運(yùn)行一次內(nèi)部和外部網(wǎng)絡(luò)漏洞掃描,在一些重大變化之后也掃描一次(比如安裝了新的系統(tǒng)組件,改變了網(wǎng)絡(luò)拓?fù)洌薷牧朔阑饓σ?guī)則,設(shè)計(jì)了產(chǎn)品)。
外網(wǎng)掃描:PCI要求對(duì)所有的外網(wǎng)IP地址都要進(jìn)行漏洞掃描。可以在機(jī)構(gòu)網(wǎng)絡(luò)的外面進(jìn)行掃描。掃描必須由PCI SSC認(rèn)證過的掃描供應(yīng)商來(ASV)實(shí)施。
內(nèi)網(wǎng)掃描:PCI要求對(duì)內(nèi)網(wǎng)中保存卡的數(shù)據(jù)的組件進(jìn)行漏洞掃描。這可以從內(nèi)部的角度發(fā)現(xiàn)存在的安全問題,識(shí)別出攻擊者在獲取內(nèi)網(wǎng)訪問權(quán)限后能夠利用的脆弱點(diǎn)。內(nèi)網(wǎng)掃描必須由有資格的人來實(shí)施,不需要ASV。
漏洞掃描器對(duì)內(nèi)外網(wǎng)進(jìn)行自動(dòng)化地非侵入式掃描,識(shí)別出操作系統(tǒng)、設(shè)備、應(yīng)用程序上的漏洞。ASV使用的掃描器包括Qualys和Nessus。我們將在本文后面逐個(gè)介紹。掃描器提交的報(bào)告中的漏洞必須要修復(fù),才能達(dá)到標(biāo)準(zhǔn)。對(duì)于外網(wǎng)掃描,所有被評(píng)估為“Medium”及以上的漏洞必須要修復(fù)。對(duì)于內(nèi)網(wǎng)掃描,只有“Critical”和“High”級(jí)別的漏洞才必須修復(fù)。通過再次運(yùn)行漏洞掃描器,來確認(rèn)發(fā)現(xiàn)的漏洞是否已經(jīng)關(guān)閉了。根據(jù)PCI DSS標(biāo)準(zhǔn),PCI掃描必須每季度進(jìn)行,大多數(shù)機(jī)構(gòu)都會(huì)選擇更頻繁的掃描,以發(fā)現(xiàn)最新的安全問題。
免費(fèi) vs 收費(fèi)
并沒有確定的答案來回答使用免費(fèi)、開源的漏洞掃描器還是商業(yè)掃描器。在互聯(lián)網(wǎng)上可以下載到許多可用的漏洞掃描器。一些是免費(fèi)的,還有一些是收費(fèi)的版本。免費(fèi)版本的工具,比如Burp、Nessus等,在滲透測(cè)試常會(huì)用到。但是在一些場(chǎng)合,強(qiáng)制使用商業(yè)版。免費(fèi)版本的漏洞掃描器可以在初步安全掃描時(shí)使用,但是他們也有一些限制:
掃描范圍:免費(fèi)的掃描器在掃描范圍上有限制。在比較高的層級(jí)上掃描,不能覆蓋到應(yīng)用程序的所有部分。
精確性:可能會(huì)導(dǎo)致漏報(bào),發(fā)現(xiàn)不了存在的安全問題。與誤報(bào)相比,這個(gè)更為嚴(yán)重。
支持所有的攻擊和輸入載荷:免費(fèi)的掃描支持的攻擊和輸入載荷與付費(fèi)版相比要少。付費(fèi)版的漏洞和載荷數(shù)據(jù)庫(kù)會(huì)定期更新,能檢查最新的漏洞。
支持詳細(xì)的報(bào)告:大部分掃描器都支持報(bào)告功能,但是免費(fèi)版的掃描也許不能夠生成包含有請(qǐng)求-響應(yīng)對(duì)、修補(bǔ)方法、補(bǔ)丁下載鏈接等詳細(xì)內(nèi)容的報(bào)告。
全球知名漏掃
Nessus:Nessus是最流行的漏洞掃描器之一。它可以用于認(rèn)證和非認(rèn)證的漏洞掃描。除了可以進(jìn)行網(wǎng)絡(luò)漏洞掃描外,它還支持外部和內(nèi)部PCI掃描、惡意軟件掃描、移動(dòng)設(shè)備掃描、策略合規(guī)性掃描、web應(yīng)用程序測(cè)試、補(bǔ)丁審計(jì)等。它使用超過70,000個(gè)插件來掃描一個(gè)目標(biāo)機(jī)。
Nessus有兩個(gè)版本,免費(fèi)版本和專業(yè)版本。免費(fèi)版有一些限制,它不能用于專業(yè)的環(huán)境中(比如工作中),較少的插件等等。
可以在這里下載用戶手冊(cè)
可以在這里下載Nessus掃描器
OpenVAS:Open Vulnerability Assessment System (OpenVAS)是由若干服務(wù)和工具組成的框架,提供全面而強(qiáng)大的漏洞掃描和漏洞管理功能。它是開源的,可以免費(fèi)使用。它有一個(gè)客戶端-服務(wù)器架構(gòu)的web接口。server組件用來調(diào)度掃描任務(wù)和管理插件,client組件用于配置掃描和查看報(bào)告。
包含如下特點(diǎn):
支持插件定制:OpenVAS掃描器支持定制插件,用戶可以使用Nessus Attack Scripting Language (NASL)編寫插件。
認(rèn)證掃描:在認(rèn)證掃描時(shí),用戶提供目標(biāo)機(jī)的登錄憑證,掃描器可以登錄,并掃描主機(jī)上安裝的組件的漏洞(Adobe reader、Wireshark等)
導(dǎo)出報(bào)告:OpenVAS有多個(gè)選項(xiàng)來導(dǎo)出報(bào)告。用戶可以以HTML、XML、TXT和PDF的格式生成和下載報(bào)告。
端口掃描:OpenVAS有多個(gè)選項(xiàng)進(jìn)行端口掃描。包括TCP scan, SYN scan, IKE-scan,來定位IPSec, VPN等.
安全檢查:OpenVAS支持安全地掃描。在這個(gè)模式下,scanner會(huì)依據(jù)遠(yuǎn)程主機(jī)的banner來發(fā)送載荷,而不是發(fā)送所有的載荷。這個(gè)選項(xiàng)對(duì)于重要的和陳舊的主機(jī)很有用,可以防止在掃描時(shí)崩潰。
可以在這里下載到OpenVAS
在Kali LInux上設(shè)置和運(yùn)行OpenVAS的教程。
QualysGuard:QualysGuard是一個(gè)Saas(Software as a Service)的私有云。可以使用基于web的用戶界面登錄,能在任何地方使用這個(gè)服務(wù)。工具包括網(wǎng)絡(luò)發(fā)現(xiàn)、資產(chǎn)映射、漏洞檢查、報(bào)告、修復(fù)跟蹤。Qualys appliances通過與云上的系統(tǒng)通信來進(jìn)行內(nèi)網(wǎng)掃描。
Qualys申購(gòu)包可以在這里找到。
一旦申購(gòu)確認(rèn)后,可以通過WEB入口訪問云上的服務(wù),web入口在這里
Burp Suite:Burp Suit是一個(gè)基于Java的工具,用來執(zhí)行web應(yīng)用程序安全測(cè)試。單個(gè)平臺(tái)中集成了測(cè)試過程中需要的不同的工具。具有免費(fèi)和商業(yè)兩個(gè)版本。Burp Suit的免費(fèi)版本有如下功能:
一個(gè)攔截式代理,作為一個(gè)代理服務(wù)器可以分析和修改后臺(tái)的請(qǐng)求和響應(yīng)。
Burp Spider能夠爬取目標(biāo)程序的頁(yè)面和鏈接。
Burp Repeater用于多次操縱和發(fā)送請(qǐng)求。
Burp Sequencer用來分析session token的隨機(jī)性和強(qiáng)度。
Burp Intruder執(zhí)行可定制的自動(dòng)化攻擊,尋找和利用漏洞。
在專業(yè)版中有一些特有的功能,包括:
一個(gè)高級(jí)的web應(yīng)用程序掃描器,檢測(cè)web應(yīng)用程序里的漏洞。
Burp Extension讓你編寫自己的插件,使用Burp執(zhí)行復(fù)雜和定制的任務(wù)
可以保存當(dāng)前狀態(tài),并在以后用它。
生成掃描報(bào)告。
這里有視頻教程。
免費(fèi)和專業(yè)版的Burp Suit可以在這里下載。
OWASP ZAP: OWASP ZAP是一個(gè)基于Java的跨平臺(tái)開源的web應(yīng)用程序安全檢查工具。
主要功能包括:
攔截式代理:攔截式代理可以用來手動(dòng)觀察和處理應(yīng)用程序和它的參數(shù)。它能攔截發(fā)往服務(wù)器的請(qǐng)求,用戶可以操作URL、隱藏的參數(shù)、協(xié)議頭等等,分析應(yīng)用程序的行為和安全性。同樣,server返回的響應(yīng)也可以修改。
爬蟲:與Burp Suit相同,ZAP中的spider用來爬取目標(biāo)應(yīng)用程序的web頁(yè)面和鏈接。額外功能包括支持基于AJAX的爬蟲,應(yīng)用程序會(huì)使用JavaScript生成鏈接。對(duì)于基于AJAX的爬蟲有一個(gè)單獨(dú)的頁(yè)面,spider會(huì)在那里通過調(diào)用瀏覽器來探索應(yīng)用程序。
主動(dòng)和被動(dòng)掃描:Zap支持主動(dòng)和被動(dòng)掃描兩種技術(shù)。在被動(dòng)掃描時(shí),工具會(huì)掃描爬蟲和代理收集到的請(qǐng)求和響應(yīng)。掃描運(yùn)行在后臺(tái),因此不會(huì)影響真實(shí)的測(cè)試。在主動(dòng)掃描時(shí),掃描器會(huì)發(fā)送載荷,發(fā)現(xiàn)潛在的漏洞。用戶可以控制主動(dòng)掃描,根據(jù)掃描程度手動(dòng)配置掃描器。
可以保存當(dāng)前的會(huì)話,后面再用。
生成掃描報(bào)告。ZAP支持HTML報(bào)告。
包括端口掃描、模糊測(cè)試等功能,支持web Sockets。
這里有用戶指南
可以在這里下載OWASP ZAP工具
Acunetix Web漏洞掃描器:Acunetix web漏洞掃描器是自動(dòng)化的應(yīng)用程序安全測(cè)試工具。它主要用于掃描web應(yīng)用程序上的安全問題,比如SQL注入,XSS,目錄遍歷,命令注入等。用戶可以用這個(gè)掃描器掃描SANS top 20和OWASP top 10的漏洞。Acunetix有兩個(gè)版本,免費(fèi)和商業(yè)版。免費(fèi)版試用14天,可以掃描所有漏洞,但是不會(huì)顯示確切的位置。你可以掃描acunetix test webiste,http://test.acunetix.com/查看詳細(xì)的漏洞掃描樣本。安裝非常簡(jiǎn)單。主要的功能包括:
掃描器:Acunetix的主要組件是掃描器。它是完全可定制的掃描器,用戶可以根據(jù)需要配置它。用戶可以在屬性頁(yè)定義要檢查的漏洞的類型。掃描的時(shí)間基于應(yīng)用程序的大小和屬性頁(yè)的配置情況。
漏洞檢測(cè):除了掃描常規(guī)的web應(yīng)用程序之外,Acunetix也能掃描基于HTML5/JS技術(shù)的網(wǎng)站。
網(wǎng)站爬蟲:當(dāng)爬蟲爬取文件和目錄時(shí),我們可以配置要包含和排除的文件的類型。
子域名掃描:Acunetix可以根據(jù)DNS記錄搜索子域名。
調(diào)度器:Acunetix可以制定計(jì)劃掃描一個(gè)或多個(gè)網(wǎng)站。這個(gè)功能很有用,用戶可以讓它在晚上或者周末掃描。
目標(biāo)尋找:用戶可以掃描一個(gè)子網(wǎng)發(fā)現(xiàn)開放80或443等端口的web服務(wù)。
HTTP編輯器:可以用這個(gè)工具定制請(qǐng)求和響應(yīng)來分析特定的漏洞。它可以編碼和解碼參數(shù)的值。它也可以用于修改request參數(shù),比如URL、Cookie、request數(shù)據(jù)等。
在這里有用戶手冊(cè)。
可以在這里下載到Acunetix web漏洞掃描器的試用版。
NetSparker:Netspark也是一個(gè)web應(yīng)用程序安全掃描器,可以檢測(cè)和利用漏洞。這個(gè)掃描器特有的一個(gè)功能是,內(nèi)部確認(rèn)引擎可以通過漏洞利用或者以其它方式測(cè)試,來減少誤報(bào)。如何掃描器可以利用這個(gè)安全問題,那么它就會(huì)在報(bào)告的“Confirmed”區(qū)域中列出來。它有三個(gè)版本,社區(qū)版、標(biāo)準(zhǔn)版和專業(yè)版。社區(qū)版是免費(fèi)試用的產(chǎn)品。標(biāo)準(zhǔn)版限制我們只能掃描三個(gè)網(wǎng)站。專業(yè)版不限制掃描的網(wǎng)站,價(jià)格和比較表在這里。
特點(diǎn)包括:
易于使用:我們只需要提供網(wǎng)站的URL就可以開始掃描。更高級(jí)的選項(xiàng)是,用戶可以使用登錄宏去記錄登錄的序列,掃描器就可以在掃描時(shí)登錄應(yīng)用程序。當(dāng)用戶選擇了這個(gè)選項(xiàng),掃描器會(huì)打開一個(gè)選項(xiàng)卡,那里記錄用戶的憑證和登錄序列。在同樣的配置區(qū)域,我們可以配置掃描的范圍和要掃描的漏洞。
爬蟲:掃描器有一個(gè)高級(jí)爬蟲,用戶可以爬取連接,并同時(shí)發(fā)起攻擊。
精確性:正如上面提到的,掃描器的一個(gè)特點(diǎn)是內(nèi)部確認(rèn)引擎。掃描器可以通過它減少誤報(bào)。掃描器對(duì)報(bào)告的漏洞進(jìn)行安全地利用,如果利用成功,就把這個(gè)漏洞標(biāo)記為已確認(rèn)。
報(bào)告:Netsparker支持多種格式的報(bào)告,包括詳細(xì)掃描報(bào)告、遵從PCI的報(bào)告、OWASP top 10報(bào)告等。
這里是用戶手冊(cè)。
在這里下載免費(fèi)版本。
在這里下載標(biāo)準(zhǔn)版和專業(yè)版。
總結(jié)
漏洞掃描很快,能夠節(jié)省你的時(shí)間,但是我們不能完全依賴他們。沒有一個(gè)單獨(dú)的工具能夠發(fā)現(xiàn)網(wǎng)絡(luò)或web應(yīng)用程序中所有的漏洞。如何可以的話,使用多個(gè)自動(dòng)化掃描工具來減少誤報(bào)和漏報(bào)的概率。web漏洞掃描器不能發(fā)現(xiàn)應(yīng)用程序中與業(yè)務(wù)邏輯相關(guān)的問題。這些漏洞很嚴(yán)重,而且需要手工辦法來發(fā)現(xiàn)。最好的辦法是漏洞掃描器和手動(dòng)測(cè)試結(jié)合起來。
如果你只拿到掃描器給出的安全問題列表,而不對(duì)它做任何工作,這是沒有意義的。而且,應(yīng)該由那些能夠配置掃描器、理解掃描結(jié)果、明白風(fēng)險(xiǎn)和修復(fù)技術(shù)的安全工程師來實(shí)施掃描。
*文章來源: infosec,F(xiàn)B小編felix編譯,轉(zhuǎn)載請(qǐng)注明來自FreeBuf黑客與極客(FreeBuf.COM)