天天看點

Metasploit入門用法(主動攻擊)

–作者:CV

本文主要講metasploit的入門用法,還有一些滲透細節和思路,有不足的,歡迎互相學習研究。本人差別于書籍的特點是:書籍以子產品為劃分,我是以連續的步驟進行書寫,更突出一次滲透的思路,同時我會通過強調步驟的細節技巧,用以拓展相關類容。

由于我現在對metasploit的深入度并不足,隻能使用metasploit做一些初級入門的系統測試,一下是正常步驟和方法:

1、 使用nmap進行端口掃描

2、 使用search指令查找相關子產品

3、 使用use排程子產品

4、 使用info檢視子產品資訊

5、 選擇payload作為攻擊

6、 設定攻擊參數

7、 滲透攻擊

如果第二次看我文章,建議通過以上七個步驟回憶操作,實在記不住再看後面步驟詳解,以達到掌握的效果。

詳解:

首先是安裝metasploit和nmap(後期也會出一個這個工具的學習筆記),至于安裝方法,請根據您使用的系統來百度。百度是初學者必備,如果深入建議使用Google。我們這次滲透的靶機,是metasploitable2。

1. 使用nmap進行端口掃描,

由于本人技術初級階段,是以隻能檢測系統漏洞。檢查系統漏洞的關鍵,就是檢測端口的開放,這個也是metasploit種exploit子產品經常要設定參數的原因,是以nmap很好的解決了這個需求,通常使用:nmap –sV IP(或者域名),如果機器設定有防火牆禁ping,可以使用nmap -P0(或者-Pn) –sV IP(或者域名),通過這兩個指令可以檢視主機的開放情況:

Metasploit入門用法(主動攻擊)

如圖,可以看到靶機開放的端口,開放狀态,服務類型,和版本号,其中滲透最重要的兩個參數是開放狀态和版本号。如果端口是關閉的,那就不可能滲透了,一般是防火牆過濾了,但如果是過濾的話,還是可以嘗試攻擊(我沒成功過,應該有一定可能成功);版本号也就是系統掃描中,在開發安全掃描件裡經常提及的漏洞指紋,因為大部分漏洞的産生就是某一版本的問題。

我們此次攻擊的139端口,如圖中,可以看到服務的指紋資訊,主要就是服務名稱和版本号,是叫samba的服務,處于3.X-4.X版本。

此步強調:

a、 nmap的參數居多,但是可以通過英語簡寫記,比如:-sV :s 技術scan ,V就是version。(我英語不好,也不知道是不是對的)

b、 通過nmap主要是知道端口開放情況(STATE)和指紋資訊(服務名稱和版本号),然後可以根據指紋資訊百度,該版本是否存在漏洞,然後按百度操作證明。

2.使用search指令查找相關子產品

就剛才我們鎖定的139端口的版本資訊,我們可以通過search指令查找相關的掃描腳本。指令格式:search Name。本例就是:search samba

Metasploit入門用法(主動攻擊)

如圖,加班也有很多屬性,其中最重要的就是他的等級,一般有限選擇excellent和great兩種等級,因為穩定且效果明顯,其次重要的就是後面的描述是否和我們攻擊的服務有關,最後記住需要的子產品,在後面攻擊是使用。

此步強調:

a、 攻擊子產品的等級很重要,依次選擇excellent和great,其他子產品并不是很好或者效果不明顯。(後期我可能出一個metasploit二次開發的程式設計,使用腳本,可以簡單快速的進行滲透,并且解決低等級子產品多,手工慢的特點。)

b、 英語非常重要,但是要求也不高,能把提示看懂就行,這個對滲透幫助巨大,因為大部分好的開源工具都是英文提示。

c、 還有圖中第二行沒有标明的一個問題,說我沒有建立資料庫,建議大家在使用metasploit以前,打開postgresql資料庫,有很多難度姿勢需要依賴,在此我就不舉例了。

3.使用use排程子產品

找到了我們需要攻擊的目标子產品,我們就使用它,通過指令:use ExploitName 。該例就是:use exploit/multi/samba/usermap_script。

Metasploit入門用法(主動攻擊)

如圖,出現第二行,就是說明子產品加載成功。

技巧:如果是知道使用哪個子產品,可以輸入每個 / 後的前2-4個字母使用table補齊,或者直接複制剛才找到子產品。(建議大家都使用Linux作業系統,隻需要指令就能解決很多問題,而且本人偏開發,在開發的時候,Linux使用也會比Windows多些優勢)

4.使用info檢視子產品資訊

這步最簡單,就是在上步的基礎上,輸入info就行:

Metasploit入門用法(主動攻擊)

主要就是看圖中标紅的描述,确定是否針對漏洞(該步基本可省略,但是為了了解學習,還是建議看看)

5.選擇payload作為攻擊

選擇payload,首先我們要看能使用哪些參數,通過指令:show payloads:

Metasploit入門用法(主動攻擊)

在選擇攻擊載荷的時候,建議選用和meterpreter和reverse相關的載荷,本次攻擊就選用圖中标紅的。

通過使用指令:set payload PayloadName。該例為:set payload cmd/unix/reverse:

Metasploit入門用法(主動攻擊)

出現第二行,表示設定成功。

技巧:

a、 meterpreter在metasploit中有什麼瑞士尖刀的稱呼,可以很好的做到後滲透攻擊以及内網滲透,可以參看meterpreter使用。

b、 reverse解釋是反彈,由于你攻擊的目标機可能處在内網裡,是以你攻擊的時候存在端口映射等方面的問題,是以如果使用反彈,這個可以更穩定。(我是這麼了解的,建議百度反彈shell,玄魂的解釋挺不錯)

6.設定攻擊參數

首先通過show options或者options,檢視需要填寫的參數:

Metasploit入門用法(主動攻擊)

其中标紅處如果是yes,表示這行參數必須填寫,如果是no,就是選填,其中有LHOST和RHOST是空,我們根據後面的描述,填上靶機和本地主機的資訊。

Metasploit入門用法(主動攻擊)

RHOST 填寫目标機IP,LHOST填寫本機IP。

技巧:

a、 在真實的環境中,RPORT可能并不是預設的參數,由于一個服務是放在内網當中,他通過路由器轉發,可能會出現端口的變化(端口映射),比如我們剛才掃描出該服務的端口可能就不是139,而是XXX,這個時候,我們就要設定RPORT為XXX,這點非常重要。

b、 exploit target也是非常重要的參數,在你确切的知道目标的系統的時候,可以通過show targets,檢視目标系統有哪些:

Metasploit入門用法(主動攻擊)

檢視目标的系統,可以使用:nmap –O IP,然後使用set target ID選擇目标類型,主要用于增加成功率。

c、 由于本機的IP在内網,是以基本不會變,可以使用setg代替set,這樣在手工的時候換攻擊子產品,少輸入幾個字母。

7.滲透攻擊

上面參數填好後,應該是如下情況:

Metasploit入門用法(主動攻擊)

就是參數完整,然後使用exploit或者run就行了,對于部分攻擊子產品,可以使用check來判斷:

Metasploit入門用法(主動攻擊)

圖中的靶機ip由于我是通過虛拟機主機模式做的,是以ip和端口都是原生的,但如果是滲透到内網的某個主機,那顯示的本地位址可能和你的攻擊位址産生不同,這個時候就恭喜你的滲透到内網,你可以通過使用添加路由的方式,進行内網滲透(後面看情況出該章節)。

技巧:使用check判斷,不會生成session,這樣就不會暴露自己的ip位址,但是也就不能getshell。

8.後滲透攻擊

這一部分主要是meterpreter子產品的使用,以及部分提權,由于和這章關系不大,是以就沒列入最前面的清單,後期會出一個相關學習筆記。

總結(非常重要):

a、 英語很重要,就算不學太多單詞,在使用工具中出現的單詞,建議查找記憶。

b、 在文章中沒提出在計算機中用的最常見的一個參數 “-h”,就算help,很多操作都可以通過幫助來使用,是以再次說明英語重要。

c、 參數衆多的情況下,就記住主要的參數,比如本文針對exploit子產品,基本常用的指令(除了show advanced 和設定其中的參數)

關于metasploit方面推薦學習demon表哥的部落格:www.ggsec.cn,視屏更多。

本人初學習滲透知識,文中可能有一定纰漏,如果有大表哥發現,麻煩請斧正,聯系QQ:617088553。

推廣:

一些好群推薦:

漏洞銀行技術1群:477761459

漏洞銀行新手特訓營:435418650

CV,Ctrl+C、Ctrl+V;隻做姿勢的搬運工,希望對入門的朋友有所幫助。

文章歡迎轉載,同時版權歸本人所有,如商業用途,歡迎合作共赢。

繼續閱讀