簡介
掃描器是一類自動檢測本地或遠程主機安全弱點的程式,它能夠快速的準確的發現掃描目標存在的漏洞並提供給使用者掃描結果。工作原理是掃描器向目標計算機傳送數據包,然後根據對方反饋的信息來判斷對方的作業系統類型、開發連線埠、提供的服務等敏感信息。本章要介紹的這些掃描器絕大多數都是界面友好,使用起來很“傻瓜化”的,所以不做詳細介紹。
一、系統漏洞掃描器
1、Retina
Retina是eEye公司(www.eeye.com)的產品,強大的網路漏洞檢測技術可以有效的檢測並修復各種安全隱患和漏洞,並且生成詳細的安全檢測報告,兼容各種主流作業系統、防火牆、路由器等各種網路設備。曾在國外的安全評估軟體的評測中名列第一。
Retina的主界面共分為三個部分,上部是選單和工具列,下部的左邊是動態導航選單,右邊是與左邊選單相對應的內容顯示視窗(如圖1)。
圖1 Retina的主界面
如要對單機進行掃描,只要在Address欄輸入該計算機的IP位址,然後單擊Address欄右邊的start按鈕即可開始掃描。如要對某個網段的計算機進行掃描,可以按Ctrl+R,在新出現的視窗裝設定要掃描的IP位址範圍。如要修改Retina的掃描內容和策略,需要到選單欄的Tools中的Policies項進行設定(如圖2)。
圖2 Retina的掃描內容和策略設定視窗
2、Superscan
Superscan是foundstone實驗室的一個連線埠掃描工具,速度極快而且資源占用很小,圖3是它的主程式界面。
圖3 Superscan的界面
SuperScan具有以下功能:
(1)通過Ping來檢驗IP是否線上;
(2)IP和域名相互轉換;
(3)可以嘗試通過TCP連線到電腦上,檢測目標運行的服務;
(4)檢驗一定範圍目標計算機的是否線上和連線埠情況;
(5)自定義要檢驗的連線埠,並可以保存為連線埠列表檔案。
3、X-Scan
X-Scan是安全焦點的力作,掃描內容包括:遠程作業系統類型及版本,標準連線埠狀態及連線埠BANNER信息,CGI漏洞,IIS漏洞,RPC漏洞,SQL-SERVER、FTP、NT-SERVER等弱口令用戶,NETBIOS信息等等。掃描結果保存在/log/目錄中,index_*.htm為掃描結果索引檔案。對於一些已知漏洞,給出了相應的漏洞描述、利用程式及解決方案。X-Scan不光是黑客手中的利器,也是網路管理員的得力助手。X-Scan程式界面如圖2.4所示,上方功能按鈕包括:“掃描參數”、“開始掃描”、“暫停掃描”、“終止掃描”、“檢測報告”、“使用說明”、“線上升級”、“退出”。
圖4 X-Scan程式界面
在進行掃描前需要設定一下掃描參數,按Ctrl+E即可調出掃描參數設定視窗,如圖5所示。
圖5 X-Scan的掃描參數設定視窗
“檢測範圍”中,可以設定要掃描的IP地址,可以是一台伺服器,也可以是某個網段的伺服器,格式為:127.0.0.1-127.0.0.224。
在“全局設定”中包含了所有全局性掃描選項,包括“掃描模組”,“並發掃描”,“掃描報告”,“其他設定”。
1. “掃描模組”主要是設定要掃描對方的哪些漏洞和信息。
2. “並發掃描”中可以設定最大並發主機數量,最大並發執行緒數量和各外掛程式最大並發執行緒數量。
3. “掃描報告”則是設定掃描後生成的報告的檔案名稱和格式,以及是否自動生成並顯示報告。
4. 在“其他設定”中,如果我們設定了“跳過沒有回響的主機”,對方禁止了PING或防火牆設定使對方沒有回響的話,X-Scan會自動跳過,自動檢測下一台主機。如果用“無條件掃描”的話,X-Scan會對目標進行詳細檢測,這樣結果會比較詳細也會更加準確,但掃描時間會延長。
“外掛程式設定”中,包括“連線埠相關設定”,“SNMP相關設定”,“NETBIOS相關設定”,“漏洞檢測腳本設定”,“CGI相關設定”,“字典檔案設定”。
1. “連線埠相關設定”中我們可以自定義一些需要檢測的連線埠。檢測方式“TCP”、“SYN”兩種,TCP方式容易被對方發現,準確性要高一些,SYN則相反。
2. “SNMP相關設定”主要是針對SNMP信息的一些檢測設定。
3. “NETBIOS相關設定”是針對WINDOWS系統的NETBIOS信息的檢測設定,包括的項目有很多種,我們根據需求選擇實用的就可以了。
4. “漏洞檢測腳本設定”可以設定使用哪些漏洞檢測腳本,是否使用破壞性腳本。
5. “CGI相關設定”掃描CGI漏洞的相關設定。
6. “字典檔案設定” 是X-Scan自帶的一些用於破解遠程賬號所用的字典檔案,這些字典都是簡單或系統默認的賬號等。我們可以選擇自己的字典或手工對默認字典進行修改。默認字典存放在“DAT”資料夾中。字典檔案越大,探測時間越長。
“掃描參數”設定好後單擊“開始掃描”按鈕 (綠色三角)X-Scan就開始掃描了。
4、N-StealthN-Stealth是一個全面的Web伺服器審計工具,它可以掃描超過30000個弱點,是系統管理員、安全顧問和其他IT職業的理想工具,據說是世界上最頂尖的Web伺服器安全掃描工具,圖6是N-Stealth的主程式界面。
圖6 N-Stealth的主程式界面
N-Stealth的特點:
•能在win98/ME/2000/XP/2003系統下正常地運行
•能測試掃描目前幾乎所有WEB類型的伺服器,包括某些網路設備的WEB控制平台
•支持大多數的WEB服務應用程式(如: CGI,ColdFusion,ASP,Lotus Domino,FrontPage,PHP等)
•能進行SANS/FBI的頭10&20漏洞掃描
•全面支持HTTP與HTTPS(SSL)
•全面支持使用代理伺服器
•容易解讀的圖形報告生成模組
•支持虛擬主機
•準確的錯誤篩選機制
•帶有緩衝區溢出測試引擎
•漏洞資料庫能進行智慧型升級(DB update,注:此功能僅限於正式版才能使用)。
二、SQL注入漏洞掃描器
SQL注入漏洞是指Web程式設計師在開發Web程式時,代碼編寫不嚴謹,用戶可以提交一段資料庫查詢代碼,根據程式返回的結果,獲得某些他想得知的數據,這就是所謂的sql injection,即SQL注入,這也是最近比較流行的一種Web攻擊方式。
1、Wis+Wed
小榕開發的兩款在cmd命令視窗中運行的SQL注入點掃描工具,掃描速度很快。Wis (Web Injection Scanner),可以自動對整個網站進行SQL Injection 脆弱性掃描,並且能夠掃描後台登入界面。命令格式如下:
wis http://www.someaspsite.com/index.asp 掃描整個www. someaspsite.com網站,找出存在SQL Injection的頁面。
wis http://www.someaspsite.com/index.asp /a 掃描網站後台管理頁面入口,如圖7所示。
圖7 wis的命令格式
Wed (Web Entry Detector),針對存在SQL Injection的網站對管理帳號進行掃描的程式。命令格式如下:
wed http://www.someaspsite.com/shownews.asp?id=1 對存在SQL Injection漏洞的網站進行後台管理帳號掃描,這裡假設http://www.someaspsite.com/shownews.asp?id=1是SQL注入點,如圖8示。
圖8 wed的命令格式
2、NBSI
小竹的作品,功能很多,比較常用的有“網站掃描”,“注入分析”,“掃描及工具”這三個功能。“網站掃描”是掃描網站的SQL注入點,並會顯示出可能存在注入漏洞的地址,有極高,中等,極低幾個等級提示,如圖9所示,為了避免引起不必要的麻煩,我將一些敏感信息遮住了,也請大家理解。
圖9 網站掃描後得到的信息
通過“網站掃描”得到SQL注入點後,單擊“注入分析”按鈕,進入注入分析界面,單擊“檢測”按鈕,就會得到該網站的資料庫信息,以及當前用戶名和當前的資料庫名,如圖10所示。
圖10 注入分析得到信息
然後單擊“猜解表名”按鈕,得到當前資料庫中的所有表名,選中一個表,單擊“猜解列名”,得到表中的所有列,選中某個或某些列,再單擊“猜解記錄”,就會得到選中的列中保存的信息,如圖11所示。
圖11 猜解得到的表,列,記錄信息
得到管理員的用戶名和密碼後,就是用對後台管理地址掃描了,如圖12所示。
圖12 掃描網站得到的可能存在的管理後台路徑
得到管理後台路徑後,用前面得到的用戶名和密碼進入管理後台,如果管理後台可以上傳檔案,那就直接上傳一個ASP木馬,得到對方的WebShell,然後嘗試得到對方的系統管理許可權。
3、啊D SQL注入工具
啊D SQL注入工具主要功能和使用方法與NBSI類似,不過該軟體有個特色就是支持漢字破解,而且速度很快,該軟體界面如圖13所示。
圖13 啊D SQL注入工具界面
4、 SQL漏洞注入工具的工作原理通過上面介紹的這些SQL注入工具,大家不難看出它們的功能都差不多,原理都是通過不斷的提交構造好的特殊的SQL語句和管理後台地址,根據對方返回的信息來判斷猜解的是否正確。如果大家希望學習全手工的注射,可以使用抓包的工具捕獲工具傳送的數據包,比如使用在第一章介紹的Achilles,圖14就是用Achilles捕獲的NBSI發出的數據。
圖14 用Achilles捕獲的NBSI發出的數據
三、其他掃描器
1 ISS(Internet Security Scanner)
ISS公司開發和維護的商業漏洞掃描程式,它的可移植性和靈活性很強,眾多的UNIX的平台上都可以運行ISS。
2、流光
在國內可以與X-Scan相提並論的掃描器,它除了能夠像X-Scan那樣掃描眾多漏洞、弱口令外,還集成了常用的入侵工具,如字典工具、NT/IIS工具等,還獨創了能夠控制“肉雞”進行掃描的“流光Sensor工具”和為“肉雞”安裝服務的“種植者”工具。
也叫Windows NT/2000 自動攻擊探測機,常被用掃描肉雞,該軟體可以根據目標存在的漏洞自動在對方的計算機上添加用戶。
四、總結
黑客軟體層出不窮,只會使用某些工具是不行的,這樣永遠是被別人牽著鼻子走。要知其然,還要知其所以然,這就要求我們多思考,多實踐,能夠做到舉一反三。
如何選擇漏洞掃描工具
對於一個複雜的多層結構的系統和網路安全規劃來說,隱患掃描是一項重要的組成元素。隱患掃描能
夠模擬黑客的行為,對系統設定進行攻擊測試,以幫助管理員在黑客攻擊之前,找出網路中存在的漏
洞。這樣的工具可以遠程評估你的網路的安全級別,並生成評估報告,提供相應的整改措施。
目前,市場上有很多隱患掃描工具,按照不同的技術(基於網路的、基於主機的、基於代理的、
C/S的)、不同的特徵、不同的報告方法,以及不同的監聽模式,可以分成好幾類。不同的產品之間,
漏洞檢測的準確性差別較大,這就決定了生成的報告的有效性上也有很大區別。
選擇正確的隱患掃描工具,對於提高你的系統的安全性,非常重要。
1、漏洞掃描概述
在字典中,Vulnerability意思是漏洞或者缺乏足夠的防護。在軍事術語中,這個詞的意思更為明
確,也更為嚴重------有受攻擊的嫌疑。
每個系統都有漏洞,不論你在系統安全性上投入多少財力,攻擊者仍然可以發現一些可利用的特
征和配置缺陷。這對於安全管理員來說,實在是個不利的訊息。但是,多數的攻擊者,通常做的是簡
單的事情。發現一個已知的漏洞,遠比發現一個未知漏洞要容易的多,這就意味著:多數攻擊者所利
用的都是常見的漏洞,這些漏洞,均有書面資料記載。
① 生成的報告的特性(內容是否全面、是否可配置、是否可定製、報告的格式、輸出方式等);
② 對於漏洞修復行為的分析和建議(是否只報告存在哪些問題、是否會告訴您應該如何修補這些
漏洞);
③ 安全性(由於有些掃描工具不僅僅只是發現漏洞,而且還進一步自動利用這些漏洞,掃描工具
自身是否會帶來安全風險);
④ 性能;
⑤ 價格結構
這樣的話,採用適當的工具,就能在黑客利用這些常見漏洞之前,查出網路的薄弱之處。如何快
速簡便地發現這些漏洞,這個非常重要。
漏洞,大體上分為兩大類:
① 軟體編寫錯誤造成的漏洞;
② 軟體配置不當造成的漏洞。
漏洞掃描工具均能檢測以上兩種類型的漏洞。漏洞掃描工具已經出現好多年了,安全管理員在使
用這些工具的同時,黑客們也在利用這些工具來發現各種類型的系統和網路的漏洞。
2、隱患掃描工具的衡量因素
決定是否採用隱患掃描工具來防範系統入侵是重要的第一步。當您邁出了這一步後,接下來的是
:如何選擇滿足您公司需要的合適的隱患掃描技術,這同樣也很重要。以下列出了一系列衡量因素:
① 底層技術(比如,是被動掃描還是主動掃描,是基於主機掃描還是基於網路掃描);
② 特性;
③ 漏洞庫中的漏洞數量;
④ 易用性;
2.1 底層技術
比較漏洞掃描工具,第一是比較其底層技術。你需要的是主動掃描,還是被動掃描;是基於主機
的掃描,還是基於網路的掃描,等等。一些掃描工具是基於Internet的,用來管理和集合的伺服器程
序,是運行在軟體供應商的伺服器上,而不是在客戶自己的機器上。這種方式的優點在於檢測方式能
夠保證經常更新,缺點在於需要依賴軟體供應商的伺服器來完成掃描工作。
掃描古城可以分為"被動"和"主動"兩大類。被動掃描不會產生網路流量包,不會導致目標系統崩
潰,被動掃描工具對正常的網路流量進行分析,可以設計成"永遠線上"檢測的方式。與主動掃描工具
相比,被動掃描工具的工作方式,與網路監控器或IDS類似。
主動掃描工具更多地帶有"入侵"的意圖,可能會影響網路和目標系統的正常操作。他們並不是持
續不斷運行的,通常是隔一段時間檢測一次。
基於主機的掃描工具需要在每台主機上安裝代理(Agent)軟體;而基於網路的掃描工具則不需要
。基於網路的掃描工具因為要占用較多資源,一般需要一台專門的計算機。
如果網路環境中含有多種作業系統,您還需要看看掃描其是否兼容這些不同的作業系統(比如
Microsoft、Unix以及Netware等)。
2.2 管理員所關心的一些特性
通常,漏洞掃描工具完成一下功能:掃描、生成報告、分析並提出建議,以及數據管理。在許多
方面,掃描是最常見的功能,但是信息管理和掃描結果分析的準確性同樣很重要。另外要考慮的一個
方面是通知方式:當發現漏洞後,掃描工具是否會向管理員報警?採用什麼方式報警?
對於漏洞掃描軟體來說,管理員通常關係以下幾個方面:
① 報表性能好;
② 易安裝,易使用;
③ 能夠檢測出缺少哪些補丁;
④ 掃描性能好,具備快速修復漏洞的能力;
⑤ 對漏洞及漏洞等級檢測的可靠性;
⑥ 可擴展性;
⑦ 易升級性;
⑧ 性價比好;
2.3 漏洞庫
只有漏洞庫中存在相關信息,掃描工具才能檢測到漏洞,因此,漏洞庫的數量決定了掃描工具能
夠檢測的範圍。
然而,數量並不意味著一切,真正的檢驗標準在於掃描工具能否檢測出最常見的漏洞?最根本的
在於,掃描工具能否檢測出影響您的系統的那些漏洞?掃描工具中有用的總量取決於你的網路設備和
系統的類型。你使用掃描工具的目的是利用它來檢測您的特定環境中的漏洞。如果你有很多Netware服
務器,那么,不含Netware漏洞庫的掃描工具就不是你的最佳選擇。
當然,漏洞庫中的攻擊特性必須經常升級,這樣才能檢測到最近發現的安全漏洞。
2.4 易使用性
一個難以理解和使用的界面,會阻礙管理員使用這些工具,因此,界面友好性尤為重要。不同的
掃描工具軟體,界面也各式各樣,從簡單的基於文本的,到複雜的圖形界面,以及Web界面。
2.5 掃描報告
對管理員來說,掃描報告的功能越來越重要,在一個面向文檔的商務環境中,你不但要能夠完成
你的工作,而且還需要提供書面資料說明你是怎樣完成的。事實上,一個掃描可能會得到幾百甚至幾
千個結果,但是這些數據是沒用的,除非經過整理,轉換成可以為人們理解的信息。這就意味著理想
情況下,掃描工具應該能夠對這些數據進行分類和交叉引用,可以導到其他程式中,或者轉換成其他
格式(比如CSV,HTML,XML,MHT,MDB,EXCEL以及Lotus等等),採用不同方式來展現它,並且能夠
很容易的與以前的掃描結果做比較。
2.6 分析與建議
發現漏洞,才完成一半工作。一個完整的方案,同時將告訴你針對這些漏洞將採取哪些措施。一
個好的漏洞掃描工具會對掃描結果進行分析,並提供修復建議。一些掃描工具將這些修復建議整合在
報告中,另外一些則提供產品網站或其它線上資源的連結。
漏洞修復工具,它可以和流行的掃描工具結合在一起使用,對掃描結果進行匯總,並自動完成修
復過程。
2.7 分析的準確性
只有當報告的結果是精確的,提供的修復建議是有效的,一份包含了詳細漏洞修復建議的報告,
才算是一份優秀的報告。一個好的掃描工具必須具有很低的誤報率(報告出的漏洞實際上不存在)和
漏報率(漏洞存在,但是沒有檢測到)。
2.8 安全問題
因掃描工具而造成的網路癱瘓所引起的經濟損失,和真實攻擊造成的損失是一樣的,都非常巨大
。一些掃描工具在發現漏洞後,會嘗試進一步利用這些漏洞,這樣能夠確保這些漏洞是真實存在的,
進而消除誤報的可能性。但是,這種方式容易出現難以預料的情況。在使用具備這種功能的掃描工具
的時候,需要格外小心,最好不要將其設定成自動運行狀態。
掃描工具可能造成網路失效的另一種原因,是掃描過程中,超負荷的數據包流量造成拒絕服務
(DOS,Denial Of Service)。為了防止這一點,需要選擇好適當的掃描設定。相關的設定項有:並
發的執行緒數、數據包間隔時間、掃描對象總數等,這些項應該能夠調整,以便使網路的影響降到最低
。一些掃描工具還提供了"安全掃描"的模板,以防止造成對目標系統的損耗。
2.9 性能
掃描工具運行的時候,將占用大量的網路頻寬,因此,掃描過程應儘快完成。當然,漏洞庫中的
漏洞數越多,選擇的掃描模式越複雜,掃描所耗時間就越長,因此,這只是個相對的數值。提高性能
的一種方式,是在企業網中部署多個掃描工具,將掃描結果反饋到一個系統中,對掃描結果進行匯總
。
3、隱患掃描工具的價格策略
商業化的掃描工具通常按以下幾種方式來發布器授權許可證:按IP位址授權,按伺服器授權,按
管理員授權。不同的授權許可證方式有所區別。
3.1 按IP段授權
許多掃描其產品,比如eEye的Retina和ISS(Internet Security Scanner)要求企業用戶按照IP
段或IP範圍來收費。換句話說,價格取決於所授權的可掃描的IP位址的數目。
3.2 按伺服器授權
一些掃描工具供應商,按照每個伺服器/每個工作站來計算器許可證的價格。伺服器的授權價格會
比工作站高很多,如果有多台伺服器的話,掃描工具的價格會明顯上升。
3.3 按管理員授權
對於大多數企業而言,這種授權方式,比較簡單,性價比也較好。
4、總結
在現在的網際網路環境中,威脅無處不在。2003年1-3季度,CERT協調中心就收到超過114,000個漏
洞事件報告,這個數字超過2002年的總和,這表明,此類事件在不斷增長中。為了防範攻擊,第一件
事就是在黑客發動攻擊之前,發現網路和系統中的漏洞,並及時修復。
但是,漏洞掃描工具在特性、精確性、價格以及可用性上差別較大,如何選擇一個正確的隱患掃
描工具,尤為重要。