<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            原文地址:http://drops.wooyun.org/tips/2143

            0x00 背景


            筆記在kali linux(32bit)環境下完成,涵蓋了筆者對于metasploit 框架的認識、理解、學習。

            這篇為基礎篇,并沒有太多技巧性的東西,但還是請大家認真看啦。

            如果在閱讀中有任何問題都可以與我郵件聯系([email protected]

            0x01 在kali中使用metasploit


            在kali中使用metasploit,需要先開啟PostgreSQL數據庫服務和metasploit服務,然后就可以完整的利用msf數據庫查詢exploit和記錄了。這一點比bt5要方便很多,所以現在就放棄了bt5。

            具體命令與截圖

            service postgresql start
            service metasploit start
            

            enter image description here

            如果不想每次開機都這樣,還可以配置隨系統啟動。

            update-rc.d postgresql enable
            update-rc.d metasploit enable
            

            enter image description here

            0x02 metasploit目錄結構


            之所以會講到這,是因為我認為框架代碼是用來學習的一個非常好的來源。并且metasploit是用ruby腳本語言編寫,所以閱讀起來非常方便。在滲透,exploit編寫過程前理解框架的優勢以及大致內容則能夠快速構建出自己的工具或者找到已知可用的工具。這樣不僅有利于得到結果,也提高了效率。

            這里只介紹幾個目錄,也希望讀者能把modules下auxiliary的模塊大致都看一遍。這樣有個印象也便于快速查找。

            對于工具的使用,沒有會不會的。只是有沒有發現而已。目錄大概看一遍,這個問題就差不多了吧!

            enter image description here

            Kali中msf的路徑為/usr/share/metasploit-framework

            modules

            首先看modules目錄:

            enter image description here

            這里

            Auxiliary:輔助模塊,
            encoders:供msfencode編碼工具使用,具體可以使用 msfencode –l
            exploits:攻擊模塊 每個介紹msf的文章都會提到那個ms08_067_netapi,它就在這個目錄下。
            nops:NOP (No Operation or Next Operation) sled,由于IDS/IPS會檢查數據包中不規則的數據,所以在某些場合下(比如針對溢出攻擊),某些特殊的滑行字符串(NOPS x90x90...)則會因為被攔截而導致攻擊失效,所以此時需要修改exploit中的NOPs.nops文件夾下的東西會在payload生成時用到(后面會有介紹)。比如我們打開php的NOPS生成腳本,就會發現它只是返回了指定長度的空格而已。
            

            enter image description here

            payloads:這里面列出的是攻擊載荷,也就是攻擊成功后執行的代碼。比如我們常設置的windows/meterpreter/reverse_tcp就在這個文件夾下。
            Post:后滲透階段模塊,在獲得meterpreter的shell之后可以使用的攻擊代碼。比如常用的hashdump、arp_scanner就在這里。
            

            data

            其次是data目錄:

            這里存放的是metasploit的腳本引用文件,重點介紹幾個文件

            enter image description here

            第一個是data下js文件夾下的detect,這里面存放的是metasploit的探針文件。如果看過metasploit瀏覽器攻擊腳本的代碼,就會發現調用了一個js庫,然后檢查當前請求是否符合被攻擊環境。如果符合則發送攻擊代碼,否則中斷。Memory中主要是一些堆噴射代碼。在大部分瀏覽器漏洞利用過程,堆噴射是一個不可或缺的過程(當然不是絕對的!)。并且不同的瀏覽器及版本間,堆噴射代碼都有所不同。所以這里給出的探針代碼和堆噴射代碼是不是一個非常好的學習資源呢? script

            最后是msf下script目錄中的resource目錄:

            enter image description here

            這里的rc腳本相當于windows下的批處理腳本,在某些情況下會有一定便捷性。比如Veil在生成免殺payload的同時也會生成一個rc腳本,此時使用msfconsole –r xx.rc便可以快速的建立一個和payload對應的handler,亦或在攻過程中需要你反復的set exploit,那么就可以使用這個批處理腳本了,而這個目錄下則是一些給定的rc腳本,雖然你可能不習慣這樣使用,但作為改寫自己的rc腳本的資源也不錯。

            0x03 metasploit基本命令


            列一些其他文章中不常提到的命令或者是我經常碰到或使用的方法。

            Msfpayload

            enter image description here

            這是我最常用的一個命令,用來生成payload或者shellcode。

            在不知道payload名稱又不想開msfconsole搜索的時候可以用msfpayload –l |grep “windows” 這樣的命令查詢。

            -o 選項可以列出payload所需的參數。

            msfencode

            enter image description here

            msf中的編碼器,早期為了編碼繞過AV,現在我常用msfpayload與它編碼exploit的壞字符串。

            msfconsole

            開啟metasploit的console,有個重要的參數 –r,加載resources腳本

            數據庫有關命令

            hosts

            enter image description here

            這里可以使用hosts查詢指定字段的內容,可用的字段下面有列出。或者也可以使用hosts –S “keyword” 進行搜索。

            Creds

            enter image description here

            Creds命令可以列出成功獲取到的信息,比如用戶名密碼,數據庫密碼,開放端口及服務等。

            Console中有關命令

            search

            enter image description here

            搜索一切可以use的模塊,常用的方法是search 直接加關鍵詞,比如search 08_067,但是我們也可以根據cve編號查找。通常用nessus掃到的漏洞都有cve信息,這里我們就可以這樣搜索了。

            enter image description here

            spool

            enter image description here

            enter image description here

            將屏幕輸出重定向到某個文件中,在使用HTTP弱口令破解、,內網http目錄等不會記錄在creds中的內容時你怎樣解決查詢成功結果的?反正這個問題我快要瘋了。 要不就改寫exploit,不成功不打印,要不就重定向之后自己再grep吧。如果有好的方法,一定要分享啊!

            show advanced

            enter image description here

            在選定一個module(exploit,payload …)之后,使用show advanced命令可以顯示關于此module的高級選項,具體內容會在后面”metasploit tricks and tips”中分享。

            0x04 攻擊示例


            同樣我還是選擇ms08_067這個漏洞,并且隨便輸入一個ip,演示下最基本的攻擊過程(為了讓基礎篇看起來更完整點)結束基礎篇的分享。說明:

            enter image description here

            從圖中也可以看出一次基本的攻擊過程大概是這樣的:

            1. 選擇exploit (use exploit/windows/smb/ms08_067_netapi)
            2. 選擇payload
            3. 設置參數 (set RHOST,set LPORT …)
            4. 執行攻擊
            

            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      亚洲欧美在线