Kali Linux Web 滲透測試秘籍 第一章 配置 Kali Linux

第一章 配置 Kali Linux

作者:Gilberto Najera-Gutierrez

譯者:飛龍

協(xié)議:CC BY-NC-SA 4.0

簡介

在第一章中,我們會涉及如何準備我們的 Kali 以便能夠遵循這本書中的秘籍,并使用虛擬機建立帶有存在漏洞的 Web 應(yīng)用的實驗室。

1.1 升級和更新 Kali

在我們開始 Web 應(yīng)用安全測試之前,我們需要確保我們擁有所有必要的最新工具。這個秘籍涉及到使 Kali 和它的工具保持最新版本的基本步驟。

準備

我們從 Kali 已經(jīng)作為主操作系統(tǒng)安裝到計算機上,并帶有網(wǎng)絡(luò)連接來開始。這本書中所使用的版本為 2.0。你可以從 https://www.kali.org/downloads/ 下載 live CD 和安裝工具。

操作步驟

一旦你的 Kali 實例能夠啟動和運行,執(zhí)行下列步驟:

  1. 以 root 登錄 Kali。默認密碼是 toor,不帶雙引號。你也可以使用su來切換到該用戶,或者如果喜歡使用普通用戶而不是 root 的話,用sudo來執(zhí)行單條命令。

  2. 打開終端。

  3. 運行apt-get update命令。這會下載可用于安裝的包(應(yīng)用和工具)的更新列表。

    apt-get update
    
  4. 一旦安裝完成,執(zhí)行下列命令來將非系統(tǒng)的包更新到最新的穩(wěn)定版。

    apt-get upgrade
    
  5. 當被詢問是否繼續(xù)時,按下Y并按下回車。

  6. 下面,讓我們升級我們的系統(tǒng)。鍵入下列命令并按下回車:

    apt-get dist-upgrade
    
  7. 現(xiàn)在,我們更新了 Kali 并準備好了繼續(xù)。

工作原理

這個秘籍中,我們涉及到了更新基于 Debian 的系統(tǒng)(比如 Kali)的基本步驟。首先以update參數(shù)調(diào)用apt-get來下載在所配置的倉庫中,用于我們的特定系統(tǒng)的包的最新列表。下載和安裝倉庫中最新版本的所有包之后,dist-update參數(shù)下載和安裝upgrade沒有安裝的系統(tǒng)包(例如內(nèi)核和內(nèi)核模塊)。

這本書中,我們假設(shè) Kali 已經(jīng)作為主操作系統(tǒng)在電腦上安裝。也可以將它安裝在虛擬機中。這種情況下,要跳過秘籍“安裝 VirtualBox”,并按照“為正常通信配置虛擬機”配置 Kali VM 的網(wǎng)絡(luò)選項。

更多

有一些工具,例如 Metasploit 框架,擁有自己的更新命令??梢栽谶@個秘籍之后執(zhí)行它們。命令在下面:

msfupdate 

1.2 安裝和運行 OWASP Mantra

OWASP(開放 Web 應(yīng)用安全項目,https://www.owasp.org/)中的研究員已經(jīng)將 Mozilla FIrefox 與 大量的插件集成,這些插件用于幫助滲透測試者和開發(fā)者測試 Web 應(yīng)用的 bug 或安全缺陷。這個秘籍中,我們會在 Kali 上安裝 OWASP Mantra(http://www.getmantra.com/),首次運行它,并查看一些特性。

大多數(shù) Web 應(yīng)用滲透測試都通過瀏覽器來完成。這就是我們?yōu)槭裁葱枰粋€帶有一組工具的瀏覽器來執(zhí)行這樣一個任務(wù)。OWASP Mantra 包含一系列插件來執(zhí)行任務(wù),例如:

  • 嗅探和攔截 HTTP 請求

  • 調(diào)試客戶端代碼

  • 查看和修改 Cookie

  • 收集關(guān)于站點和應(yīng)用的信息

準備

幸運的是, OWASP Mantra 默認包含于 Kali 的倉庫中。所以,要確保我們獲得了瀏覽器的最新版本,我們需要更新包列表:

apt-get update

操作步驟

  1. 打開終端并執(zhí)行:

    apt-get install owasp-mantra-ff
    
  2. 在安裝完成之后,訪問菜單:Applications | 03 - Web Application Analysis | Web Vulnerability Scanners | owasp-mantra-ff來首次啟動 Mantra?;蛘咴诮K端中輸入下列命令:

    owasp-mantra-ff
    
  3. 在新打開的瀏覽器中,點擊 OWASP 圖標之后點擊Tools。這里我們可以訪問到所有 OWASP Mantra 包含的工具。

  4. 我們會在之后的章節(jié)中使用這些工具。

另見

你可能也對 Mantra on Chromium (MOC)感興趣,這是 Mantra 的一個替代版本,基于 Chromium 瀏覽器。當前,它只對 Windows 可用:http://www.getmantra.com/mantra-on-chromium.html。

1.3 配置 Iceweasel 瀏覽器

如果我們不喜歡 OWASP Mantra,我們可以使用 Firefox 的最新版本,并安裝我們自己的測試相關(guān)插件。Kali Linux 包含了 Iceweasel,另一個 Firefox 的變體。我們這里會使用它來看看如何在它上面安裝我們的測試工具。

操作步驟

  1. 打開 Iceweasel 并訪問Tools | Add-ons。就像下面的截圖這樣:

  2. 在搜素框中,輸入tamper data并按下回車。

  3. Tamper Data插件中點擊Install。

  4. 對話框會彈出,詢問我們接受 EULA,點擊Accept and Install...。

    你可能需要重啟你的瀏覽器來完成特定插件的安裝。

  5. 下面,我們在搜索框中搜索cookies manager+。

  6. cookies manager+插件中點擊Install。

  7. 現(xiàn)在,搜索Firebug。

  8. 搜索和安裝Hackbar。

  9. 搜索和安裝HTTP Requester。

  10. 搜索和安裝Passive Recon

工作原理

目前為止,我們在 Web 瀏覽器中安裝了一些工具,但是對 Web 應(yīng)用滲透測試者來說,這些工具好在哪里呢?

  • Cookies Manager+:這個插件允許我們查看,并有時候修改瀏覽器從應(yīng)用受到的 Cookie 的值。

  • Firebug:這是任何 Web 開發(fā)者的必需品。它的主要功能是網(wǎng)頁的內(nèi)嵌調(diào)試器。它也在你對頁面執(zhí)行一些客戶端修改時非常有用。

  • Hackbar:這是一個非常簡單的插件,幫助我們嘗試不同的輸入值,而不需要修改或重寫完整的 URL。在手動檢查跨站腳本工具和執(zhí)行注入的時候,我們會很頻繁地使用它。

  • Http Requester:使用這個工具,我們就能構(gòu)造 HTTP 鏈接,包括 GET、POST 和 PUT 方法,并觀察來自服務(wù)器的原始響應(yīng)。

  • Passive Recon:它允許我們獲得關(guān)于網(wǎng)站被訪問的公共信息,通過查詢 DNS 記錄、WHOIS、以及搜索信息,例如郵件地址、鏈接和 Google 中的合作者。

  • Tamper Data:這個插件能夠在請求由瀏覽器發(fā)送之后,捕獲任何到達服務(wù)器的請求。這提供給我們了在將數(shù)據(jù)引入應(yīng)用表單之后,在它到達服務(wù)器之前修改它的機會。

更多

有一些插件同樣對 Web 應(yīng)用滲透測試者有用,它們是:

  • XSS Me
  • SQL Inject Me
  • FoxyProxy
  • iMacros
  • FirePHP
  • RESTClient
  • Wappalyzer

1.4 安裝 VirtualBox

這是我們的第四篇秘籍,會幫助我們建立虛擬機環(huán)境,并運行它來實施我們的滲透測試。我們會使用 VirtualBox 在這樣的環(huán)境中運行主機。這個秘籍中,我們會了解如何安裝 VirtualBox 以及使它正常工作。

準備

在我們在 Kali 中安裝任何東西之前,我們都必須確保我們擁有最新版本的包列表:

apt-get update

操作步驟

  1. 我們首先實際安裝 VirtualBox:

    apt-get install virtualbox
    
  2. 安裝完成之后,我們要在菜單中尋找 VirtualBox,通過訪問Applications | Usual applications | Accessories | VirtualBox。作為替代,我們也可以從終端調(diào)用它:

    virtualbox
    

現(xiàn)在,我們運行了 VirtualBox 并且已經(jīng)準備好配置虛擬機來構(gòu)建我們自己的測試環(huán)境。

工作原理

VirtualBox 允許我們在我們的 Kali 主機上通過虛擬化運行多個主機。通過它,我們可以使用不同的計算機和操作系統(tǒng)來掛載完整的環(huán)境。并同時運行它們,只要 Kali 主機的內(nèi)存資源和處理能力允許。

更多

虛擬機擴展包,提供了 VirtualBox 的虛擬機附加特性,例如 USB 2.0/3.0 支持和遠程桌面功能。它可以從 https://www.virtualbox.org/wiki/Downloads 下載。在下載完成后雙擊它,VirtualBox 會做剩余的事情。

另見

除此之外有一些可視化選項。如果你使用過程中感到不方便,你可以嘗試:

  • VMware Player/Workstation
  • Qemu
  • Xen
  • KVM

1.5 創(chuàng)建漏洞虛擬機

現(xiàn)在我們準備好創(chuàng)建我們的第一個虛擬機,它是托管 Web 應(yīng)用的服務(wù)器,我們使用應(yīng)用來實踐和提升我們的滲透測試技巧。

我們會使用叫做 OWASP BWA( Broken Web Apps)的虛擬機,它是存在漏洞的 Web 應(yīng)用的集合,特別為執(zhí)行安全測試而建立。

操作步驟

  1. 訪問 http://sourceforge.net/projects/owaspbwa/files/,并下載最新版本的.ova文件。在本書寫作過程中,它是OWASP_Broken_Web_Apps_ VM_1.1.1.ova。

  2. 等待下載完成,之后打開文件:

  3. VirtualBox 的導(dǎo)入對話框會顯示。如果你打算修改機器名稱或描述,你可以通過雙擊值來完成。我們會命名為vulnerable_vm,并且使剩余選項保持默認。點擊Import

  4. 導(dǎo)入需要花費一分鐘,之后我們會看到我們的虛擬機顯示在 VirtualBox 的列表中。讓我們選中它并點擊Start。

  5. 在機器啟動之后,我們會被詢問登錄名和密碼,輸入root作為登錄名,owaspbwa作為密碼,這樣設(shè)置。

工作原理

OWASP BWA 是一個項目,致力于向安全從業(yè)者和愛好者提供安全環(huán)境,用于提升攻擊技巧,并識別和利用 Web 應(yīng)用中的漏洞,以便幫助開發(fā)者和管理員修復(fù)和防止漏洞。

這個虛擬機包含不同類型的 Web 應(yīng)用,一些基于 PHP,一些基于 Java,甚至還有一些基于 .NET 的漏洞應(yīng)用。也有一些已知應(yīng)用的漏洞版本,例如 WordPress 或 Joomla。

另見

當我們談?wù)撀┒磻?yīng)用和虛擬機的時候,有很多選擇。有一個著名網(wǎng)站含有大量的此類應(yīng)用,它是 VulnHub(https:// www.vulnhub.com/)。它也有一些思路,幫助你解決一些挑戰(zhàn)并提升你的技能。

這本書中,我們會為一些秘籍使用另一個虛擬機: bWapp Bee-box。它也可以從 VulnHub 下載:https://www.vulnhub.com/entry/bwapp-beebox-v16,53/

1.6 獲取客戶端虛擬機

當我們執(zhí)行中間人攻擊(MITM)和客戶端攻擊時,我們需要另一臺虛擬機來向已經(jīng)建立的服務(wù)器發(fā)送請求。這個秘籍中,我們會下載 Microsoft Windows 虛擬機并導(dǎo)入到 VirtualBox 中。

操作步驟

  1. 首先我們需要訪問下載站點 <http://dev.modern.ie/tools/ vms/#downloads>。

  2. 這本書中,我們會在 Win7 虛擬機中使用 IE8。

  3. 文件下載之后,我們需要解壓它。訪問它下載的位置。

  4. 右擊它并點擊Extract Here(解壓到此處)。

  5. 解壓完成后,打開.ova文件并導(dǎo)入到 VirtualBox 中。

  6. 現(xiàn)在啟動新的虛擬機(名為IE8 - Win7),我們就準備好客戶端了。

工作原理

Microsoft 向開發(fā)者提供了這些虛擬機來在不同的 Windows 和 IE 版本上測試它們的應(yīng)用,帶有 30 天的免費許可,這足以用于實驗了。

作為滲透測試者,意識到真實世界的應(yīng)用可能位于多個平臺,這些應(yīng)用的用戶可能使用大量的不同系統(tǒng)和 Web 瀏覽器來和互相通信非常重要。知道了這個之后,我們應(yīng)該使用任何客戶端/服務(wù)器的設(shè)施組合,為成功的滲透測試做準備。

另見

對于服務(wù)端和客戶端的虛擬機,如果你在使用已經(jīng)構(gòu)建好的配置時感到不便,你總是可以構(gòu)建和配置你自己的虛擬機。這里是一些關(guān)于如何實現(xiàn)的信息:https://www.virtualbox.org/manual/。

1.7 為正常通信配置虛擬機

為了能夠和我們的虛擬服務(wù)器和客戶端通信,我們需要位于相同網(wǎng)段內(nèi)。但是將帶有漏洞的虛擬機放到局域網(wǎng)中可能存在安全風險。為了避免它,我們會在 VirtualBox 中做一個特殊的配置,允許我們在 Kali 中和服務(wù)器及客戶端虛擬機通信,而不將它們暴露給網(wǎng)絡(luò)。

準備

在我們開始之前,打開 VirtualBox 并且寶漏洞服務(wù)器和客戶端虛擬機都關(guān)閉了。

操作步驟

  1. 在 VirtualBox 中訪問File | Preferences… | Network。

  2. 選擇Host-only Networks標簽頁。

  3. 點擊+按鈕來添加新網(wǎng)絡(luò)。

  4. 新的網(wǎng)絡(luò)(vboxnet0)會創(chuàng)建,它的詳細窗口會彈出。如果沒有,選項網(wǎng)絡(luò)并點擊編輯按鈕來編輯它的屬性。

  5. 在對話框中,你可以指定網(wǎng)絡(luò)配置。如果它不影響你的本地網(wǎng)絡(luò)配置,將其保留默認。你也可以修改它并使用其它為局域網(wǎng)保留的網(wǎng)段中的地址,例如 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。

  6. 合理配置之后,點擊OK。

  7. 下一步是配置漏洞虛擬機(vulnerable_vm)。選擇它并訪問它的設(shè)置。

  8. 點擊Network并且在Attached to:下拉菜單中,選擇Host-only Adapter

  9. Name中,選擇vboxnet0。

  10. 點擊OK

  11. 在客戶端虛擬機(IE8 - Win7)中執(zhí)行第七步到第十步。

  12. 在配置完兩個虛擬機之后,讓我們測試它們是否能真正通信。啟動兩個虛擬機。

  13. 讓我們看看宿主系統(tǒng)的網(wǎng)絡(luò)通信:打開終端并輸入:

    ifconfig
    
  14. 我們可以看到我們擁有叫做vboxnet0的網(wǎng)絡(luò)適配器,并且它的 IP 地址為 192.168.56.1。取決于你所使用的配置,這可能有所不同。

  15. 登錄 vulnerable_vm 并檢查適配器eth0的 IP 地址。

    ifconfig 
    
  16. 現(xiàn)在,讓我們訪問我們的客戶端主機IE8 - Win7。打開命令行提示符并輸入:

    ipconfig 
    
  17. 現(xiàn)在,我們擁有了三臺機器上的 IP 地址。

    • 192.168.56.1 :宿主機
    • 192.168.56.102 :vulnerable_vm
    • 192.168.56.103 :IE8 - Win7
  18. 為了測試通信,我們打算從宿主機中 ping 兩個虛擬機。

    ping -c 4 192.168.56.102 
    ping -c 4 192.168.56.103
    

    ping 會發(fā)送 ICMP 請求給目標,并等待回復(fù)。這在測試網(wǎng)絡(luò)上兩個節(jié)點之間是否可以通信的時候非常有用。

  19. 我們對兩個虛擬機做相同操作,來檢車到服務(wù)器和到另一臺虛擬機的通信是否正常。

  20. IE8 - Win7 虛擬機可能不響應(yīng) ping,這是正常的,因為 Win7 的配置默認不響應(yīng) ping。為了檢查連接性,我們可以從 Kali 主機使用arping。

    arping –c 4 192.168.56.103
    

工作原理

僅有主機的網(wǎng)絡(luò)是虛擬網(wǎng)絡(luò),它的行為像 LAN,但是它僅僅能夠訪問宿主機,所運行的虛擬機不會暴露給外部系統(tǒng)。這種網(wǎng)絡(luò)也為宿主機提供了虛擬適配器來和虛擬機通信,就像它們在相同網(wǎng)段那樣。

使用我們剛剛完成的配置,我們就能夠在客戶端和服務(wù)器之間通信,二者都可以跟 Kali 主機通信,Kali 會作為攻擊主機。

1.8 了解漏洞 VM 上的 Web 應(yīng)用

OWASP BWA 包含許多 Web 應(yīng)用,其內(nèi)部含有常見攻擊的漏洞。它們中的一些專注于一些特定技巧的實驗,而其它嘗試復(fù)制碰巧含有漏洞的,真實世界的應(yīng)用。

這個秘籍中,我們會探索 vulnerable_vm,并了解一些其中包含的應(yīng)用。

準備

我們需要啟動我們的 vulnerable_vm,并正確配置它的網(wǎng)絡(luò)。這本書中,我們會使用 192.168.56.102 作為它的 IP 地址。

操作步驟

  1. vulnerable_vm 啟動后,打開 Kali 主機的 Web 瀏覽器并訪問http://192.168.56.102。你會看到服務(wù)器所包含的所有應(yīng)用列表。

  2. 讓我們訪問Damn Vulnerable Web Application。

  3. 使用admin作為用戶名,admin作為密碼。我們可以看到左邊的菜單:菜單包含我們可以實驗的所有漏洞的鏈接:爆破、命令執(zhí)行、SQL 注入,以及其它。同樣,DVWA 安全這部分是我們用于配置漏洞輸入的安全(或復(fù)雜性)等級的地方。

  4. 登出并返回服務(wù)器的主頁。

  5. 現(xiàn)在我們點擊OWASP WebGoat.NET。這是個 .NET 應(yīng)用,其中我們可以實驗文件和代碼注入攻擊,跨站腳本,和加密漏洞。它也含有 WebGoat Coins Customer Portal,它模擬了商店應(yīng)用,并可以用于實驗漏洞利用和漏洞識別。

  6. 現(xiàn)在返回服務(wù)器的主頁。

  7. 另一個包含在虛擬機中的有趣應(yīng)用是 BodgeIt。它是基于 JSP 的在線商店的最小化版本。它擁有我們可以加入購物車的商品列表,帶有高級選項的搜索頁面,為新用戶準備的注冊表單,以及登錄表單。這里沒有到漏洞的直接引用,反之,我們需要自己找它們。

  8. 我們在一個秘籍中不能瀏覽所有應(yīng)用,但是我們會在這本書中使用它們。

工作原理

主頁上的應(yīng)用組織為六組:

  • 訓(xùn)練應(yīng)用:這些應(yīng)用分為幾部分,專注于實驗特定的漏洞或攻擊技巧。他它們中的一些包含教程、解釋或其他形式的指導(dǎo)。

  • 真實的,內(nèi)部含有漏洞的應(yīng)用:這些應(yīng)用的行為就像真實世界的應(yīng)用(商店】博客或社交網(wǎng)絡(luò))一樣,但是開發(fā)者出于訓(xùn)練目的在內(nèi)部設(shè)置了漏洞。

  • 真實應(yīng)用的舊(漏洞)版本:真是應(yīng)用的舊版本,例如 WordPress 和 Joomla 含有已知的可利用的漏洞。這對于測試我們的漏洞識別技巧非常實用。

  • 用于測試工具的應(yīng)用:這個組中的應(yīng)用可以用做自動化漏洞掃描器的基準線測試。

  • 演示頁面/小應(yīng)用:這些小應(yīng)用擁有一個或一些漏洞,僅僅出于演示目的。

  • OWASP 演示應(yīng)用:OWASP AppSensor 是個有趣的應(yīng)用,它模擬了社交網(wǎng)絡(luò)并含有一些漏洞。但是他會記錄任何攻擊的意圖,這在嘗試學(xué)習的時候很有幫助。例如,如何繞過一些安全設(shè)備,例如網(wǎng)絡(luò)應(yīng)用防火墻。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容