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