白帽子是指個體發起的黑客攻擊,找到系統潛在的可能被惡意黑客利用的的漏洞或脆弱點。在目標不知情或者沒獲得受權的狀況下發起黑客攻擊是非法的。因此一般是創建一個本身的實驗室,練習黑客技術。php
在這個實驗室裏,你能看到如何建立一個本身的黑客環境,練習各類各樣的黑客攻擊技術。咱們將會探討不一樣類型的虛擬系統,構建一個虛擬網絡,在虛擬環境中運行試用版的操做系統,搭建一個有漏洞的web應用程序,安裝Kali LInux,執行滲透測試。html
VMware Workstationlinux
Windows XP系統映像git
Kali Linux虛擬映像github
下面的步驟中會進一步詳細介紹。web
當咱們談到道德黑客的時候,最好最安全的方法就是在虛擬環境下練習。可使用虛擬機建立虛擬環境。虛擬機是運行在物理機上的虛假機器。在虛擬世界中,物理機上運行的真實的操做系統稱爲「host」,虛擬機上運行的操做系統稱爲「guest」。若是guest被攻破,host仍然是安全的,因此說虛擬機是安全的。sql
經常使用的虛擬系統有VMware Workstation、VMware Workstation Player、Oracle VirtualBox等。在這個實驗室中,咱們將使用VMware workstations。VMware Workstation和VMware Workstation Player兩者之間的不一樣之處是,Workstation能夠建立和運行虛擬機,而Player只能用於運行虛擬機。數據庫
其它的不一樣之處有:apache
快照:快照是虛擬機的硬盤文件在某個時間點上的拷貝。它保留了虛擬機的狀態,所以咱們能夠返回或者恢復到以前的狀態。若是VM發生了某些錯誤,咱們就能夠恢復到任意時刻的快照。快照保存的狀態包括:windows
虛擬機內存的內容
虛擬機的設置
虛擬機硬盤的狀態
在VM Workstation中有這些功能。
克隆:克隆是對當前虛擬機的拷貝。當前已存在的虛擬機被稱爲父虛擬機,當克隆操做完成後,克隆機是一個獨立的虛擬機,固然它與父虛擬機會共享虛擬硬盤。
在VM Workstation中有這些功能。
不要把克隆和快照混淆了。快照保存了虛擬機當前的狀態,當你遇到一些錯誤的時候能夠恢復到那個狀態。然而,克隆是虛擬機的一個拷貝,能夠單獨使用。
免費版VS商業版:VMware Workstation Player能夠免費供於我的使用,VMware Workstation Pro是一個收費的供商業使用的軟件。
能夠在這裏下載到這兩個產品。
一旦咱們下載並安裝了VMware Workstation,下一步就是下載並安裝Windows XP, Vista, Server 2003,由於這些系統有許多著名的安全問題。能夠在這裏或這裏下載到映像。
在下載了「.iso」文件後,打開VMware Workstation,選擇「File」,單擊「New virtual machine」,選擇下載好的「.iso」文件。
按照屏幕上的指令在workstation上安裝windwos XP。
點擊「Customize Hardware」按鈕,配置其它的設置選項,好比內存,USB設置等。RAM大小能夠根據須要增長或減小。
如上圖所示,選擇「Power on this virtual machine after creation」選項,單擊「Next」按鈕。
有不少有漏洞的應用程序,咱們能夠用來以學習爲目的練習滲透測試。下面是一些應用程序:
Damn Vulnerable Web Applications (DVWA): 基於PHP, Apache以及MySQL,須要安裝到本地。
OWASP WebGoat: J2EE web 應用程序,須要在本地運行。
Hack This Site:在線學習滲透測試的網站。
Testfire: 在線學習滲透測試的網站。
下面,咱們將學習如何在虛擬機中安裝有漏洞的運行程序。由於咱們已經有了一個正在運行的Windwos XP虛擬機。咱們將看到如何在該系統上運行有漏洞的應用程序。在這個練習中,咱們將配置Damn Vulnerable Web Application (DVWA)。這個應用程序有若干基於web的漏洞,好比跨站腳本 (XSS), SQL注入, CSRF,命令注入等。
下面的步驟會幫你安裝一個web服務器,並運行應用程序。
一、如今並安裝XAMPPhttps://www.apachefriends.org/download.html,對於Windows XP,能夠在這裏https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/1.8.2/xampp-win32-1.8.2-6-VC9-installer.exe/download下載XAMPP。
二、一旦安裝了XAMPP,到控制面板點擊「Start」按鈕,開啓Apache和MySql服務。
三、在這裏http://www.dvwa.co.uk/下載DVWA應用程序,解壓文件到一個新的文件夾中,命名爲「dvwa」。
四、打開「C:\xampp\htdocs」文件夾,把該文件夾裏的內容移動到另一個地方。
五、把「dvwa」文件夾拷貝到「C:\xampp\htdocs」目錄。
六、在瀏覽器的地址欄中輸入下面的內容並訪問:http://127.0.0.1/dvwa/login.php
會顯示一個數據庫設置頁面。
七、到「C:\xampp\htdocs\dvwa\config」文件夾下,用記事本打開「config.inc」文件。
八、移除「db_password」的值,以下圖所示.
九、回到瀏覽器,而後刷新頁面,會顯示一個登陸頁面。
十、輸入默認的登陸憑證,好比「admin/password」,登陸應用程序。
咱們成功配置了一個web服務器並在其上安裝了一個應用程序,如今咱們經過Kali Linux或者BackTrack訪問應用程序,訪問http://ip-address-of-windows-xp-machine/dvwa/login.php,就能夠開始攻擊練習了。
當你經過Kali Linux或者BackTrack訪問DVWA的時候,你可能會遇到「Access forbidden」錯誤,以下:
進入「c:\xampp\htdocs\dvwa」文件夾,打開「HTACCESS File」,定位到「allow from」行,輸入Kali Linux的IP地址,以下圖所示:
再次訪問URL,你能夠看到DVWA的登陸頁面了。
Kali Linux是一個基於Debian的功能強大的滲透測試平臺,全世界滲透測試專家都在使用。Kali包含不少與信息安全相關的工具。能夠在這裏下載Kali Linux的虛擬映像。
下載以後,按照下面的步驟運行Kali:
第一步:啓動VMware Workstation。
第二步:選擇「File」,單擊「Open」。
第三步:找到下載目錄,選擇「Kali_Linux-2016.1-vm-i686.vmx」文件,點擊「Open」按鈕。
第四步:能夠看到虛擬機的詳細配置。
第五步:單擊「Edit virtual machine settings」按鈕,配置其它信息。
一、內存:你能夠給虛擬機分配內存。RAM大小能夠根據須要增長或減小,Kali最合適的RAM是2GB。
二、處理器:你能夠配置VM虛擬機的處理器的數量,每一個處理器能夠選擇CPU內核的個數。
三、硬盤:你能夠給虛擬機分配保存操做系統、程序和數據的硬盤的大小。
四、網絡適配器:咱們能夠給虛擬機增長虛擬以太網卡,改變當前適配器的配置,下面是網絡適配器的可選配置:
橋接模式:在橋接網絡中,guest操做系統共享host操做系統的網絡適配器,鏈接到物理網絡中。這意味着虛擬機在網絡中將會是一個獨立的機器。虛擬機能夠經過這個鏈接在網絡中共享資源。guest操做系統與host操做系統共享同一個DHCP服務器和DNS服務器。
NAT模式:NAT表示網絡地址轉換(Network Address Translator)。在這個網絡中,虛擬機位於host以後,經過一個與host的默認鏈接訪問網絡。在這個網絡中,通訊就好像是來源於host。這意味着虛擬機可以訪問網絡或互聯網,可是它不能在網絡中共享資源。鏈接到這個網絡的IP是由DHCP服務器分配的。
這是最經常使用的配置,也是新建立的虛擬機的默認配置。
Host-only模式:Host-only虛擬網絡是最私密和最嚴格的網絡配置。它不是一個公共網絡,不能訪問外部的網絡或互聯網,沒有默認的網關,接入這個網絡的IP是由DHCP服務器分配的。
配置供個體使用的滲透測試實驗環境,推薦使用「Host-only」模式做爲網絡適配器的設置,咱們能夠經過它訪問VM網絡。
第六步:選擇「OK」按鈕,單擊「Play」按鈕,啓動VM。
第七步:如今,虛擬機啓動了,你能夠看到啓動界面,以下圖所示。在虛擬機的任何位置單擊鼠標,按下回車鍵。
第八步:若是要求輸入登陸用戶名和口令,你可使用「root」和「toor」分別做爲用戶名和口令。
如今,咱們可使用Kali Linux虛擬機了,它將用於黑客攻擊。咱們能夠打開瀏覽器,訪問在步驟二中建立的DVWA應用程序。
在滲透測試中,有一些經常使用且重要的基於Windows的工具:
一、Nmap-Nmap是一個免費的網絡發現和安全審計工具。它能用於主機發現,端口掃描、識別服務,識別OS等。Nmap發送特製的數據包而且分析響應結果。Nmap能夠在這裏下載到。
二、Wireshark-Wireshark是一個免費開源的網絡協議和數據包解析器。它能把網絡接口設置爲混雜模式,監視整個網絡的流量。能夠在這裏下載到Wireshark。
三、PuTTY-PuTTY是一個免費且開源的SSH和telnet客戶端。能夠用於遠程訪問其它的機器,能夠在這裏下載到PuTTY。
四、SQLmap-SQLmap是一個免費且開源的工具,主要用來檢測和執行應用程序中的SQL注入。它也有攻擊數據庫的選項,SQLmap能夠在這裏下載到。
五、Metasploit Framework-Metasploit是一個流行的黑客工具和滲透測試框架。它由Rapid7開發,被每個滲透測試者和道德黑客使用。能夠用於針對有漏洞的目標機執行漏洞利用代碼。能夠在這裏下載到Metasploit。
六、Burp Suite-Burp Suite是一個集成的對web應用程序執行安全測試的平臺。它集成了多個工具。有兩個主要的免費工具Spider和Intruder。Spider是用來抓取應用程序的頁面的。Intruder是用來自動化對頁面攻擊的。Burp專業版有一個額外的工具叫作Burp Scanner,可以掃描應用程序的漏洞,Burp Suite能夠在這裏下載到。
七、OWASP Zed Attack Proxy-OWASP zap是OWASP工程的其中一部分。它是一個對web應用程序進行滲透測試的工具,具備與Burp Suite相似的功能,有一個自動掃描器,能夠發現應用程序的漏洞。其它附加的功能有,針對基於Ajax應用程序的爬蟲器。OWASP zap也能夠用做代理。能夠在這裏下載到OWASP zap。
八、Nessus-Nessus是一個漏洞、配置和規則審計工具。它有免費和付費版。免費版供我的使用。它使用插件進行掃描。簡單得給一個目標機的IP地址,就能夠開始掃描。也有一個下載詳細報告的選項。能夠在這裏下載到Nessus。
九、Nikto-Nikto是一個開源的Web服務器漏洞掃描器。它檢測未更新的軟件和配置,潛在的危險文件和CGI等。他也有建立報告的功能。Nikto能夠在這裏下載到。
十、John the Ripper-它是一個密碼爆破工具,常被用來執行基於字典的爆破攻擊。能夠在這裏下載到John the Ripper。
十一、Hydra-另一個與John the Ripper相似的密碼破解工具。Hydra是一個快速的網絡登陸破解器。它能夠針對超過50個協議快速字典攻擊,包括telnet, ftp, http, https, smb,若干數據庫以及其它更多協議。能夠在這裏下載到Hydra。
十二、Getif-Getif是一個免費的基於Windows的圖形界面工具,用來收集SNMP設備的信息。Getif能夠在這裏下載到。
在互聯網上有一個滲透測試工具倉庫,包含了滲透測試學習、exploit開發、社會工程學、滲透測試工具、掃描器、無線網絡工具、十六進制編輯器、密碼破解器、逆向工程工具等其它與滲透測試相關的重要在線資源。能夠在這裏訪問倉庫。
這個實驗室能夠根據須要定製。咱們能夠在虛擬機上搭建其它類型的操做系統,並嘗試攻擊,咱們能夠經過安裝和開啓防火牆或者入侵檢測系統增長攻擊的難度。
* 翻譯自:resources,轉載請註明來自FreeBuf黑客與極客(FreeBuf.COM)