一、漏洞及漏洞發掘方法
漏洞,是指在硬體、軟體、協定實作或系統安全政策上存在缺陷,攻擊者能夠在未授權的情況下對系統進行通路或破壞。它會成為入侵者侵入系統和植入惡意軟體的入口,影響系統使用者的切身利益。漏洞與目标系統的作業系統版本、軟體版本以及服務設定密切相關。研究漏洞必須要了解目前計算機系統及其安全問題的最新發展動态。常見的漏洞包括緩沖區溢出漏洞、跨站腳本漏洞(XSS)、SQL注入漏洞、資料庫漏洞以及WEB應用漏洞等。
常見的漏洞發掘方法分為以下幾種。
· 黑盒攻擊(Fuzzing):即通過注入資料進行自動化測試。
· 擷取攻擊對象的源代碼進行審計:網絡上有很多源代碼審計工具可供使用,如Fortify。
· 反彙編審計:如果無法擷取到源代碼,可以基于彙編碼進行反彙編審計。IDA是一款常用的反彙編軟體。
· 動态跟蹤分析:通過記錄程式在不同條件下執行操作(如檔案操作),分析這些操作序列是否存在問題。
· 更新檔比較:廠商軟體的問題通常都會在更新檔中解決,如微軟的Windows作業系統會不定期釋出更新檔程式,通過對比更新檔前後檔案的源碼(或反彙編碼)就能了解漏洞的具體細節。
目前,針對常用的漏洞發掘方法已經開發出了很多漏洞掃描工具。漏洞掃描工具是一種能在計算機、資訊系統、網絡及應用軟體中查找安全弱點的程式。通過對目标系統進行探測,向目标系統發送資料,并将回報結果與漏洞特征庫進行比對,分析出目标系統上存在的安全漏洞。比較常用的漏洞掃描工具有Metasploit、Nmap、NeXpose、Nessus、Xscan等。
二、Metasploit Framework工具簡介
Metasploit Framework是一個強大的開源平台,為滲透測試、shellcode 編寫和漏洞研究提供了一個可靠環境。它內建了各種常見的溢出漏洞和shellcode ,并且不斷更新。目前版本收集了上千個實用的溢出攻擊程式及一些輔助工具,操作簡單,易用性好。當然,它不隻是一個簡單的收集工具,還提供了所有的類和方法,以便開發人員使用這些代碼友善快速的進行二次開發。漏洞掃描隻是Metasploit Framewotk衆多功能中的一種,本文隻介紹它的漏洞掃描功能。

Metasploit Framework的總體架構如圖1所示,它包含Exploit、Auxiliary、Payload等多個子產品:
· Exploit是攻擊子產品,基本上目前所有的作業系統在Metasploit Framework上均有對應的攻擊子產品;
· Auxiliary是輔助子產品,用途非常廣泛,它可以作為掃描器、拒絕服務攻擊工具、Fuzz測試器,以及其他類型的工具;
· Payload是在目标系統被攻陷之後執行的代碼,如添加使用者賬号,擷取[url=]shell[/url]互動權限等;
三、Metasploit的幾種漏洞掃描元件
1、Nmap
Nmap适用于Winodws、Linux、Mac等作業系統。它用于主機發現、端口發現或枚舉、服務發現,檢測作業系統、硬體位址、軟體版本以及脆弱性的漏洞。Metasploit Framework平台內建了Nmap元件。通常在對目标系統發起攻擊之前需要進行一些必要的資訊收集,如擷取網絡中的活動主機、主機開放的端口等。
Nmap掃描存活主機及主機運作的服務:
nmap -P0 192.168.20.1-10,掃描結果顯示網絡中活動的主機有7台,且列舉出了每台主機運作的服務及主機MAC位址。
msf > nmap -P0 192.168.20.1-10
[*] exec: nmap -P0 192.168.20.1-10
Starting Nmap 6.25 ( [url]http://nmap.org[/url] ) at 2013-06-06 15:47 ????????????
Nmap scan report for 192.168.20.1
Host is up (0.00014s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
23/tcp open telnet
80/tcp open http
MAC Address: 00:0F:E2:69:5D:E2 (Hangzhou H3C Technologies Co.)
……
Nmap scan report for 192.168.20.4
Host is up (0.0098s latency).
Not shown: 986 closed ports
PORT STATE SERVICE
21/tcp open ftp
80/tcp open http
135/tcp open msrpc
443/tcp open https
445/tcp open microsoft-ds
902/tcp open iss-realsecure
912/tcp open apex-mesh
3389/tcp open ms-wbt-server
MAC Address: 68:05:CA:0E:BF:59 (Intel)
……
Nmap done: 10 IP addresses (7 hosts up) scanned in 17.53 seconds
msf >
複制代碼
Nmap掃描作業系統和服務軟體版本資訊:
msf > nmap -A -T4 192.168.20.4,Nmap顯示的掃描結果相當詳細,列出了目标伺服器192.168.20.4上運作的作業系統是微軟的Windows 7或者Windows 2008,提供FTP服務的軟體是3Com 3CDaemon FTP Server,版本号為2.0,并且使用匿名賬号anonymous可以登陸成功。
msf > nmap -A -T4 192.168.20.4
[*] exec: nmap -A -T4 192.168.20.4
Starting Nmap 6.25 ( http://nmap.org ) at 2013-06-06 15:54
Nmap scan report for 192.168.20.4
Host is up (0.0074s latency).
Not shown: 986 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp 3Com 3CDaemon ftpd 2.0
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_ftp-bounce: bounce working!
80/tcp open http HttpFileServer httpd 1.5g
|_http-title: JAX SERVER- /
135/tcp open msrpc Microsoft Windows RPC
443/tcp open ssl/http VMware VirtualCenter Web service
445/tcp open netbios-ssn
902/tcp open ssl/vmware-auth VMware Authentication Daemon 1.10 (Uses VNC, SOAP)
912/tcp open vmware-auth VMware Authentication Daemon 1.0 (Uses VNC, SOAP)
3389/tcp open ms-wbt-server Microsoft Terminal Service
MAC Address: 68:05:CA:0E:BF:59 (Intel)
Device type: general purpose
Running: Microsoft Windows 7|2008
TRACEROUTE
HOP RTT ADDRESS
1 7.38 ms 192.168.20.4
OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 203.48 seconds
msf >
四、專用漏洞掃描器
Metasploit自帶了許多輔助子產品