簡介
- 使用Ruby撰寫而成
- 支援所有的主要作業系統
- 選項設定與攻擊執行的一致性介面
- 將安全漏洞與payload分開
- 整合的編碼與規避功能
- 具有容易更新之機制的統一攻擊資料庫
Metasploit介面
控制台
$ ./msfconsole msf> #系統自行顯示
命令列模式
$ ./msfcli exploitname option1=value option2=value.....mode $ ./msfcli windows/dcerpc/ms03_026_dcom RHOST=yakima \ PAYLOAD=windows/shell_bind_tcp TARGET=0 E #範例 $ ./msfcli #系統會印出輔助資訊與攻擊清單1.攻擊程式的名稱與選項與控制台相同
2.mode為CLI獨有,支援以下模式值
- H:顯示輔助說明
- S:顯示資訊摘要,與控制台的info相同
- O:為所選取的攻擊程式顯示一個可用清單,與控制台的show option相同
- A:顯示攻擊程式的進階選項(如果有的話)
- I:顯示IDS規避清單
- P:為所選取的攻擊程式,顯示可用payload清單,與控制台的show payload相同
- T:為所選取的攻擊程式,顯示可用目標清單,與控制台的show targets相同
- C:檢查目標主機是否有安全漏洞而容易受到攻擊(並非所有攻擊程式都提供檢查)
- E:發動攻擊,與控制台的exploit相同
網頁介面
$ ./msfweb $ /msfweb -a address -p port #可複寫掉預設值
攻擊細節
Exploit(攻擊)
- 負責觸發你所選擇的安全漏洞的特殊程式碼模組
- shell、進階編碼(encoding)、NOP sled由其他插件式模組提供
Payload(酬載)
- 決定攻擊成功後產生的效應
- 在較低的層次上,payload被編碼成"shellcode",伴隨攻擊被傳送
Option(選項)
- 用來組態exploit與payload之類的Metasploit模組具有的選項
- 規避選項(Evasion option)可試圖規避IDS或IPS的偵測
Encoder(編碼器)
- 為了越過"過濾器"而替攻擊的payload進行編碼的工具
- 常見的過濾器限制為必須避免空字元,或者必須只用文數字的字元
基本工作流程
1.使用安全漏洞掃描器或Port掃描器 2.選擇攻擊程式3.payload
4.設定必要選項
5.exploit
Metasploit控制台
常用指令(可透過help取得完整的命令清單)
msf> show (Metasploit認可模組) msf> show payload #範例Metasploit認可模組
- exploit
- payload
- encoder
- NOP
- auxiliary
- option (須先選擇exploit)
msf> use exploit msf use windows/smb/ms06_040_netapi #範例 msf exploit(ms06_040_netapi)> #系統自行顯示任何時間只有一個攻擊程式可以被選用
msf> set variable value msf> set RHOST www.target.com #範例 設定RHOST選項 RHOST => www.target.com #系統自行顯示設定各個Option(選項)的值
msf> exploit發動攻擊,攻擊成功可看到payload結果,失敗則回傳錯誤訊息
msf> info msf> info x86/opty2 #範例 顯示x866/opt2 NOP產生器攻擊程式的資訊顯示關於當前選取之攻擊程式的資訊
資料出處:O'REILLY 防駭超級工具
沒有留言:
張貼留言