天天看點

《Metasploit滲透測試手冊》目錄—導讀

《Metasploit滲透測試手冊》目錄—導讀

版權聲明

metasploit滲透測試手冊

copyright © packt publishing 2012. first published in the english language under the title advanced penetration testing for highly-secured environments: the ultimate security guide.

all rights reserved.

本書由英國packt publishing公司授權人民郵電出版社出版。未經出版者書面許可,對本書的任何部分不得以任何方式或任何手段複制和傳播。

版權所有,侵權必究。

内容提要

本書是一本介紹滲透測試的安全類技術書籍,全書以metasploit這一最流行的滲透測試架構為示範和實驗工具,内容由淺入深,易于了解,同時具有極強的可操作性與實用性。

本書總共分為10章,前兩章對metasploit及資訊收集與掃描進行簡單介紹;第3章介紹使用metasploit對作業系統漏洞進行攻擊滲透;第4章介紹使用metasploit進行用戶端漏洞攻擊和防病毒軟體規避;第5章、第6章介紹非常重要的meterpreter,并示範了利用該工具探索已攻陷目标機器的情況;第7章、第8章分别介紹架構中子產品和漏洞利用代碼的使用問題;第9章介紹armitage;第10章介紹社會工程工具包的使用問題。

本書作為metasploit滲透測試技術手冊,适合于滲透測試人員、網絡安全管理人員、資訊安全專業的學生及對資訊安全感興趣的讀者閱讀。

關于作者

我要感謝我的父母,謝謝他們一直以來對我的支援和信任。我還要感謝我的姐姐,作為我的醫生,她對我悉心照料。謝謝sachin raste先生,他為審校本書付出了寶貴的精力。謝謝kanishka khaitan,他是我最完美的榜樣。我還要感謝我的部落格讀者們,他們向我提供了寶貴的建議和意見。最後,我要感謝packt publishing出版社,與他們的默契合作,讓我終生難忘。

關于審稿人

kubilay onur gungor目前以web應用安全專家的身份供職于sony歐洲公司,他還是sony歐洲和亞洲地區的事件經理。

他在it安全類領域已經工作了5年多的時間。獨立在安全領域研究了一段時間以後,他憑借圖像的密碼分析(即使用混亂的邏輯圖來加密)開始了其安全職業生涯。通過在isik大學資料進行中心的工作,他在網絡安全領域積累了大量經驗。在netsparker擔任qa測試人員工作期間,他開始進入滲透測試領域,并為土耳其的一家領先的安全公司工作。他曾經為很多大型客戶(例如銀行、政府機構、電信公司)的it基礎設施進行多次滲透測試。他還為多家軟體廠商提供了安全咨詢服務,以幫助他們維護軟體安全。

kubilay還一直在研究多學科的網絡安全方法,其中包括犯罪學、沖突管理、感覺管理、恐怖主義、國際關系和社會學。他還是arquanum多學科網絡安全研究學會(arquanum multidisciplinary cyber security studies society)的創始人。

kubilay經常以發言人的身份參與安全會議。

kanishka khaitan是印度普納大學計算機應用專業的一名碩士研究所學生,她在瓦拉納西印度大學獲得了數學專業的榮譽學位。在過去的兩年裡,她一直在amazon的web領域工作。而在此之前,她參與了infibeam(一家位于印度的線上零售公司)為期6個月的實習生項目。

sachin raste是一位著名的安全專家,在網絡管理和資訊安全領域有17年以上的工作經曆。他與其團隊為印度的一些大型商業機構設計過網絡和應用,并将它們與it流程以流水化的形式內建起來,進而實作業務的連貫性。

他目前以自身安全研究人員的身份與microworld(資訊安全解決方案電子掃描範圍[escan range]的開發團隊)一起工作。他設計并開發了一些開創性的算法用來檢測和預防惡意軟體和數字欺詐,進而保護網絡免于黑客和惡意軟體的攻擊。sachin raste在其專業領域内還發表了多篇白皮書,并出席了許多以“宣傳防止數字欺詐,增強防範”為主題的電視節目。

與microworld一起工作的經曆也提升了sachin的技術技能,進而使其可以跟上資訊安全業界的目前趨勢。

首先,我要特别感謝我的妻子和兒子,以及為我提供幫助的密友們。正是因為你們的存在,世間一切之事才有了可能。謝謝來自microworld及其他機關的同僚們,謝謝你們能夠耐心地聆聽,并幫助我成功完成了許多複雜的項目;與你們的合作令人愉快而難忘。感謝我的老闆——microworld的md——他給了我足夠的自由和時間來探索自己的未知。

感謝你們!

獻詞

謹将本書獻給我的祖父母,感謝他們的祝福。将本書獻給我的父母和姐姐,感謝他們的支援和鼓勵。還要将本書獻給我的密友neetika,他是我永不止步的動力。

前言

對目前環境下的網絡安全而言,滲透測試是核心工作之一。滲透測試通過進行實質意義上的入侵式安全測試,對目标的安全性進行完全分析,這有助于識别目标系統主要元件中硬體或軟體方面的潛在弱點(即安全漏洞)。滲透測試之是以重要,是因為其有助于從黑客的視角來識别目标系統的威脅與弱點,并且在發現目标中存在的安全漏洞之後,可以實時地對其進行滲透利用以評估漏洞的影響,然後采用适當的補救措施或打更新檔,以便保護系統免遭外部攻擊,進而降低風險因素。

決定滲透測試可行性的最大因素是對目标系統相關資訊的了解情況。在不具備目标系統先驗知識的情況下,就隻能實施黑盒測試。在黑盒測試工作中,滲透測試人員隻能“白手起家”,一點一滴地收集目标系統的相關資訊。而在白盒測試中,測試人員已全面掌握目标系統的相關資訊,此時需要做的工作是識别目标系統中存在的已知(或未知)弱點。這兩種滲透測試方法都有相當的難度,并且每種環境都會有特定的需求。業界專家提煉了一些關鍵步驟,這些步驟對幾乎所有形式的滲透測試都是至關重要的,包括以下幾點。

目标發現與枚舉:識别目标,收集目标相關的基本資訊,但不與目标建立任何形式的實體連接配接。

漏洞識别:通過掃描、遠端登入、網絡服務等多種方法,統計出目标系統中運作的軟體和提供的服務。

漏洞利用:對目标系統軟體或服務中存在的已知或未知漏洞進行利用。

漏洞利用後的控制程度:成功地進行漏洞利用後,攻擊者在目标系統中具備的通路控制權限級别。

報告:針對發現的漏洞及其可能的應對措施提出建議。

這些步驟看起來很簡單,但事實上,要對運作着大量服務的高端系統進行全面的滲透測試,需要花費數天甚至數月的時間才能完成。滲透測試之是以是一項耗時的任務,原因在于滲透測試以“試錯法”技術作為基礎。對漏洞的滲透與利用依賴于大量的系統配置要素,如果不去實踐嘗試,就不可能确定某一個特定的漏洞是否能夠成功利用。試想一下,以對運作着10項服務的windows作業系統進行漏洞利用為例,滲透測試人員必須對這10種不同服務中是否存在已知漏洞進行全面的分析與識别。而且在識别之後,才能開始漏洞利用的過程。這還隻是僅需要考慮一個系統的小型場景,如果面對的是包含大量類似系統的整個網絡,我們又該怎樣逐一地對其進行測試呢?

這就是滲透測試架構發揮作用的地方。滲透測試架構可以将多個測試過程進行自動化實作,例如網絡掃描、基于可用服務及其版本資訊的漏洞識别、自動式漏洞利用等。滲透測試架構為測試人員提供了一個全面的控制台,測試人員可以借助控制台對所有測試活動進行有效的管理,同時還可以對目标系統進行有效監控,進而加快滲透測試程序。滲透測試架構的另一個優勢是報告生成。利用滲透測試架構,可以自動儲存滲透測試結果,并生成測試報告以備後續使用,或者與遠端工作的其他人員共享。

本書旨在幫助讀者掌握目前應用最為廣泛的測試架構之一—metasploit。metasploit架構是一個開源平台,有助于建立實用型漏洞利用工具,并提供了滲透測試需要的其他核心功能。本書将帶領讀者暢遊metasploit世界,并介紹怎樣使用metasploit進行有效的滲透測試。此外,本書還将涉及metasploit架構之外的其他一些擴充工具,并讨論怎樣提高其功能以便提供更好的滲透測試體驗。

本書内容

第1章,給安全專業人員的metasploit快速提示,将帶領讀者初探metasploit與滲透測試,對metasploit架構及其體系結構、庫等内容進行初步認識。要使用metasploit架構進行滲透測試,需要先對其進行安裝,本章将介紹怎樣使用虛拟機建構自己的滲透測試環境。然後讨論怎樣在不同的作業系統上進行安裝,最後對metasploit的使用進行初步嘗試,并對其使用界面進行介紹。

第2章,資訊收集與掃描,這是滲透測試的第一步,本章從最傳統的資訊收集方式開始,然後介紹怎樣使用nmap進行進階掃描。本章在内容上還涵蓋了一些其他工具,例如nessus與nexope。與nmap相比,nexope提供了一些額外的資訊,進而彌補了nmap的不足。最後,讨論dradis架構,滲透測試人員廣泛使用這一架構與遠端的其他測試人員共享測試結果和報告。

第3章,作業系統漏洞評估與利用,主要讨論目标系統中運作的、尚未打更新檔的作業系統中漏洞的發現與利用。利用作業系統漏洞成功率高,并且操作簡便。還讨論對幾種流行的作業系統的滲透測試,例如windows xp、windows 7及ubuntu等,包括這些作業系統中常見的、已知的一些漏洞,以及怎樣在metasploit中利用這些漏洞來突破目标機器。

第4章,用戶端漏洞利用與防毒軟體規避,讨論怎樣使用metasploit進行用戶端漏洞利用的主題。本章在内容上涉及一些流行的用戶端軟體,例如microsoft office、adobe reader及ie浏覽器。本章還進一步讨論如何規避或關閉用戶端防病毒軟體,以防止目标系統産生告警資訊。

第5章,使用meterpreter探索已攻陷目标,讨論漏洞利用成功後的下一個步驟。meterpreter是一款在漏洞利用成功之後使用的工具,包含一些功能,有助于在攻陷的目标機器中擷取更多資訊。本章還包括一些有用的滲透測試技術,例如權限提升、檔案系統通路、鍵盤截獲竊聽等。

第6章,進階meterpreter腳本設計,通過介紹建構自己的meterpreter腳本、使用api 組合工作等進階主題,本章使讀者對metasploit知識的認識進入一個新高度。通過本章的學習,讀者可以更靈活地運用metasploit,因為可以根據滲透測試的實際場景,自己設計實用腳本,并将其融入到metasploit架構中使用。本章還包括一些進階的“後滲透”概念,例如劫持、哈希注入及持續連接配接等内容。

第7章,使用子產品進行滲透測試,本章将讀者的注意力轉移到metasploit中另一個重要方面:子產品。metasploit架構中收集整合了大量子產品,不同的子產品适用于不同的特定場景。本章包括metasploit中一些重要的輔助性子產品,也包括怎樣建構自己的metasploit子產品。需要注意的是,準确了解本章内容需要一些關于ruby腳本的基本知識。

第8章,使用漏洞利用代碼,通過讨論怎樣将任意的攻擊代碼轉換為metasploit子產品,本章将終極武器加入到metasploit庫中。本章涉及一些進階主題,将向讀者講解怎樣建構自己的metasploit攻擊代碼,并在架構中進行使用。由于本章不可能涉及metasploit架構中的所有漏洞利用代碼,建議讀者可以将本章作為手冊,以便為metasploit庫之外的漏洞利用代碼進行測試時提供參考。本章還涉及模糊測試子產品,該子產品可用于對任何漏洞建構自己的概念性驗證代碼。最後,本章以一個完整的執行個體作為結尾,包括怎樣對一個應用程式進行模糊測試、怎樣發現緩沖區溢出漏洞,以及怎樣建構針對該漏洞的metasploit子產品。

第9章,使用armitage,簡單讨論armitage,它是最流行的metasploit子產品之一。armitage為metasploit架構提供了一個圖形化界面,并提供一些點選式的漏洞利用選項增強metasploit架構功能。本章重點關注armitage的一些重要方面,例如快速發現漏洞、多目标處理、标簽間移位,以及成功滲透後的處理等内容。

第10章,社會工程學工具包,這是本書的最後一章,介紹metasploit架構中的另一個重要擴充—社會工程學工具包(social engineer toolkit,set),用于生成利用目标使用者的疏忽大意對目标進行滲透的測試用例。本章内容涉及set相關的一些基本攻擊手段,包括釣魚攻擊、網站攻擊、usb感染攻擊等。

閱讀本書的先決條件

為在閱讀過程中重制和實踐本書介紹的一些場景,讀者需要準備兩套系統,一套作為滲透測試實施系統,一套作為目标系統。另一種方法是,隻需準備一套系統,之後使用虛拟化軟體在其上建立測試環境。

此外,讀者還需要準備一個backtrack 5的iso鏡像檔案,其中已包含預先安裝的metasploit和本書中讨論的其他工具。另一種方法是,從官方網站下載下傳适合于讀者的作業系統平台的metasploit。

本書讀者對象

本書的目标讀者既包括專業的滲透測試人員,也包括希望體驗這一工具的metasploit新手,書中包含了适合每個人的全部内容。本書采用了易于閱讀、了解和場景再現的“食譜”結構,從初學者層次的滲透測試基礎知識講起,自然地過渡到專家級的進階知識和技能。是以,各個層次的讀者都可以很容易地閱讀和了解本書的内容。此外,本書需要讀者具備掃描、漏洞利用和ruby腳本的基本知識。

本書體例

《Metasploit滲透測試手冊》目錄—導讀

提示框中的警告或重要提示以如此形式出現。

《Metasploit滲透測試手冊》目錄—導讀

技巧與竅門則以這樣的形式出現。

本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。

目錄

<a href="https://yq.aliyun.com/articles/102599">第1章 給安全專業人員的metasploit快速提示</a>

<a href="https://yq.aliyun.com/articles/102599">1.1 介紹</a>

<a href="https://yq.aliyun.com/articles/102606">1.2 在windows作業系統中配置metasploit</a>

<a href="https://yq.aliyun.com/articles/102612">1.3 在ubuntu作業系統中配置metasploit</a>

<a href="https://yq.aliyun.com/articles/102618">1.4 backtrack 5與metasploit——終極組合</a>

<a href="https://yq.aliyun.com/articles/102625">1.5 在單機上建立滲透測試環境</a>

<a href="https://yq.aliyun.com/articles/102632">1.6 在帶有ssh連接配接的虛拟機上建構metasploit環境</a>

<a href="https://yq.aliyun.com/articles/102648">1.8 在metasploit架構中建立資料庫</a>

<a href="https://yq.aliyun.com/articles/102651">1.9 使用資料庫存儲滲透測試結果</a>

<a href="https://yq.aliyun.com/articles/102657">1.10 分析資料庫中存儲的滲透測試結果</a>

第2章 資訊收集與掃描

<a href="https://yq.aliyun.com/articles/102665">第3章 作業系統漏洞評估與利用</a>

<a href="https://yq.aliyun.com/articles/102665">3.1 介紹</a>

<a href="https://yq.aliyun.com/articles/102668">3.2 exploit用法快速提示</a>

<a href="https://yq.aliyun.com/articles/102672">3.3 在windows xp sp2上進行滲透測試8.7 使用metasploit進行模糊測試</a>

<a href="https://yq.aliyun.com/articles/102677">3.4 綁定遠端通路目标機器的shell</a>

<a href="https://yq.aliyun.com/articles/102681">3.5 在windows 2003 server上進行滲透測試</a>

<a href="https://yq.aliyun.com/articles/102684">3.6 windows 7 server 2008 r2 smb用戶端無限循環漏洞</a>

<a href="https://yq.aliyun.com/articles/102687">3.7 對linux(ubuntu)機器進行攻擊滲透</a>

<a href="https://yq.aliyun.com/articles/102699">3.8 了解windows dll注入漏洞</a>

第4章 用戶端漏洞利用與防病毒軟體規避

第5章 使用meterpreter探索已攻陷目标

第6章 進階meterpreter腳本設計

第7章 使用子產品進行滲透測試

<a href="https://yq.aliyun.com/articles/102705">第8章 使用漏洞利用代碼</a>

<a href="https://yq.aliyun.com/articles/102705">8.1 介紹</a>

<a href="https://yq.aliyun.com/articles/102728">8.2 探索子產品結構</a>

<a href="https://yq.aliyun.com/articles/102731">8.3 常用的漏洞利用代碼mixins</a>

<a href="https://yq.aliyun.com/articles/102736">8.4 使用msfvenom</a>

<a href="https://yq.aliyun.com/articles/102742">8.5 将漏洞利用代碼轉換為metasploit子產品</a>

<a href="https://yq.aliyun.com/articles/102747">8.6 移植并測試新的漏洞利用代碼子產品</a>

<a href="https://yq.aliyun.com/articles/102752">8.7 使用metasploit進行模糊測試</a>

<a href="https://yq.aliyun.com/articles/102760">8.8 編寫filezilla ftp模糊測試器</a>

第9章 使用armitage

第10章 社會工程學工具包