本書將通過分析黑客采用的攻擊戰(zhàn)術來提升測試者的滲透測試技能:通過實驗室集成到云服務,從而了解在滲透測試中通常被忽略的一個開發(fā)維度;探索在虛擬機和容器化環(huán)境中安裝和運行Kali Linux的不同方法,以及使用容器在AWS上部署易受攻擊的云服務,利用配置錯誤的S3桶來訪問EC2實例;深入研究被動和主動偵察,從獲取用戶信息到大規(guī)模端口掃描,在此基礎上,探索了不同的脆弱性評估,包括威脅建模;講述了如何在受損系統(tǒng)上使用橫向移動、特權升級以及命令與控制(C2);探索在互聯網、物聯網、嵌入式外圍設備和無線通信中使用的高級滲透測試方法。
本書介紹了如何使用 Kali Linux 對計算機網絡、系統(tǒng)以及應用程序進行滲透測試。滲透測試是指模擬惡意的外部人員、內部人員對企業(yè)的網絡或系統(tǒng)進行攻擊。與漏洞評估不同,滲透測試中還包括對漏洞的利用。因此,它驗證了漏洞是存在的,如果不采取補救措施,企業(yè)的系統(tǒng)就有被破壞的風險。本書將帶你完成滲透測試之旅:使用 Kali Linux 中的有效實踐去測試最新的網絡防御措施。其中既包括如何選擇最有效的工具,又包括如何躲避檢測技術以達到快速入侵目標網絡的目的。如果你是一名滲透測試人員、IT 專家或網絡安全顧問,希望利用 Kali Linux 的一些高級功能最大限度地提高網絡安全測試的成功率,那么這本書就是為你準備的。如果你以前接觸過滲透測試的基礎知識,將有助于你理解本書內容。
前 言
本書介紹了如何使用 Kali Linux 對計算機網絡、系統(tǒng)以及應用程序進行滲透測試。滲透測試是指模擬惡意的外部人員、內部人員對企業(yè)的網絡或系統(tǒng)進行攻擊。與漏洞評估不同,滲透測試中還包括對漏洞的利用。因此,它驗證了漏洞是存在的,如果不采取補救措施,企業(yè)的系統(tǒng)就有被破壞的風險。
請各位讀者務必注意,在未經明確授權的情況下,掃描或訪問受保護的計算機系統(tǒng)或網絡是不合法的。
簡而言之,本書將帶你完成滲透測試之旅:使用 Kali Linux 中的有效實踐去測試最新的網絡防御措施。其中既包括如何選擇最有效的工具,又包括如何躲避檢測技術以達到快速入侵目標網絡的目的。
讀者對象
如果你是一名滲透測試人員、IT專家或網絡安全顧問,希望利用 Kali Linux 的一些高級功能最大限度地提高網絡安全測試的成功率,那么這本書就是為你準備的。如果你以前接觸過滲透測試的基礎知識,將有助于你理解本書內容。
本書主要內容
第1章 基于目標的滲透測試,介紹滲透測試的方法論,該方法論將貫穿本書,以確保讀者能理解滲透測試流程。
第2章 開源情報與被動偵察,介紹如何利用公開的情報源來偵察目標的信息,并使用簡便的工具集有效管理這些情報信息。
第3章 主動偵察,介紹能隱蔽地獲取目標信息的方法,尤其是如何識別出可被利用的漏洞。
第4章 漏洞評估,講授一種半自動化的網絡和系統(tǒng)掃描流程,識別可被利用并攻占的目標系統(tǒng),評估所有偵察和漏洞掃描信息,創(chuàng)建一個指導滲透測試過程的地圖。
第5章 高級社會工程學和物理安全,展示什么是最有效的攻擊路徑—通過物理手段訪問目標系統(tǒng),或與管理目標系統(tǒng)的人進行互動。
第6章 無線攻擊和藍牙攻擊,簡述無線網絡與藍牙的基礎知識,側重介紹繞過安全措施入侵網絡的常見技術。
第7章 Web漏洞利用,概述如何對暴露于互聯網的Web應用程序進行滲透測試,這是極為復雜的安全滲透交付場景。
第8章 云安全漏洞利用,重點介紹對AWS云基礎設施的滲透,這些基礎設施的受保護程度往往與企業(yè)的主要網絡差不多,而且容易出現安全配置錯誤。
第9章 繞過安全控制,演示最常見的安全控制措施,給出擺脫這些控制的系統(tǒng)化方法,并使用 Kali 工具集來進行驗證。
第10章 漏洞利用,演示如何通過漏洞查找和漏洞利用的方法成功入侵目標系統(tǒng)。
第11章 目標達成和橫向移動,側重于介紹后滲透階段的快速行動步驟,通過橫向移動的技術手段,以被攻陷的系統(tǒng)作為起點,“跳到”網絡上的其他系統(tǒng)。
第12章 權限提升,介紹如何獲取系統(tǒng)運維的所有信息,尤其是獲得關鍵訪問權限,以允許滲透測試人員控制網絡上的所有系統(tǒng)。
第13章 命令與控制,重點介紹如何將數據竊取到攻擊者所在的位置,并隱藏攻擊證據。
第14章 嵌入式設備與RFID攻擊,重點介紹攻擊者如何對嵌入式設備進行結構化攻擊并復制NFC卡。
學習本書需要準備什么
為了更好地實踐本書中介紹的內容,你需要自行準備虛擬化軟件,如VMware或VirtualBox。
此外,你需要下載并配置 Kali Linux 操作系統(tǒng)及其工具套件。為了確保你能獲取到最新的版本和工具集,這個過程需要能夠訪問互聯網。
需要澄清的是,本書不會一一介紹 Kali Linux 系統(tǒng)上的所有工具,因為它們實在太多了,冗余的介紹會給你帶來困擾。本書的重點是提供一種滲透測試的方法論,讓你有能力學習和整合新工具,這些工具背后的經驗和知識將隨著時間的推移而不斷更新。
雖然本書中的大多數例子都集中在微軟的Windows操作系統(tǒng)上,但方法論和大多數工具都可以轉移到其他操作系統(tǒng)上,例如Linux或其他類UNIX系統(tǒng)。
最后,本書通過 Kali 來實踐對目標系統(tǒng)的網絡攻殺鏈(kill chain)。你將需要一個靶機系統(tǒng),書中的許多例子都使用 Microsoft Windows 2016、Windows 10、Ubuntu 14.04和 Windows 2008 R2。
為了達到最佳實驗室效果,建議你在靶機的操作系統(tǒng)中用以下方法禁用 Windows Defender:使用管理員權限運行 PowerShell 并輸入 Set-MpPreference -DisableRealTimeMonitoring $true。
下載示例代碼文件和彩色圖片
本書的代碼包托管在 GitHub 上,鏈接如下:
https://github.com/PacktPublishing/Mastering-Kali-Linux-for-Advanced-Penetration-Testing-4E
對于更多豐富的代碼包和精彩視頻,感興趣的讀者可從以下地址獲。
https://github.com/PacktPublishing/
我們還提供了一個 PDF 文檔,包含本書中使用的屏幕截圖/圖表的彩色圖像。你可以從以下地址下載:
https://static.packt-cdn.com/downloads/9781801819770_ColorImages.pdf
關 于 作 者
Vijay Kumar Velu 是一位充滿激情的信息安全從業(yè)者、作家、演講者、投資者和技術博主,目前居住在倫敦。他擁有超過16年的IT從業(yè)經驗,是一名認證滲透測試人員,專注于攻防安全研究、數字取證和事件響應。
除本書外,他還是Mobile Application Penetration Testing一書的作者。工作之余,他喜歡
目 錄
譯者序
前言
關于作者
關于技術審校
第1章 基于目標的滲透測試 1
1.1 惡意威脅者的類型 1
1.2 安全測試概念 2
1.3 漏洞評估、滲透測試和紅隊演習的
局限性 2
1.4 基于目標的滲透測試概述 3
1.5 測試方法論 4
1.6 Kali Linux的功能介紹 6
1.7 Kali Linux的安裝與更新 7
1.7.1 使用便攜設備 7
1.7.2 在樹莓派4上安裝 Kali 8
1.7.3 在虛擬機上安裝Kali 9
1.7.4 安裝Docker應用 12
1.7.5 在AWS云上啟動Kali 13
1.7.6 在GCP上啟動Kali 15
1.8 在Android設備(非破解)上運行
Kali 20
1.9 配置 Kali Linux 21
1.9.1 重置默認密碼 21
1.9.2 配置網絡服務和安全通信 22
1.9.3 調整網絡代理設置 23
1.9.4 遠程訪問安全Shell 23
1.9.5 加速 Kali 操作 24
1.9.6 與主機系統(tǒng)共享文件夾 24
1.9.7 使用Bash腳本自定義Kali 26
1.10 建立一個驗證實驗室 26
1.11 CloudGoat 36
1.12 使用 Faraday 管理協(xié)同的滲透
測試 39
1.13 總結 40
第2章 開源情報與被動偵察 41
2.1 目標偵察的基本原則 41
2.1.1 OSINT 42
2.1.2 進攻性OSINT 43
2.1.3 收集域名信息 43
2.1.4 Maltego 44
2.1.5 OSRFramework 47
2.1.6 網絡存檔 47
2.1.7 Passive Total 48
2.2 網絡爬蟲 49
2.2.1 收集用戶名和郵件地址 49
2.2.2 獲取用戶信息 50
2.2.3 在線搜索門戶 50
2.2.4 其他商業(yè)工具 54
2.3 Google Hacking數據庫 54
2.3.1 使用Google Hacking腳本
查詢 54
2.3.2 數據轉儲站點 56
2.3.3 防御性OSINT 56
2.3.4 威脅情報 57
2.3.5 用戶密碼列表分析 58
2.4 自定義密碼破解字典 59
2.4.1 使用CeWL繪制網站地圖 59
2.4.2 使用twofi從Twitter提取字典 59
2.5 總結 60
第3章 主動偵察 61
3.1 隱蔽掃描技術 62
3.1.1 調整源IP協(xié)議棧和工具識別
特征 62
3.1.2 修改數據包參數 63
3.1.3 使用匿名網絡代理 65
3.2 DNS偵察和路由映射 67
3.3 使用集成偵察工具 68
3.3.1 recon-ng框架 69
3.3.2 使用針對IPv6的工具 72
3.3.3 映射目標路由 74
3.4 識別外部網絡基礎設施 76
3.5 防火墻外的映射 77
3.6 IDS/IPS識別 77
3.7 主機枚舉 78
3.8 端口、操作系統(tǒng)和服務發(fā)現 79
3.9 使用netcat編寫你自己的端口
掃描器 80
3.9.1 對操作系統(tǒng)進行指紋識別 80
3.9.2 確定活躍的服務 81
3.10 大規(guī)模掃描 82
3.10.1 DHCP信息 83
3.10.2 內網主機的識別和枚舉 83
3.10.3 原生的MS Windows命令 84
3.10.4 ARP廣播 86
3.10.5 ping掃描 86
3.10.6 使用腳本將masscan掃描和
nmap掃描結合 87
3.10.7 利用SNMP的優(yōu)勢 89
3.10.8 SMB會話中的Windows賬戶
信息 90
3.10.9 發(fā)現網絡共享 91
3.10.10 對活動目錄域服務器的偵察 92
3.10.11 枚舉微軟Azure環(huán)境 93
3.10.12 集成偵察工具 95
3.11 利用機器學習進行偵察 96
3.12 總結 98
第4章 漏洞評估 99
4.1 漏洞術語 99
4.2 本地和在線漏洞數據庫 100
4.3 用nmap進行漏洞掃描 103
4.3.1 Lua腳本介紹 104
4.3.2 定制NSE腳本 105
4.4 網絡應用程序漏洞掃描器 106
4.4.1 Nikto 106
4.4.2 定制Nikto 107
4.4.3 OWASP ZAP 108
4.5 移動應用程序的漏洞掃描器 111
4.6 OpenVAS網絡漏洞掃描器 112
4.7 商業(yè)漏洞掃描器 114
4.7.1 Nessus 115
4.7.2 Qualys 116
4.8 針對性的掃描器 117
4.9 威脅建! 118
4.10 總結 120
第5章 高級社會工程學和物理安全 121
5.1 掌握方法論和TTP 122
5.1.1 技術 123
5.1.2 針對人的攻擊 124
5.2 控制臺上的物理攻擊 124
5.2.1 samdump2和chntpw 125
5.2.2 粘滯鍵 128
5.3 創(chuàng)建一個流氓物理設備 129
5.4 社會工程工具包 132
5.4.1 社會工程攻擊 134
5.4.2 憑證采集Web攻擊方法 135
5.4.3 多重Web攻擊方法 137
5.4.4 HTA網絡攻擊方法 138
5.4.5 使用PowerShell純字符進行shellcode注入攻擊 140
5.5 隱藏可執(zhí)行文件和混