Metasploit Framework(1)基本命令、簡單使用
文章的格式也許不是很好看,也沒有什麼合理的順序
完全是想到什麼寫一些什麼,但各個方面都涵蓋到了
能耐下心看的朋友歡迎一起學習,大牛和槓精們請繞道
基本的控制檯命令介紹:
banner
檢視metasploit的基本資訊
connect
這裡理解成kali的nc命令,基本一致
簡單使用下:
show
列出各種各樣的模組,後邊會經常使用
search
顧名思義,搜尋,比如我搜索一個微軟的漏洞,顯示的是檔案目錄
(/usr/share/metasploit-framework/.....)
可以過濾性地搜尋
不只有name篩選,還有型別type,平臺platform等(-h可以看看都可以搜哪些)
use
使用模組的命令:比如我下面使用著名的ms08-067
接下來就可以輸入一些特定模組的特定的命令
比如:show options,show targets,這些具體在後面介紹
資料庫方面的操作:
db_status:檢視是否連線到資料庫,如果失敗的話重啟下
db_disconnect:斷開資料庫連線(通常用不著)
db_connect:連線其他資料庫
db_rebuild_cache:開啟資料庫快取任務(後邊如果用到資料庫的東西,可以更快速呼叫)
db_nmap:其實和Nmap命令一致,不過會把掃描結果存入資料庫
db_export:匯出資料庫,-f引數:儲存格式,後邊接路徑
使用:db_export -f xml /root/xxx/a.xml
有匯出就有匯入:
db_import
使用:db_import /root/xxx/a.xml
注意:可以匯入一些工具的檔案,比如可以匯入Nmap掃描結果的輸出檔案
這裡順便再介紹一個命令hosts,檢視主機記錄:
示例:
我先hosts命令檢視是否儲存了主機,Nmap掃描一個IP,再看看有沒有更新:
下面我再hosts:發現多了一個記錄
我想具體看下這個記錄:
現在只掃描了一個:如果掃描了很多IP,我想只看開啟的IP:加一個-u引數即可
hosts 1.1.1.1 -u
當然還有-c過濾引數:只看某一列
還有一個有用的引數-S搜尋功能
上邊獲取了主機訊息,那麼埠資訊呢?
services:
這裡就查到了剛才Nmap掃描到的埠的資訊:
如果我想搜尋開啟3306埠的資訊:
-S引數是全域性搜尋,如果只搜尋開放某個埠就需要引數-p了
埠可以是一個,也可以是一個範圍(-p 100-200)
可以配合上邊的-c引數來使用:
接下來用Metasploit framework做些小測試
後邊的命令是一些需要具體目標的命令:
因此,我特意開啟一個Metasploitable虛擬機器
ifconfig檢視到這個機器IP:192.168.163.129
我利用mysql_login模組嘗試破解一個mysql資料庫:
使用這個模組:use+路徑
依次設定使用者名稱,檢查是否空密碼,設定目標IP:
可以使用剛才介紹的show options命令看看設定的結果
下面執行這個模組:
一種是run,一種是exploit:
由於目標機器本身就有漏洞,直接成功了:
這個結果就會存入資料庫中:使用命令creds檢視資料庫
順便說一下,以後如果掃描到了漏洞,也可以使用vulns檢視資料庫中儲存的漏洞
掃描完之後,可以用unset取消引數的設定
有一種設定:設定全域性引數:setg(重啟metasploit framework後這個全域性引數就會失效)
比如:setg RHOSTS 192.168.163.129
那麼接下來使用任何模組預設都會設定好這個引數
當然全面引數取消也很簡單:unsetg [引數名]
當然,為了防止設定好全域性引數重啟後失效,可以用一個新的命令:save
下邊再做一個簡單的案例:
我用經典的MS08-067漏洞來滲透一個windowsXP系統:
開啟一個windowsXP機器:關閉防火牆
檢視到這個機器的IP:192.168.163.130
查詢完整路徑然後使用模組:
設定好目標IP:
檢視目標targets都有哪些:找到其中對應的序號
比如我這裡對應的是2號
再設定payload為反連線的payload(目標機器會主動和我TCP連線)
既然要主動連線,就需要設定一個連線的IP:當前Kali機器的IP
設定好之後看看設定的引數:
OK,沒有問題,可以執行了!
後來發現IP設定錯了,我改了下,這裡就不記錄了:
但是滲透失敗了,筆記MS08-067是老漏洞了,XP系統不好滲透
但是!!雖說失敗了,但是目標機器被我搞崩潰了,這也算是一種攻擊了吧,哈哈。
如果成功了的話,就可以獲取shell了
對了,我前幾天用緩衝區溢位漏洞拿下了這臺XP的shell,有興趣的朋友可以一看:
https://www.cnblogs.com/xuyiqing/p/9875951.html
可以使用exploit -j引數來後臺獲取shell
如果是後臺獲取的shell可以用sessions -i 來操作
load命令:載入外部的工具
比如我想用nessus或者openvas,但不可以直接使用
需要:load openvas
具體在後邊詳細說
有load就有unload,取消載入
這一篇就到這裡,後面會介紹具體的使用