想查明你的網絡在黑客攻擊面前多么不堪一擊,最好的辦法就是請外部專家對它進行一次滲透測試。當然,你得請具備相應資質的第三方來幫助進行滲透測試。
可是請第三方進行滲透測試有兩大缺點:
·費用高昂
·一旦你對自己的基礎設施進行了變動,或者發現了影響基礎設施的新安全漏洞,第三方滲透測試實際上“過時”了。
想避開這兩個問題,一個辦法就是自己執行滲透測試。
在繼續探討之前,有必要指出:自己執行滲透測試的效果比不上從外面請來專家,因為專家滲透測試需要經驗、技能和創造力。可能只有專業的滲透測試人員(和專家黑客)才具備這些素質。即便你的安全團隊有滲透測試方面的經驗,但是許多專家還是認為,第三方以全新的視角打量你的網絡,更有可能發現潛在問題。熟悉自己的網絡實際上會讓你看不到可能存在的安全漏洞。
不過,能夠自行執行滲透測試仍是個好主意,因為只要你購買新設備、安裝新軟件,或者對網絡進行其他的重大變動,你都可以運行測試,讓你注意之前忽視的明顯的安全漏洞。
內部滲透測試就好比出門之前,房子外面兜一圈,檢查一下有沒有窗戶開著:這是一種明智的防范措施,幾乎不需要什么花費。
滲透測試基礎:7個步驟
最簡單的滲透測試也包括許多步驟:
網絡枚舉和映射。這一步常常需要掃描端口,搞清楚網絡的拓撲結構,并且查明哪些計算機連接到網絡,查明它們提供哪些操作系統和服務。可能用來執行這項任務的最流行的工具非開源Nmap工具莫屬,有時可通過Zenmap Gui來使用它。
偵察。這一步需要聯系網絡上的機器,獲取來自這些機器的信息,比如它們運行的應用程序。偵察還需要上網搜索關于測試的那家企業組織的信息,比如查清楚IT員工和高管的姓名。這種信息對于實行社會工程學和網絡釣魚演練很有用(參閱下文)。這些人的社交媒體帳戶也能透露經常用于密碼中的一些信息,比如寵物名稱。
網絡嗅探。這一步用來檢查網絡上傳輸的流量,并且搜尋未加密數據,包括密碼或VoIP流量。用于嗅探網絡的事實上的標準是Wireshark(http://www.esecurityplanet.com/open-source-security/5-big-improvements-in-wireshark.html),這是另一款開源工具。
安全漏洞掃描。掃描可以發現任何機器有沒有不安全的軟件版本或者是可以鉆空子的其他已知安全漏洞,或者發現任何無線接入點敞開還是存在弱密碼。一種流行的開源安全漏洞掃描工具是OpenVAS(http://www.openvas.org)。還可以針對Web服務器使用其他比較專業的掃描工具,尋找安全漏洞,比如跨站腳本(XSS)錯誤。
專有的安全漏洞掃描工具可以改善開源掃描的效果,讓你注意到哪些高危應用程序可能被人鉆空子。
這包括:
·Nessus專業版
·Rapid7 Nexpose
·Qualys FreeScan
利用漏洞。滲透測試的這個階段試圖利用任何已知的安全漏洞,以獲得系統的控制權。記住這一點很重要:雖然安全漏洞掃描可能會顯示安全漏洞,但不是所有的安全漏洞都會被人成功利用,或者未必會導致重大泄密。像Metasploit(https://www.rapid7.com/products/metasploit/download.jsp)這樣的漏洞利用框架含有現成漏洞數據庫(它可以與安全漏洞進行比對),還有便于你自行制作并利用漏洞的工具。
許多安全系統可識別Metasploit漏洞,并將它們檢測出來;值得一提的是,真正的黑客可能會改動自己的漏洞,所以別傻傻地以為:就因為你的安全系統可以防止Metasploit漏洞得逞,你的基礎設施就高枕無憂了。
進一步攻擊。一旦某個高危系統中招,你可以利用該機器進一步滲透到網絡。比如說,如果可以訪問某臺服務器的密碼文件,密碼破解工具隨后可以獲得寶貴的密碼。利用從偵察階段獲取的信息,這些密碼隨后可以用來闖入更多的系統,訪問更多的數據。
密碼破解工具包括離線的John the Ripper(http://www.openwall.com/john/),可用于處理從你測試的網絡獲取的密碼文件,或者是在線的開源工具Hydra(https://github.com/vanhauser-thc/thc-hydra),這個具有并行運算功能的登錄蠻力攻擊工具會在很短的時間內嘗試多個登錄/密碼組合,企圖登錄到ftp等服務。
網絡釣魚/社會工程學。要是不通過欺騙員工來獲得訪問權,看看有什么可以攻擊的,任何滲透測試都是不完整的。這意味著發送網絡釣魚電子郵件,或者僅僅打電話,引誘對方泄露登錄信息或其他敏感信息。
手動滲透測試和Linux發行版
想手動執行滲透測試,你就需要許多工具,包括上面所述的那些工具。想在一個地方擁有需要的所有工具,最好的辦法就是下載一款開源Linux安全發行版。建議使用的發行版包括如下:
·Kali Linux(https://www.kali.org/downloads/)
·Pentoo(http://www.pentoo.ch/download/)
·Parrot Security OS(http://www.pentoo.ch/download/)
·BackBox(https://backbox.org/download)
·Samurai Web測試框架(https://sourceforge.net/projects/samurai/files/)
這些發行版含有數百個其他開源工具,這些工具可用于網絡偵探和枚舉、安全漏洞掃描、密碼破解、無線安全審查及更多操作。
這些發行版存在的問題是,如果你不熟悉它們含有的工具,就很難知道該從哪里入手。一個解決辦法就是接受全面的培訓,熟悉安全發行版中含有的一些工具。
培訓選項包括:
·Kali Linux滲透測試培訓():這種學生自定進度的在線滲透測試課程專為想在滲透測試方面有所深造的網絡管理員和安全專業人員設計。提供培訓的是Offensive Security,它是Kali Linux的開發者,也是知名滲透測試培訓和認證組織之一。
相關鏈接:https://www.offensive-security.com/information-security-training/penetration-testing-training-kali-linux/
·Metasploit Unleashed:Metasploit Unleashed道德黑客培訓課程免費提供,可能是最全面、最深入的指南,面向大名鼎鼎的Metasploit Project滲透測試工具。
相關鏈接:https://www.offensive-security.com/metasploit-unleashed/
·InfoSec Institute的滲透測試在線培訓。InfoSec Institute的滲透測試在線培訓是一門全面的在線滲透測試課程,包含100多個模塊,在線培訓時長超過100個小時。由于需要學習大量材料,大多數學生需要整整60天才能學完課程。
相關鏈接:http://www.infosecinstitute.com/courses/penetration_testing_online.html
自動化滲透測試
想自行執行滲透測試,比較容易的辦法就是使用自動化滲透測試工具,它會為你執行一些或所有這些步驟,你基本上不需要干預,或者使用向導來引導你。
這種方法的好處在于,它能顯示你網絡上比較直觀的問題。另一個好處是,不大在行的黑客可能也會使用這樣一些工具,所以在黑客之前運行這些工具,你就能緩解搶在黑客之前找到的任何問題。
不過,這些工具的功能有限。經驗老道的黑客或滲透人員可能結合使用多種手法,包括網絡釣魚和社會工程學伎倆,突破你的防線大搞破壞,或者他們可能發現的某個安全漏洞需要非凡的創造力才能加以利用。自動化工具無法同樣做到這點。
大多數自動化滲透軟件是作為商用產品來提供的。這些軟件包括:
·Rapid7 Metasploit(https://www.rapid7.com/products/metasploit/editions.jsp)
·Immunity Canvas(https://www.rapid7.com/products/metasploit/editions.jsp)
·Core Impact Pro(http://www.coresecurity.com/content/core-impact-overview)
滲透測試風險
在你考慮自行執行滲透測試之前,要小心哪里可能會出岔子。無論是手動還是自動,滲透測試都需要對網絡進行測試和探測。這可能會降低網絡速度,讓計算機運行起來慢騰騰,或者導致一個或多個系統崩潰,從而可能干擾正常業務。