滲透測試與其它評估方法不一樣。一般的評估方法是根據已知信息資源或其它被評估對象,去發現全部相關的安全問題。滲透測試是根據已知可利用的安全漏洞,去發現是否存在相應的信息資源。相比較而言,一般評估方法對評估結果更具備全面性,而滲透測試更注重安全漏洞的嚴重性。滲透測試一般有七個階段,以下所示本文選自Android滲透測試入門教程大學霸:數據庫
q 前期交互階段:該階段一般是用來肯定滲透測試的範圍和目標的。安全
q 信息收集階段:在該階段須要採用各類方法來收集目標主機的信息,包括使用社交媒體網絡、Google Hacking技術、目標系統踩點等。服務器
q 威脅建模階段:該階段主要是使用信息收集階段所獲取到的信息,來標識出目標系統上可能存在的安全漏洞與弱點。網絡
q 漏洞分析階段:在該階段將綜合從前面幾個環節中獲取到的信息,從中分析和理解那些攻擊途徑是可行的。特別是須要重點分析端口和漏洞掃描結果,截取到服務的重要信息,以及在信息收集環節中獲得的其它關鍵信息。架構
q 滲透攻擊階段:該階段多是在滲透測試過程當中最吸引人的過程。然而在這種狀況下,每每沒有用戶所預想的那麼一路順風,而每每是曲徑通幽。在攻擊目標主機時,必定要清晰地瞭解在目標系統上存在這個漏洞。不然,根本沒法攻擊成功。測試
q 後滲透攻擊階段:該階段在任何一次滲透過程當中都是一個關鍵環節。該階段將以特定的業務系統做爲目標,識別出關鍵的基礎設施,並尋找客戶組織最具價值和嘗試進行安全保護的信息和資產。spa
q 報告階段:報告是滲透測試過程當中最重要的因素,使用該報告文檔能夠交流滲透測試過程當中作了什麼、如何作的以及最爲重要的安全漏洞與弱點。設計
到如今爲止,你們已經對滲透測試的基本技術流程與環節有了一個初步的瞭解。接下來介紹一下滲透測試的兩種基本類型,分別是黑盒測試和白盒測試。白盒測試有時也被稱爲「白帽子」,是指滲透測試者在擁有客戶組織全部知識的狀況下進行的測試;而黑盒測試是指對攻擊主機一無所知的攻擊者所進行的滲透測試。兩種測試方法都擁有它們本身的優勢和弱點。下面分別介紹詳細介紹這兩種類型。orm
1.白盒測試對象
使用白盒測試,須要和客戶組織一塊兒工做,來識別出潛在的安全風險,客戶組織將會向用戶展現它們的系統與網絡環境。白盒測試最大的好處就是攻擊者將擁有全部的內部信息,並能夠在不須要懼怕被阻斷的狀況下任意地實施攻擊。而白盒測試的最大問題在於沒法有效地測試客戶組織的應急響應程序,也沒法判斷出它們的安全防禦計劃對檢測特定攻擊的效率。若是時間有限,或是特定的滲透測試環節如信息收集並不在範圍以內的話,那麼白盒測試是最好的滲透測試方法。
2.黑盒測試
黑盒測試與白盒測試不一樣的是,通過受權的黑盒測試是設計成爲模擬攻擊者的入侵行爲,並在不瞭解客戶組織大部分信息和知識的狀況下實施的。黑盒測試能夠用來測試內部安全團隊檢測和應對一次攻擊的能力。
黑盒測試是比較費時費力的,同時須要滲透測試者具有更強的技術能力。它依靠攻擊者的能力經過探測獲取目標系統的系統。所以,做爲一次黑盒測試的滲透測試者,一般並不須要找出目標系統的全部安全漏洞,而只須要嘗試找出並利用可用獲取目標系統訪問權代價最小的攻擊路徑,並保證不被檢測到。
不論測試方法是否相同,滲透測試一般具備兩個顯著特色。
q 滲透測試是一個漸進的而且逐步深刻的過程。
q 滲透測試是選擇不影響業務系統正常運行的攻擊方法進行的測試。
當實施滲透測試時,獲取準確的書面受權是很是重要的事情。若是不清楚的話,可能致使用戶面臨法律訴訟的問題,更有可能爲此鋃鐺入獄。因此,這裏簡單介紹一些需注意的法律邊界問題。以下所示本文選自Android滲透測試入門教程大學霸:
q 測試的目的是什麼?
q 測試預計的時間範圍是多少?測試中有什麼限制,如何時能夠進行測試?
q 你的客戶指定漏洞評估和滲透測試的區別嗎?
q 你在這次掃描測試過程當中會和IT安全團隊合做嗎?你須要測試它們的能力嗎?
q 能夠在滲透過程當中使用社會工程學攻擊嗎?可使用拒絕服務攻擊嗎?
q 你可以使用一些物理安全測試方法來測試那些安全服務器、敏感數據存儲、或其餘可以物理接觸的設備嗎?例如,撬鎖、仿冒一些員工得到進入大樓的權限、或是進入那些普通人員一般不能單獨訪問的區域。
q 你是否被容許查看網絡文件,或者在測試以前告知網絡架構來加速測試過程?若是不明白這一點,可能會影響你獲得測試結果的價值。可是在絕大多數業務中,這類企業信息不會像用戶想象的那麼容易獲得。
q 容許用戶檢查的IP範圍是什麼?沒有通過正式容許的掃描和測試是法律所不容許的。用戶必須盡力弄清屬於客戶的網絡範圍和設備,不然可能會陷於法律指控的危險之中。
q 公司的物理位置在哪裏?若是容許使用社會工程學攻擊,那麼這個信息對測試人員很是重要。由於這可以保證用戶身處被測試的建築物當中。若是時間容許,你應該讓客戶指定。儘管他們認爲本身的位置信息是保密或者難以發現的,可是你卻可以輕鬆地從公開渠道獲取上訴的信息。
q 若是測試時遇到一個問題,或測試的最初目標已經達到,你應該作什麼?你是否會繼續檢查,以發現更多入口或結束測試?這個問題很是重要,它關係到客戶爲何要進行一次滲透測試這一首要問題。
q 用戶須要注意不一樣國家對信息系統制定的法律不一樣。在針對滲透測試的法律上,不是全部國家的法律都是相同的。
q 一旦經過漏洞攻擊了系統,進一步拓展是否須要得到其餘許可?這在對分段的網絡進行測試時很是重要。客戶可能不會想到,你可以經過內網一臺主機做爲支點來進一步滲透內網。
q 怎樣處理數據庫?是否容許你添加記錄、用戶等信息?
在滲透測試時,用戶須要作一個列表,列出根據客戶要求須要測試的內容。大部分數據能夠從客戶那裏直接收集,可是還有一些數據須要大家團隊進行處理。若是擔憂法律問題,建議用戶諮詢一下法律顧問以確保對滲透測試的合法性有一個徹底瞭解本文選自Android滲透測試入門教程大學霸。