一 漏洞及漏洞發(fā)掘方法漏洞,是指在硬件、軟件、協(xié)議實(shí)現(xiàn)或系統(tǒng)安全策略上存在缺陷,攻擊者能夠在未授權(quán)的情況下對系統(tǒng)進(jìn)行訪問或破壞。它會(huì)成為入侵者侵入系統(tǒng)和植入惡意軟件的入口,影響系統(tǒng)用戶的切身利益。漏洞與目標(biāo)系統(tǒng)的操作系統(tǒng)版本、軟件版本以及服務(wù)設(shè)置密切相關(guān)。研究漏洞必須要了解當(dāng)前計(jì)算機(jī)系統(tǒng)及其安全問題的最新發(fā)展動(dòng)態(tài)。常見的漏洞包括緩沖區(qū)溢出漏洞、跨站腳本漏洞(XSS)、SQL注入漏洞、數(shù)據(jù)庫漏洞以及WEB應(yīng)用漏洞等。 常見的漏洞發(fā)掘方法分為以下幾種。 m 黑盒攻擊(Fuzzing):即通過注入數(shù)據(jù)進(jìn)行自動(dòng)化測試。 m 獲取攻擊對象的源代碼進(jìn)行審計(jì):網(wǎng)絡(luò)上有很多源代碼審計(jì)工具可供使用,如Fortify。 m 反匯編審計(jì):如果無法獲取到源代碼,可以基于匯編碼進(jìn)行反匯編審計(jì)。IDA是一款常用的反匯編軟件。 m 動(dòng)態(tài)跟蹤分析:通過記錄程序在不同條件下執(zhí)行操作(如文件操作),分析這些操作序列是否存在問題。 m 補(bǔ)丁比較:廠商軟件的問題通常都會(huì)在補(bǔ)丁中解決,如微軟的Windows操作系統(tǒng)會(huì)不定期發(fā)布補(bǔ)丁程序,通過對比補(bǔ)丁前后文件的源碼(或反匯編碼)就能了解漏洞的具體細(xì)節(jié)。 目前,針對常用的漏洞發(fā)掘方法已經(jīng)開發(fā)出了很多漏洞掃描工具。漏洞掃描工具是一種能在計(jì)算機(jī)、信息系統(tǒng)、網(wǎng)絡(luò)及應(yīng)用軟件中查找安全弱點(diǎn)的程序。通過對目標(biāo)系統(tǒng)進(jìn)行探測,向目標(biāo)系統(tǒng)發(fā)送數(shù)據(jù),并將反饋結(jié)果與漏洞特征庫進(jìn)行匹配,分析出目標(biāo)系統(tǒng)上存在的安全漏洞。比較常用的漏洞掃描工具有Metasploit、Nmap、NeXpose、Nessus、Xscan等。 二 Metasploit Framework工具簡介Metasploit Framework是一個(gè)強(qiáng)大的開源平臺(tái),為滲透測試、shellcode 編寫和漏洞研究提供了一個(gè)可靠環(huán)境。它集成了各種常見的溢出漏洞和shellcode ,并且不斷更新。當(dāng)前版本收集了上千個(gè)實(shí)用的溢出攻擊程序及一些輔助工具,操作簡單,易用性好。當(dāng)然,它不只是一個(gè)簡單的收集工具,還提供了所有的類和方法,以便開發(fā)人員使用這些代碼方便快速的進(jìn)行二次開發(fā)。漏洞掃描只是Metasploit Framewotk眾多功能中的一種,本文只介紹它的漏洞掃描功能。 Metasploit Framework的總體架構(gòu)如圖1所示,它包含Exploit、Auxiliary、Payload等多個(gè)模塊: m Exploit是攻擊模塊,基本上目前所有的操作系統(tǒng)在Metasploit Framework上均有對應(yīng)的攻擊模塊; m Auxiliary是輔助模塊,用途非常廣泛,它可以作為掃描器、拒絕服務(wù)攻擊工具、Fuzz測試器,以及其他類型的工具; m Payload是在目標(biāo)系統(tǒng)被攻陷之后執(zhí)行的代碼,如添加用戶賬號(hào),獲取shell交互權(quán)限等;
圖1 Metasploit Framework整體架構(gòu) 三 Metasploit的幾種漏洞掃描組件1 NmapNmap適用于Winodws、Linux、Mac等操作系統(tǒng)。它用于主機(jī)發(fā)現(xiàn)、端口發(fā)現(xiàn)或枚舉、服務(wù)發(fā)現(xiàn),檢測操作系統(tǒng)、硬件地址、軟件版本以及脆弱性的漏洞。Metasploit Framework平臺(tái)集成了Nmap組件。通常在對目標(biāo)系統(tǒng)發(fā)起攻擊之前需要進(jìn)行一些必要的信息收集,如獲取網(wǎng)絡(luò)中的活動(dòng)主機(jī)、主機(jī)開放的端口等。 Nmap掃描存活主機(jī)及主機(jī)運(yùn)行的服務(wù): nmap -P0 192.168.20.1-10,掃描結(jié)果顯示網(wǎng)絡(luò)中活動(dòng)的主機(jī)有7臺(tái),且列舉出了每臺(tái)主機(jī)運(yùn)行的服務(wù)及主機(jī)MAC地址。 msf > nmap -P0 192.168.20.1-10 [*] exec: nmap -P0 192.168.20.1-10 Starting Nmap 6.25 ( http:// ) 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掃描操作系統(tǒng)和服務(wù)軟件版本信息: msf > nmap -A -T4 192.168.20.4,Nmap顯示的掃描結(jié)果相當(dāng)詳細(xì),列出了目標(biāo)服務(wù)器192.168.20.4上運(yùn)行的操作系統(tǒng)是微軟的Windows 7或者Windows 2008,提供FTP服務(wù)的軟件是3Com 3CDaemon FTP Server,版本號(hào)為2.0,并且使用匿名賬號(hào)anonymous可以登陸成功。 msf > nmap -A -T4 192.168.20.4 [*] exec: nmap -A -T4 192.168.20.4 Starting Nmap 6.25 ( http:// ) 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:///submit/ . Nmap done: 1 IP address (1 host up) scanned in 203.48 seconds msf > 2 NeXposeNeXpose通過掃描網(wǎng)絡(luò),可以查找出網(wǎng)絡(luò)上正在運(yùn)行的設(shè)備,并識(shí)別出設(shè)備的操作系統(tǒng)和應(yīng)用程序的漏洞,并對掃描出的數(shù)據(jù)進(jìn)行分析和處理,生成漏洞掃描報(bào)告。 首先,如圖2所示,在Metasploit Framework中加載NeXpose插件:
圖2 加載NeX 使用nexpose_scan命令對目標(biāo)主機(jī)進(jìn)行漏洞掃描: msf > nexpose_scan 192.168.20.4 [*]Scanning 1 address with template pentest-audit in sets of 32 [*]Completed the scan of 1 address msf > 查看漏洞掃描結(jié)果,掃描程序發(fā)現(xiàn)了7個(gè)漏洞: msf > db_hosts –c address Hosts =====
address Svcs Vulns Workspace ------- ---- ----- --------- 192.168.20.4 8 7 default msf> 輸入db_vulns可以顯示已發(fā)現(xiàn)漏洞的詳細(xì)情況: msf > db_vulns [*]Time Mon Jun 2013:10:31 UTC 2010 vuln: host=192.168.20.4 port=445proto=tcp name=Nss-26920refs=CVE-1999-0519,CVE-2002-1117,BID-494,OSVDB-299 …… For the sake of brevity,we will just let db_autopwn exploit the low-hanging fruit for us and only run exploit with at least a “good” rating msf > 3 NessusNessus是當(dāng)前使用最廣泛的漏洞掃描工具之一。Nessus采用client/sever模式,服務(wù)器端負(fù)責(zé)進(jìn)行安全檢查,客戶端用來配置管理服務(wù)器端。在服務(wù)端還采用了plug-in的體系,允許用戶加入執(zhí)行特定功能的插件,這插件可以進(jìn)行更快速和更復(fù)雜的安全檢查。 如圖3所示,在Metasploit Framework中加載Nessus插件:
圖3 加載Nessus插件 創(chuàng)建掃描任務(wù): msf > nessus_scan_new 2 test_scan 192.168.20.4 [*]Creating scan from policy number 2,called “test_scan” and scanning 192.168.20.4 [*]Scan started.uid is d2f1fc02-3b50-4e4e-ab8f-q12jsiey8209384ndjsieksjfdjieb msf> 查看掃描運(yùn)行狀態(tài),“No Scans Running”表示掃描已完成: msf > db_hosts –c address [*] No Scans Running msf> 查看掃描結(jié)果,掃描程序發(fā)現(xiàn)345個(gè)漏洞: msf > db_hosts –c address,svcs,vulns Hosts =====
address Svcs Vulns ------- ---- ----- 192.168.20.4 18 345 msf> 從掃描結(jié)果可以看出,對同一個(gè)目標(biāo)主機(jī)進(jìn)行掃描,Nessus掃描出的漏洞數(shù)量與NeXpose掃描出的數(shù)量有明顯的差異。通過對不同工具的掃描結(jié)果進(jìn)行對比分析,對了解掃描工具本身,和更精確地確定目標(biāo)系統(tǒng)存在的漏洞都是非常有幫助的。 4 Metasploit的專用FTP掃描器除了集成的掃描工具,Metasploit自帶的輔助模塊,可以針對網(wǎng)絡(luò)中特定的漏洞進(jìn)行掃描。下面以FTP掃描為例,介紹Metasploit自帶掃描器的使用方法。 選擇ftp_login模塊,掃描網(wǎng)段192.168.20.1-10中能使用固定用戶名和密碼root/123456登陸主機(jī): msf > use auxiliary/scanner/ftp/ftp_login msf auxiliary(ftp_login) > set USERNAME root USERNAME => root msf auxiliary(ftp_login) > set PASSWORD 123456 PASSWORD => 123456 msf auxiliary(ftp_login) > set RHOSTS 192.168.20.1-10 RHOSTS => 192.168.20.1-10 msf auxiliary(ftp_login) > run [*] 192.168.20.1:21 - Starting FTP login sweep [*] Connecting to FTP server 192.168.20.1:21... …… [*] 192.168.20.1:21 FTP - [1/1] - Attempting FTP login for 'root':'123456' [+] 192.168.20.1:21 - Successful FTP login for 'root':'123456' [*] 192.168.20.1:21 - User 'root' has READ/WRITE access …… [*] Connecting to FTP server 192.168.20.4:21... [*] Connected to target FTP server. [+] 192.168.20.4:21 - Successful FTP login for 'root':'123456' [*] 192.168.20.4:21 - User 'root' has READ/WRITE access …… [*] Connecting to FTP server 192.168.20.6:21... [*] Connected to target FTP server. [+] 192.168.20.6:21 - Successful FTP login for 'root':'123456' [*] 192.168.20.6:21 - User 'root' has READ/WRITE access …… [*] Connecting to FTP server 192.168.20.9:21... [*] Connected to target FTP server. [+] 192.168.20.9:21 - Successful FTP login for 'root':'123456' [*] 192.168.20.9:21 - User 'root' has READ/WRITE access [*] Scanned 10 of 10 hosts (100% complete) [*] Auxiliary module execution completed 查看輸出結(jié)果,10個(gè)IP中有4臺(tái)FTP Server均能使用root/123456賬號(hào)登陸,并且含有讀寫權(quán)限。通常在公司內(nèi)網(wǎng)里,很多人習(xí)慣使用簡單的賬號(hào),沒有足夠的安全意識(shí),當(dāng)攻擊者成功入侵內(nèi)網(wǎng)后,這些工作站將非常危險(xiǎn)。
|
|
|