Metasploit使用教程

工具包分Linux/Unix版的和Windows版,考慮到大多數人都是使用的Windows系統,這裏我把Windows版的Metasploit使用方法說明一下,至於Linux/Unix下的使用方法和Windows下的也是大同小異,這裏就不額外的說明了。
    下載回Metasploit的安裝程序之後雙擊安裝,傻瓜化的安裝過程,這裏就不多說了。安裝完成後可以看到安裝目錄下多了很多文件,主要的是:Msfconsole.bat和Msfweb.bat。第一個是這個工具包的控制檯,第二個是這個程序的圖形界面下的程序,下面我將和大家一起來領略它們的魅力!。
    命令行下使用Metasploit
運行後首先看到的是Metasploit歡迎界面,我們輸入“?”得到在線幫助(如圖1所示):
可以看到裏面有很多的命令,下面我將最重要的幾個做簡單解釋:

“?”:得到幫助。
“cd”:更換當前的工作目錄。
“exit”:退出。
“help”:得到幫助。
“info”:顯示當前程序的信息。
“quit”:推出程序。
“reload”:載入Exploit和payloads。
“save”:保存當前設置
“setg”:設置一個環境變量。
“show”:顯示可用的Exploit和payloads。
“use”:使用一個Exploit。
“version”:顯示程序的版本。
雖然有這麼多的命令可是常用的也就是“show”、“info”和“use”而已,它們究竟怎麼使用呢?
此程序集成了衆多的Exploit,所以我們要先了解一下程序中到底有那些溢出工具包,輸入“show Exploits”看有哪些可用的Exploit程序先(如圖2所示):
左面顯示的是溢出程序的程序名稱,右面是相應的簡介。可以看到Metasploit中帶的溢出程序包還是很多的,完全可以滿足我們日常***的需要,以後我們就再也不用到存放溢出程序的文件夾中去找半天對應的程序了!
    知道了有什麼溢出程序,但是怎麼使用呢?一般情況下,當我們拿到一個溢出程序後要先閱讀溢出程序的幫助文件來查看使用方法,在Metasploit中怎樣查看我們需要的溢出程序的使用方法呢?這就用到了Info命令。該命令的作用是顯示溢出程序包的詳細信息,比如我們想要查看 “iis50_webday_ntdll”溢出工具包的使用方法,在命令行下輸入:“info Exploit iis50_webday_ntdll”後得到如圖3所示的回顯:
蝴蝶:在圖3中我們需要注意的是一開始的部分和Available Options中的內容,開始的內容可以告訴我們這個溢出程序是針對什麼系統的,而Available Options中的內容是我們下一步所要用到的。
這裏需要說明的是在輸入的命令中的Exploit是向程序指明我們要查看的是Exploit的信息,當然可以查看的還有Payload的信息,但 Payload是什麼呢?其實說白了Payload就是我們平時說的ShellCode。在Metasploit中,溢出所用的ShellCode並不像我們平時用到的溢出工具一樣,Metasploit允許我們自己選擇自己喜歡的ShellCode,這樣就大大提高了溢出的靈活行。
在命令行下輸入“show payloads”後可以看到可用的ShellCode列表(如圖4所示):
同樣,左面是ShellCode的名字,右面是相應的簡介。我們再用Info命令來看一下ShellCode的具體信息,比如我們對一個叫Winexec的ShellCode比較感興趣,在命令行下輸入:Info payload winexec,如圖5所示。
 
在這個對話框中需要注意的同樣是開頭的信息和Available Options中的內容。在Available Options中,我們可以看到有Required和Optional的字樣,Required 代表必選的意思Optional代表是可選可不選的。在下面的具體使用中我們需要用到這裏面的選項。
蝴蝶:這裏需要說明的是,以BSD開頭的是針對BSD系統的ShellCode,以Linx開頭的是針對Linux系統的ShellCode,以CMD和WIN開頭的是針對Windows系統。因爲爲不同的系統對不同的ShellCode要求是不一樣的,所一在此一定要選擇合適的ShellCode纔可以成功溢出。
看了這麼多基本的命令介紹,下面我們實際溢出一次看看效果!
在實際的溢出中,我們要用到的是USE命令。這裏我們仍然以“iis50_webdav_ntdll”溢出工具包爲例。在命令行中輸入“use iis50_webdav_ntdll”後會切換到“iis50_webdav_ntdll”目錄下。輸入Show options,查看溢出工具包要求指定輸入的內容。如圖6所示:
可以看到有兩個Required項,這裏的Required是和圖3中一致的。下面我們來設置這些必須的選項,在命令行下依次輸入:
set RHOST 192.168.1.3
set RPORT 80
如圖7所示:
在Metasploit中,ShellCode是可自己指定的,怎樣指定呢?很簡單,依次輸入輸入:
set payload winexec
set CMD net user hacker 123 /add & net localgroup administrators hacker /add
如圖8所示。
第一個命令是指定我們需要用什麼樣的ShellCode,但是第2個命令是什麼意思呢?大家現在回過頭去看看圖5。發現了什麼?呵呵,還記得我提到過的必選項嗎?看看Available Options中的CMD必選項和後面的說明。是的,這裏的第2個命令的意思就是設置必選項CMD,其實設置的CMD的內容就是我們想要執行的命令。至於什麼命令那就看大家的需要了!
    好了最基本的設置我們已經完成,最後指明目標主機的操作系統就可以發動***了,輸入:
show targets
可以看到可供選擇的操作系統類型的代表名稱。接着輸入:
set target 0
選定操作系統。OK,我們確認一下,輸入:
Set
可以看到如圖9所示的回顯:
 檢查無誤後就可以開始溢出了,輸入:
Exploit
程序提示溢出開始,只不過我這次試驗怎麼溢出都不成功,因爲對方系統早補了這個漏洞了,這裏也就不把圖貼出來丟人了,見諒。
    圖形界面下使用Metasploit
     Metasploit圖形界面的使用方法和命令行下沒有太大的區別,只不過是操作方式的不同罷了:到Metasploit的安裝目錄下找到Msfweb.bat文件雙擊運行,一會後程序提示執行成功,如圖10所示:
然後打開IE,在地址欄中輸入http://127.0.0.1:55555等一會後看到圖11所示的IE窗口:
在想要使用的溢出工具包上單擊鼠標左鍵後進入到基本設置窗口,我們仍然以iis50_webdav_ntdll爲例,如圖12所示:
單擊“select payload”選項進入Payload選擇界面,如圖13所示:
選擇合適的Payload後就進入基本信息的設定界面了,如圖14所示:
這裏的設置和命令行中介紹的是基本一致的,我就不做額外的說明了。都設定好後,你可以點Vulnerability Check檢查看看目標系統有沒有相應的漏洞,或者點Launch Exploit進行***!
從上面的操作可以看出Metasploit的使用方法是非常簡單的,而且功能也是很強大的,對於我們日常的***來說是一款很實用的工具。當然,你也許並不滿足於軟件自帶的這些溢出工具,你完全可以自己向這個工具中添加任何你認爲對你有用的溢出工具包。相信隨着大家的努力,這個工具包可以更加完善!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章