Kali Linux高級滲透測試 ( 簡體 字) |
作者:[加]羅伯特W. 貝格斯(Robert W. Beggs)著 | 類別:1. -> 安全 -> 網路安全 -> 駭客攻擊與入侵 |
譯者: |
出版社:機械工業出版社 | 3dWoo書號: 44085 詢問書籍請說出此書號!【缺書】 NT售價: 295 元 |
出版日:5/1/2016 |
頁數:223 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787111536390 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:本書致力于介紹如何使用Kali Linux對網絡執行滲透測試。滲透測試可以模擬內部或外部的惡意攻擊者對網絡或系統進行攻擊。不同于漏洞評估,滲透測試包括漏洞利用階段。因此,漏洞是存在的,而且如果不采取相應的措施將會有很大風險。
在這本書中,“滲透測試人員”“攻擊者”和“黑客”使用完全相同的技術及工具評估網絡和數據系統的安全性。他們之間唯一的區別是他們的目標——數據網絡的安全或數據的外泄。
大多數的測試人員和攻擊者遵循一個非正式的、開源的或專門定義的測試方法,指導測試過程。下面的一些方法有其固有的優勢:
測試過程的部分方法可以自動生成(例如,測試人員可以經常使用ping掃描發現潛在的目標;因此,這可以作為腳本利用),鼓勵測試人員把重點放在發現和利用漏洞的技術創新上。
結果是可重復的,允許反復比較,交叉驗證測試的結果,確定隨著時間的推移,目標的安全性是否有所改善。
定義的方法在時間和人員的要求方面是可見的,鼓勵成本控制并使成本最小化。
測試方法已經預先獲得客戶批準,在對網絡或數據造成任何損害時測試人員免責。
正式的方法包括以下著名的例子:
Kevin Orrey的滲透測試框架: 這種方法為測試人員提供一個滲透測試的序列步驟,以及工具的超鏈接和相關命令。更多信息請參見www.vulnerabilityassessment.co.uk。
信息系統安全評估框架(Information Systems Security Assessment Framework,ISSAF): 這個綜合性指南的目標是單一的網絡測試,更多信息請參見www.oissg.org。
NIST SP 800-115,信息安全測試和評估技術手冊:完成于2008年,這種四步走的方法已經有些過時。然而,它確實為滲透測試提供了一個很好的基本步驟總結。更多信息請參見http://csrc.nist.gov/publications/nistpubs/800-115/SP800-115.pdf。
開源安全測試方法手冊(Open Source Security Testing Methodology Manual,OSSTMM): 這個最老的方法之一,并且最新版本試圖量化確定的風險。更多詳細內容參見www.osstmm.org。
開放Web應用安全工程(Open Web Application Security Project,OWASP):該工程主要關注了基于Web應用的10個最常見的漏洞。更多信息請關注www.owasp.org。
滲透測試執行標準(Penetration Testing Execution Standard,PTES):積極維護,這種方法能完整并且精確地反映惡意者的行為。更多信息請關注www.pentest-standard.org。
攻擊(Web)測試框架(Offensive(Web)Testing Framework,OWTF):在2012年提出,結合了OWASP方法和更完整、嚴格的PTES方法,這是一個非常有前途的研究方向。更多詳細信息請關注https://github.com/7a/owtf。
但是,使用一個結構化的滲透測試方法可能會導致測試過程陷入泥潭:
模型中很少考慮為什么要進行滲透測試,或哪些數據是業務的關鍵數據,并且需要保護。缺少這至關重要的一步,滲透測試無法抓住重點。
很多滲透測試人員不愿遵循現成的模型方法,他們擔心模型會阻礙他們進行網絡滲透的創造力。
滲透測試不能反映惡意攻擊者的實際活動。通常,客戶希望看到你能不能在一個特定的系統中獲得管理上的訪問權(“你可以打開這個盒子嗎?”)。然而,攻擊者可能會重點關注復制關鍵數據的方式——不需要底層接入,或引起拒絕服務。
為了解決形式化測試方法所固有的局限性,它們必須被整合在一個框架中,從一個攻擊者的角度看這個網絡框架,這就是“殺鏈”(kill chain)。
滲透測試的“殺鏈”方案
在2009年,Lockheed Martin CERT的Mike Cloppert介紹了這個概念,現在被稱為“攻擊者殺鏈”(attacker kill chain)。當攻擊者攻擊網絡時,“殺鏈”包含攻擊者采取的步驟。“殺鏈”不總是以一個線性流呈現,因為一些步驟可能會并行出現。多發攻擊可以對同一個目標瞬時進行多種攻擊,并且在同一時間攻擊步驟可能發生重疊。
在本書中,我們已經修改了Cloppert的殺鏈,使之能更準確地反映攻擊者如何在測試網絡和數據服務時應用這些步驟。下圖顯示了一個攻擊者的典型殺鏈:
圖 典型的殺鏈
一個攻擊者的典型殺鏈可以描述為:
偵察階段。有一句格言:“偵察永遠不浪費時間”。大多數軍事組織承認,在進攻敵人之前,最好盡可能地去了解敵人的一切信息。同樣,攻擊者在攻擊之前也會對目標展開廣泛的偵察。事實上,據估計,針對滲透測試或攻擊,至少有70%的“工作量”是進行偵察!一般來說,可采用兩種類型的偵察:
被動偵察。這種方式并不直接與目標以敵對方式進行交互。例如,攻擊者將會審查公共的可用網站,評估在線媒體(尤其是社交媒體網站),并試圖確定目標的“攻擊表面”。
一個詳細的任務將會產生一份過去和現在的雇員名稱的列表。這些名稱將成為嘗試蠻力攻擊或密碼猜測的基礎。同樣它們也被用到社會工程的攻擊中。
這種類型的偵察很難從普通用戶的行為中區分出來。
主動偵察。這種方式可以被目標檢測到,但是很難從常規的背景中區分出大多數在線組織的表現。
主動偵察期間的活動包括物理訪問目標前端、端口掃描和遠程漏洞掃描。
交付階段。交付是選擇和開發武器,武器用于完成攻擊中的任務。精確的武器選擇取決于攻擊者的意圖以及實施路線(例如,借助網絡、通過無線,或通過基于Web的服務)。交付階段的影響將在本書第二部分進行研究。
利用或攻擊階段。一個特定的漏洞被成功利用的時刻,此時攻擊者實現他們的目標。攻擊可能已經在一個特定的情景下發生(例如:通過緩沖區溢出利用一個已知操作系統的安全隱患),或者攻擊可能在多個情景下發生(例如:一個攻擊者物理訪問公司住所,偷取他們的電話簿,用公司員工的名字來創建門戶登錄蠻力攻擊列表。此外,電子郵件被發送到所有員工以引誘他們單擊一個嵌入式鏈接,下載制作的PDF文件,這些文件會危及員工的計算機)。當惡意攻擊者針對特定的企業時,多情景攻擊是常態。
后期利用階段:對目標的行動。這經常被稱為“滲漏階段”(exfiltration phase),這是錯誤的,因為通常理解的攻擊,僅僅以竊取敏感信息作為唯一的目的(如登錄信息、個人信息和財務信息);但是,通常情況下,攻擊者有不同的攻擊目標。例如,這一階段必須專注于攻擊者的許多可能的行動。
最常見的利用活動是攻擊者試圖提升他們的訪問權限到最高級(縱向升級),并且破解盡可能多的賬號(橫向升級)。
后期利用:持久性。如果攻擊一個網絡或者系統是有價值的,那么這個價值很可能在持續攻擊下增長。這就需要攻擊者持續與被攻破的系統之間保持通信。從防護者的角度來看,這是攻擊殺鏈中最容易檢測到的一部分。
當攻擊者試圖攻擊網絡或特定的數據系統時,攻擊殺鏈是攻擊者行為的一種基本模型。作為一種元模型,它可以吸收任何私人的或商業的滲透測試方法。但是,也不同于這些方法,它使攻擊者在一個戰略高度上關注如何接近網絡。這種專注于攻擊者的活動將引導本書的布局和內容。
本書涵蓋的內容
本書分為兩個部分。第一部分會根據殺鏈的步驟,詳細分析每個階段。第二部分會專注于交付階段和一些有用的方法,來明確攻擊是怎么發生的,以及如何用這種方法來保護網絡。
第1章介紹了Kali Linux的基礎知識和它支持滲透測試的最優配置。
第2章提供了一個關于怎么樣利用公共可用資源搜集目標信息的背景,以及簡化偵察和信息管理的工具。
第3章介紹用來獲得目標信息的隱形方法,尤其是識別漏洞的信息,這種信息可以充分利用。
第4章證明了可以用來找到并執行滲透的方法,允許黑客攻擊一個系統。
第5章描述攻擊者怎樣逐步提高自己的權限,實現他們攻擊系統的目標,包括盜竊數據、改變數據、發動更多的攻擊,或創建一個拒絕服務。
第6章介紹了怎樣設置一個受損系統,以便攻擊者可以任意返回和繼續利用漏洞進行攻擊。
第7章介紹了為什么可以在物理上訪問一個系統,或者與系統管理者交互,該章提供了一個最佳的利用方法。
第8章闡明了怎樣利用普通無線鏈接來訪問數據網絡與隔離系統。
第9章提供一個關于獲得安全的、最復雜的交付階段的簡要綜述:暴露在公共因特網上的基于Web的應用。
第10章提供一個進入系統的重要方法,因為越來越多的機構采用分布式和在家辦公的模式,這種模式依賴于遠程訪問通信,而這種通信很容易受到攻擊。
第11章主要討論針對終端用戶系統上應用的攻擊,因為這些應用不會頻繁地為終端用戶的系統提供與企業的私人網絡相同程度的保護。
附錄概述安裝Kali Linux的主要步驟,以及怎樣采用全盤加密來避免機密測試數據的攔截。
學習本書需要準備什么
為了練習本書中出現的示例,需要虛擬化工具,例如VMware或者VirtualBox。
需要下載和安裝Kali Linux操作系統及工具套件。通過訪問互聯網來確保你的系統是最新的,并且安裝了所有的工具。
不幸的是,不是Kali Linux系統上的所有工具都會呈現,因為工具太多了。本書的目標不是將所有的攻擊和選項展現給讀者,而是提供一個測試方法,這個方法可以為讀者提供學習和掌握新工具的機會,經過一段時間后,將它們變為自己的經驗和知識。
雖然本書中大多數示例是基于Microsoft Windows的,但是方法和大多數工具是可以轉換到其他操作系統的,例如Linux和其他UNIX系統。
最后,本書應用Kali 來完成攻擊者的攻擊流程,對目標系統進行攻擊。你需要一個目標操作系統。本書的許多示例是基于Microsoft Windows XP的。雖然它在2014年4月已被棄用,但是該系統為許多工具提供了一個行為標準的“基線”。如果你知道怎樣將一個方法應用到一個操作系統,那么你可以將它應用到更多現有的操作系統,例如Windows 7和Windows 8。
本書的讀者對象
本書適用于想要學習更多關于數據安全知識的人。特別是,它的目標人群是那些在實踐中明白為什么要使用一個特定工具的人;而不是相反的一些人(為了查看一個系統是否有漏洞,他們使用盡可能多的工具)。我的目標是使讀者開發他們自己的方法和方式來進行有效的滲透測試,這可以讓他們試驗和學習,使他們進步。我相信這種方法是理解黑客怎樣攻擊數據系統的唯一有效的方式;自然,這也是了解怎樣在漏洞被利用之前彌補漏洞的唯一方法。
如果你是一名專業的安全人員、滲透測試人員,或者是對復雜數據環境的安全感興趣的人,那么這本書是為你準備的。 |
內容簡介:本書分為兩部分,共11章。第一部分(第1~6章)根據殺鏈的步驟,詳細分析每個階段。第1章介紹Kali Linux的基礎知識及其支持滲透測試的最優配置;第2章介紹如何利用公共可用資源搜集目標信息,并給出簡化偵察和信息管理的工具;第3章介紹主動偵察和漏洞掃描相關技術;第4章介紹找到并執行滲透的方法;第5章討論攻擊者是怎樣逐步提高自己的權限,實現他們攻擊系統的目標;第6章深入討論入侵的持續性及維持持久交互的工具。第二部分(第7~11章)專注于交付階段和一些有用的方法,探討攻擊是怎么發生的,以及如何用所介紹的方法來保護一個網絡。第7章從物理攻擊和社會工程學出發探討攻擊的路線;第8章分析如何入侵無線網絡;第9章討論通過網站或基于Web的應用的攻擊;第10章分析入侵遠程訪問通信的設備和應用程序;第11章介紹如何攻擊客戶端應用程序。
Kali Linux面向專業的滲透測試和安全審計,集成了大量精心挑選的安全檢測工具。本書在Kali Linux平臺上從攻擊者的角度來審視網絡框架,詳細介紹攻擊者“殺鏈”采取的具體步驟。 本書旨在幫助你開發自己的方法和方式來進行有效滲透測試,深入理解黑客怎樣攻擊數據系統,進而了解怎樣在漏洞被利用之前彌補漏洞。如果你是一名專業的安全工程師、滲透測試員,或者是對復雜的數據環境的安全感興趣的人,那么這本書是為你準備的。 通過閱讀本書,你將學到: 采用真正黑客所有效使用的方法來確保最有效的網絡滲透測試 Kali Linux滲透測試的最優配置 使用隱形技術來逃避被測試網絡的檢測 識別網絡中的隱形攻擊 使用有線和無線網絡以及Web服務來利用網絡和數據系統 從目標系統識別和下載有價值的數據 保持訪問被入侵系統 利用社會工程學入侵網絡的最弱部分——終端用戶 |
目錄:推薦序
作者簡介
審校者簡介
前言
第一部分 攻擊者殺鏈
第1章 走進Kali Linux 2
1.1 Kali Linux 2
1.2 配置網絡服務和安全通信 4
1.2.1 調整網絡代理設置 5
1.2.2 使用安全Shell保護通信安全 6
1.3 更新Kali Linux 7
1.4 配置和自定義Kali Linux 9
1.4.1 重置超級用戶密碼 9
1.4.2 添加普通用戶 10
1.4.3 加速Kali運行 10
1.4.4 與Microsoft Windows共享文件夾 11
1.4.5 用TrueCrypt創建加密文件夾 13
1.5 第三方應用程序的管理 17
1.5.1 安裝第三方應用程序 17
1.5.2 作為普通用戶運行第三方應用程序 18
1.6 滲透測試的有效管理 19
1.7 總結 21
第2章 確定目標——被動偵察 22
2.1 偵察的基本原則 22
2.2 開源情報 23
2.3 DNS偵察和路由映射 25
2.3.1 WHOIS 25
2.3.2 DNS偵察 26
2.3.3 映射路由到目標 29
2.4 獲得用戶信息 31
2.4.1 收集姓名和電子郵件地址 31
2.4.2 收集文件元數據 32
2.5 分析用戶密碼列表 34
2.6 小結 35
第3章 主動偵察和漏洞掃描 36
3.1 隱形掃描策略 37
3.1.1 調整源IP棧和工具識別設置 37
3.1.2 修改數據包參數 38
3.1.3 使用匿名網絡代理(Tor和Privoxy) 39
3.2 識別網絡基礎設施 42
3.3 枚舉主機 43
3.4 端口、操作系統和發現服務 44
3.4.1 端口掃描 44
3.4.2 指紋識別操作系統 45
3.4.3 確定主動服務 46
3.5 采用綜合偵察應用 47
3.5.1 nmap 47
3.5.2 recon-ng框架 49
3.5.3 Maltego 51
3.6 漏洞掃描 52
3.7 小結 53
第4章 漏洞利用 54
4.1 威脅建模 55
4.2 使用在線和本地漏洞資源 56
4.2.1 Metasploit框架 59
4.2.2 利用易受攻擊的應用程序 63
4.3 使用Armitage的多目標滲透 64
4.3.1 Armitage 測試團隊 66
4.3.2 Armitage攻擊腳本 66
4.4 繞過IDS與反病毒偵測 67
4.5 小結 73
第5章 后期利用——行動的目的 74
5.1 繞過Windows用戶賬戶控制 75
5.2 對已入侵的系統進行快速偵察 77
5.3 找到并提取敏感數據——掠奪目標 80
5.4 創建附加賬戶 83
5.5 使用Metasploit工具進行后期滲透活動 84
5.6 在已入侵主機上提升用戶權限 87
5.7 使用incognito重放身份驗證令牌 88
5.7.1 使用Windows憑據編輯器操作訪問憑據 89
5.7.2 從管理員升級到系統管理員 90
5.8 訪問新賬戶實現橫向升級 90
5.9 消除痕跡 91
5.10 小結 93
第6章 后期利用——持久性 94
6.1 破解現有的系統和應用程序文件進行遠程訪問 95
6.1.1 啟用遠程服務 95
6.1.2 啟用遠程Windows終端服務 96
6.1.3 啟用遠程虛擬網絡計算 97
6.2 使用持久代理 98
6.3 使用Metasploit框架保持持久性 101
6.3.1 使用metsvc腳本 101
6.3.2 使用persistence腳本 103
6.4 使用Metasploit框架創建一個獨立持久代理 104
6.5 重定向端口來繞過網絡控制 106
6.5.1 示例1——簡單端口重定向 106
6.5.2 示例2——雙向端口重定向 107
6.6 小結 107
第二部分 交付階段
第7章 物理攻擊與社會工程學 110
7.1 社會工程工具包 111
7.1.1 網絡釣魚攻擊曝光 113
7.1.2 使用網站攻擊向量——Java小程序攻擊方法 118
7.1.3 使用網站攻擊向量——憑據收割攻擊方法 121
7.1.4 使用網站攻擊向量——標簽釣魚攻擊方法 123
7.1.5 使用網站攻擊向量——綜合攻擊網頁方法 124
7.2 使用PowerShell字母數字的shellcode注入攻擊曝光 125
7.3 隱藏可執行文件與偽裝攻擊者的URL 126
7.4 使用DNS重定向攻擊的升級攻擊 127
7.5 物理訪問與敵對設備 130
7.6 小結 133
第8章 利用無線通信 134
8.1 配置Kali實現無線攻擊曝光 134
8.2 無線偵察 135
8.3 繞過一個隱藏的服務集標識符 138
8.4 繞過MAC地址驗證 140
8.5 破解WEP加密 142
8.6 攻擊WPA和WPA2 146
8.6.1 暴力攻擊曝光 146
8.6.2 使用Reaver攻擊無線路由器曝光 149
8.7 克隆接入點 149
8.8 拒絕服務攻擊曝光 150
8.9 小結 151
第9章 基于Web應用的偵察與利用 153
9.1 對網站進行偵察 154
9.2 漏洞掃描器 158
9.2.1 擴展傳統漏洞掃描器功能 158
9.2.2 擴展Web瀏覽器功能 159
9.2.3 具體網絡服務的漏洞掃描器 160
9.3 使用客戶端代理測試安全性 163
9.4 服務器漏洞 167
9.5 針對特定應用的攻擊 168
9.5.1 暴力破解訪問證書 169
9.5.2 數據庫注入攻擊曝光 169
9.6 使用網站后門維持訪問 171
9.7 小結 172
第10章 利用遠程訪問通信 174
10.1 利用操作系統通信協議 175
10.1.1 破解遠程桌面協議 175
10.1.2 破解安全外殼 177
10.2 利用第三方遠程訪問應用程序 179
10.3 攻擊安全套接字層 180
10.3.1 為SSLv2掃描配置Kali 181
10.3.2 SSL連接的偵察 182
10.3.3 使用sslstrip進行中間人攻擊曝光 186
10.3.4 針對SSL的拒絕服務攻擊曝光 188
10.4 攻擊IPSec虛擬專用網絡 188
10.4.1 掃描VPN網關 189
10.4.2 指紋識別VPN網關 190
10.4.3 截獲預共享密鑰 191
10.4.4 執行離線PSK破解 191
10.4.5 確定默認用戶賬戶 192
10.5 小結 192
第11章 客戶端攻擊技術詳解 193
11.1 使用惡意腳本攻擊系統曝光 193
11.1.1 使用VBScript進行攻擊曝光 194
11.1.2 使用Windows PowerShell攻擊系統曝光 196
11.2 跨站點腳本框架 198
11.3 瀏覽器開發框架——BeEF 204
11.4 BeEF瀏覽器的演練 206
11.4.1 整合BeEF和Metasploit攻擊 210
11.4.2 用BeEF作為隧道代理 211
11.5 小結 213
附錄 安裝Kali Linux 214 |
序: |