Metasploit渗透测试框架
Metasploit滲透測試框架
滲透測試是一類有目的性的、針對目標機構計算機系統安全的監測評估方法。滲透測試可以發現系統的漏洞和安全機制方面的隱患,并以此進行滲透攻擊來取得目標計算機的控制權。通過滲透測試可以知道目標機構的計算機系統是否易于受到攻擊,現有的安全部署是否能妥善地抵御攻擊,以及哪部分安全機制可能被繞過,等等。滲透測試的主要目的是改善目標機構的安全性。
正所謂“工欲善其事,必先利其器”,滲透測試能否成功很大程度上取決于測試時是否采用了正確的工具和技術。滲透測試工程師需選擇正確的滲透測試工具和技術,才能保證任務的完成。當提到最優秀的滲透測試工具時,安全業界的絕大多數人都會首先想到Metasploit滲透框架。現在,Metasploit被公認為進行滲透測試時最有效的安全審計工具之一,它提供了最全面的漏洞滲透模塊庫,集成了優秀的模塊開發環境,具有強大的信息收集和Web測試能力及其他許多功能。
通常,一次完整的滲透測試包含如下7個階段。
| 信息收集階段 | 滲透測試工程師采用主動和被動兩個方式來收集目標信息,其被動攻擊收集可以在完全不接觸目標的情況下進行 |
| 威脅建模階段 | 滲透測試工程師要根據之前獲得的信息,找出對目標系統威脅最大的弱點,從而確定最為高效的滲透攻擊方式 |
| 漏洞分析階段 | 滲透測試工程師要找到并確認目標系統上存在的已知的和未知的漏洞,然后在實驗環境進行驗證 |
| 滲透攻擊階段 | 滲透測試工程師要利用在上一階段發現的漏洞來入侵目標系統。這通常意味著滲透測試工程師會嘗試獲得目標系統的控制權 |
| 后滲透攻擊階段 | 滲透測試工程師要開展一些實際的入侵行為。例如,盜取目標計算機的某個機密文件,直接關閉目標系統,或者在目標系統上創建一個新的遠程管理賬戶,等等??傊?#xff0c;滲透測試工程師應該完成滲透攻擊后的所有工作 |
| 報告階段 | 滲透測試工程師需要將滲透測試的結果匯總為一個文件,并提供漏洞修補和安全升級的解決方案 |
組織一次滲透測試
(一)前期交互階段
作為滲透測試的第一個步驟,前期交互階段將確定客戶(可能是一個公司、機構或者網絡)的滲透測試的關鍵細節。這一切都是在與客戶進行商討之后決定的。這個階段是連接客戶與滲透測試工程師的橋梁。在這個階段,滲透測試工程師要與客戶進行充分的交流,以便客戶對即將開展的滲透測試會對他的網絡或者服務器產生的影響有足夠的了解。
因此,滲透測試工程師要以客戶指導者的身份來進行這一階段的工作。這一階段還將確定滲透測試的范圍、目標以及進行分析時的特殊需求,例如特殊的權限、關鍵系統的訪問許可、網絡或系統憑證等。商討的范圍還將包括滲透測試預期對測試目標所產生的積極效果。
滲透測試的范圍:這一部分需要確定滲透測試的范圍并預估整個項目的工作量。同時要確定哪些目標在滲透測試范圍內,哪些是不允許進行滲透測試的。測試者要確認滲透區域內涉及的IP地址范圍和域名范圍,以及采用的測試類型(黑盒測試或白盒測試)。比如,當進行白盒測試時,會給予測試者哪些權限,是否可以對目標管理人員開展問卷調查,在什么時間可以開展滲透測試,是否能對目標環境進行網絡流量壓力測試,以及商定滲透測試的費用以及支付條款。關于滲透范圍的常規文檔楊改包含了如下問題的答案。
| 應該對哪些主機、網絡地址范圍或者應用程序進行測試 |
| 目標組織最大的安全問題是什么 |
| 應該將哪些主機、網絡地址范圍或者應用程序排除在測試范圍之外 |
| 在測試范圍內是否存在第三方系統或者網絡?它們擁有了哪些系統 |
| 滲透測試是在現場實地環境進行還是在虛擬測試環境進行 |
| 滲透測試是否包括的測試技術:采用Ping對網絡范圍進行掃描、對目標主機進行端口掃描、對目標進行漏洞掃描、對目標主機進行滲透測試、應用程序級的操作、客戶端java/ActiveX逆向工程、物理滲透測試、社會工程學? |
| 滲透測試是否包括內部網絡測試?若包括,如何獲取權限 ? |
| 客戶端是否包括在測試范圍內?若包括,將會涉及多少客戶? |
| 是否允許采用社會工程學手段?若允許,如何采用? |
| 應該對哪些主機、網絡地址范圍或者應用程序進行測試 |
| 是否允許拒絕服務攻擊? |
| 是否允許采用具有破壞性的檢查手段和滲透模塊? |
滲透測試的目標:這一部分要商定本次滲透測試預期達到的主要和次要效果。有關滲透目標的常見問題列舉如下。
| 這次測試是出于監督審核的目的還是僅僅為了遵循標準程序 |
| 目標是什么? |
若想獲取關于前期交互的更多信息,請訪問網址:http://www.pentest-standard.org/index.php/Reporting
(二)信息收集階段/偵查階段
在信息收集階段,你需要盡可能采用各類方式來收集目標網絡的所有信息。這個目標網絡可能是互聯網的一個網站,或者是一個社會性的組織,甚至可能是一個財力雄厚的老牌商業公司。在這個階段,最重要的是要通過各個社交媒體網絡來收集相關信息,以及用Google Hacking技術(用特殊的查詢方式通過Google搜索引擎收集敏感信息的工具)來尋找目標的相關信息。另外,對目標主機采用主動掃描和被動掃描技術進行踩點(footprinting)也是一類可行的辦法。
信息收集時整個滲透測試過程最為重要的階段之一。與嘗試所有可行的滲透測試方法相比,對目標有適當的了解可以讓測試者選擇合適和準確的滲透測試攻擊方式。這樣做將會大大縮短整個滲透測試耗費的時間。通常這個階段會占到滲透測試所需時間的40%~60%,至于能否成功滲透進入目標網絡很大程度上取決于測試者在這個階段的工作成果。
滲透測試工程師需通過對目標網絡進行足夠的掃描來獲取足夠的信息。掃描目標計算機刪運行的服務、開放的端口,以及驗證這些端口上運行著的全部服務,然后判斷這些服務里哪些是可以被攻擊的,并且決定如何利用它們作為入侵目標的通道。
在這個階段還要明確網絡當前部署的安全控制措施以及如何才能破壞這些措施。
作為一個過程,它可以分解成以下步驟:
| 隱私收集 | 包括現場信息采集,檢查使用的設備信息,甚至從丟棄的廢品里收集信息。這個階段是白盒測試的一部分 |
| 踩點工作 | 包括針對目標上部署的技術和軟件的主動和被動掃描,例如 網絡端口掃描、banner獲取等 |
| 驗證目標的安全機制 | 包括防火墻、網絡流量過濾系統、網絡和主機的保護措施的確認工作等 |
若想獲取關于信息收集的更多信息,請訪問網址:http://www.pentest-standard.org/index.php/Intelligence_Gathering
(三)威脅建模階段
為了保證滲透測試能夠正確進行,需進行威脅建模。在這個階段,主要的工作是模擬出對目標準確的威脅以及這些威脅的作用,并根據這些威脅可能對目標產生的影響對其進行分類。根據之前在信息收集階段做出的分析,在這個階段我們可以確定最佳的攻擊方式。威脅建模方法適用于商業資產分析、工程分析、威脅分析以及威脅能力分析。這一階段將解決如下問題:
| 需要獲得的重要信息是什么 |
| 在攻擊時采取什么方法最為合適 |
| 對目標來說最大的安全威脅是什么 |
威脅建模將有助于滲透測試工程師完成以下工作:
| 根據基本的分類方法對組織的資源進行標識 |
| 對威脅進行識別和分類 |
| 將組織的資源映射成模型 |
威脅建模將有助于明確哪些資源最容易受到威脅,以及這些威脅各自是什么。
假定現在有一個針對公司網站的黑盒測試。目標公司的客戶信息是公司的重要資產。然而,在同一后臺程序的另一個數據庫里保存了客戶的交易記錄。在此情況下,攻擊者就可以以SQL注入漏洞獲取客戶的交易記錄,而交易記錄屬于其他資產。因此在這個階段,應建立一個針對重要資產和其他資產的SQL注入漏洞威脅模型。
漏洞掃描工具(例如Nexpose和Metasploit Pro版)可能幫助我們以自動化的方式快速清晰地完成威脅建模。在開展大規模地測試時,這個優勢更為明顯。
若想獲取關于威脅建模的更多信息,請訪問網址:http://www.pentest-standard.org/index.php/Threat_Modeling
(四)漏洞分析階段
漏洞分析是在一個系統或者應用程序里發現漏洞的程序。這些漏洞多種多樣,涵蓋了很多方面,從服務器的配置到Web程序服務,從應用程序到數據庫服務,從基于VOIP的服務器到基于SCADA的服務都可能存在漏洞。這個階段包含了三個不同的機制,那就是測試、驗證和研究。測試包括主動測試和被動測試。驗證包括去除誤報和通過手動驗證確認漏洞的存在。研究指的是發現并觸發漏洞以確認它的存在。
有關威脅建模的各個過程的更多信息,請訪問:http://www.pentest-standard.org/index.php/vulnerability_analysis
(五)滲透攻擊階段
滲透攻擊階段可以利用之前漏洞分析階段的成果。這個階段一般被認為是真正的攻擊階段。在這個階段。滲透測試者可以針對目標系統的漏洞使用對應的入侵模塊獲得控制權限。
有關滲透攻擊階段各個過程的詳細信息。請訪問:http://www.pentest-standard.org/index.php/Exploitation
(六)后滲透攻擊階段
后滲透攻擊階段發生在滲透攻擊階段之后,這個階段包含了當成功滲透攻擊到對方計算機以后的很多任務,比如提升權限、上傳和下載文件、跳板攻擊,等等。
有關后滲透階段的更多信息,請訪問:http://www.pentest-standard.org/index.php/Post_Exploitation
(七)報告階段
在進行滲透測試時,創建整個滲透測試的正式報告是在最后一個階段進行的。滲透測試報告的重要組成部分包括:確定目標最為重要的威脅,將滲透得到的數據生成圖表,對目標系統的改進建議,以及這些問題的修復方案。
有關報告階段各個過程的詳細信息。請訪問:http://www.pentest-standard.org/index.php/reporting
總結
以上是生活随笔為你收集整理的Metasploit渗透测试框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2018北京大学计算机考研分数线,201
- 下一篇: 北理在线作业答案c语言,北理工19春《面