《Metasploit滲透測(cè)試指南(修訂版)》介紹開(kāi)源滲透測(cè)試框架平臺(tái)軟件Metasploit,以及基于Metasploit 進(jìn)行網(wǎng)絡(luò)滲透測(cè)試與安全漏洞研究分析的技術(shù)、流程和方法,幫助初學(xué)者從零開(kāi)始建立作為滲透測(cè)試者的基本技能,也為職業(yè)的滲透測(cè)試工程師提供一本參考索引。
《Metasploit滲透測(cè)試指南(修訂版)》分為17 章,覆蓋滲透測(cè)試的情報(bào)搜集、威脅建模、漏洞分析、滲透攻擊和后滲透攻擊各個(gè)環(huán)節(jié),并包含了免殺技術(shù)、客戶(hù)端滲透攻擊、社會(huì)工程學(xué)、自動(dòng)化滲透測(cè)試、無(wú)線網(wǎng)絡(luò)攻擊等高級(jí)技術(shù)專(zhuān)題,以及如何擴(kuò)展Metasploit 情報(bào)搜集、滲透攻擊與后滲透攻擊功能的實(shí)踐方法。此修訂版盡量保持原著的實(shí)驗(yàn)案例選擇,僅根據(jù)Metasploit 版本更新的實(shí)際情況來(lái)復(fù)現(xiàn)實(shí)驗(yàn),同步更新操作流程的命令輸入和輸出結(jié)果。對(duì)于少量國(guó)內(nèi)讀者不便重現(xiàn)的實(shí)驗(yàn)案例,將實(shí)驗(yàn)對(duì)象、分析工具等替換為更容易接觸和使用的替代品。
《Metasploit滲透測(cè)試指南(修訂版)》的讀者群主要是網(wǎng)絡(luò)與系統(tǒng)安全領(lǐng)域的技術(shù)愛(ài)好者與學(xué)生,以及滲透測(cè)試與漏洞分析研究方面的安全從業(yè)人員。
自2013年首次問(wèn)世以來(lái),《Metasploit滲透測(cè)試指南(修訂版)》迅速擄獲了從業(yè)人員的芳心。作為唯1一本經(jīng)官方團(tuán)隊(duì)親自評(píng)審并高度認(rèn)可(“現(xiàn)今已有好的Metasploit框架軟件參考指南”)的著作,《Metasploit滲透測(cè)試指南(修訂版)》不僅涵蓋了基礎(chǔ)的工具和技術(shù),也深入分享了如何實(shí)施滲透測(cè)試的方法與經(jīng)驗(yàn)。四位來(lái)自不同領(lǐng)域的資深黑客作者從不同的視角無(wú)私奉獻(xiàn)了他們的技巧與心得:既貢獻(xiàn)了企業(yè)安全架構(gòu)上的經(jīng)驗(yàn),也端出了安全漏洞挖掘和滲透代碼開(kāi)發(fā)的“私房菜”。
本次的修訂版,在譯者的精心組織與編排下完成,主要的修訂在于:基于Metasploit新的版本復(fù)現(xiàn)并更新了原書(shū)的實(shí)驗(yàn)案例,同時(shí)考慮到國(guó)情與本地化的需求,將關(guān)鍵的實(shí)驗(yàn)對(duì)象、分析工具等換成了國(guó)內(nèi)讀者更容易接觸和使用的替代品。這使讀者能更容易通過(guò)復(fù)現(xiàn)實(shí)驗(yàn)過(guò)程,深刻而快速地掌握相關(guān)滲透技巧。
譯者來(lái)自諸葛建偉老師的團(tuán)隊(duì)。諸葛建偉老師是XCTF聯(lián)賽發(fā)起人、著名的藍(lán)蓮花團(tuán)隊(duì)創(chuàng)始人之一,在網(wǎng)絡(luò)安全領(lǐng)域有多年的從業(yè)經(jīng)驗(yàn)。
口碑好書(shū),值得珍藏!
第1 章 滲透測(cè)試技術(shù)基礎(chǔ) 1
1.1 PTES 中的滲透測(cè)試階段 2
1.1.1 前期交互階段 2
1.1.2 情報(bào)搜集階段 2
1.1.3 威脅建模階段 3
1.1.4 漏洞分析階段 3
1.1.5 滲透攻擊階段 3
1.1.6 后滲透攻擊階段 3
1.1.7 報(bào)告階段 4
1.2 滲透測(cè)試類(lèi)型 4
1.2.1 白盒測(cè)試 5
1.2.2 黑盒測(cè)試 5
1.2.3 灰盒測(cè)試 5
1.3 漏洞掃描器 6
1.4 小結(jié) 6
第2 章 Metasploit 基礎(chǔ) 7
2.1 專(zhuān)業(yè)術(shù)語(yǔ) 7
2.1.1 滲透攻擊(Exploit) 8
2.1.2 攻擊載荷(Payload) 8
2.1.3 Shellcode 8
2.1.4 模塊(Module) 8
2.1.5 監(jiān)聽(tīng)器(Listener) 8
2.2 Metasploit 用戶(hù)接口 8
2.2.1 MSF 終端 9
2.2.2 MSF 命令行 9
2.2.3 Armitage 10
2.3 Metasploit 功能程序 11
2.3.1 MSF 攻擊載荷生成器 11
2.3.2 MSF 編碼器 12
2.3.3 Nasm Shell 13
2.4 Metasploit Express 和Metasploit Pro 13
2.5 小結(jié) 14
第3 章 情報(bào)搜集 15
3.1 被動(dòng)信息搜集 16
3.1.1 Whois 查詢(xún) 16
3.1.2 Netcraft 17
3.1.3 nslookup 18
3.1.4 Google Hacking 18
3.2 主動(dòng)信息搜集 20
3.2.1 使用Nmap 進(jìn)行端口掃描 20
3.2.2 在Metasploit 中使用數(shù)據(jù)庫(kù) 22
3.2.3 使用Metasploit 進(jìn)行端口掃描 27
3.3 針對(duì)性掃描 28
3.3.1 服務(wù)器消息塊協(xié)議掃描 28
3.3.2 搜尋配置不當(dāng)?shù)腗icrosoft SQL Server 29
3.3.3 SSH 服務(wù)器掃描 30
3.3.4 FTP 掃描 30
3.3.5 簡(jiǎn)單網(wǎng)管協(xié)議掃描 31
3.4 編寫(xiě)自己的掃描器 33
3.5 展望 35
第4 章 漏洞掃描 36
4.1 基本的漏洞掃描 37
4.2 使用Nexpose 進(jìn)行掃描 38
4.2.1 配置 38
4.2.2 將掃描報(bào)告導(dǎo)入到Metasploit 中 44
4.2.3 在MSF 控制臺(tái)中運(yùn)行Nexpose 44
4.3 使用Nessus 進(jìn)行掃描 46
4.3.1 配置Nessus 46
4.3.2 創(chuàng)建Nessus 掃描策略 47
4.3.3 執(zhí)行Nessus 掃描 49
4.3.4 Nessus 報(bào)告 50
4.3.5 將掃描結(jié)果導(dǎo)入Metasploit 框架中 50
4.3.6 在Metasploit 內(nèi)部使用Nessus 進(jìn)行掃描 52
4.4 專(zhuān)用漏洞掃描器 54
4.4.1 驗(yàn)證SMB 登錄 54
4.4.2 掃描開(kāi)放的VNC 空口令 56
4.4.3 掃描開(kāi)放的X11 服務(wù)器 58
4.5 利用掃描結(jié)果進(jìn)行自動(dòng)化攻擊 59
第5 章 滲透攻擊之旅 65
5.1 滲透攻擊基礎(chǔ) 66
5.1.1 msf> show exploits 66
5.1.2 msf> show auxiliary 66
5.1.3 msf> show options 66
5.1.4 msf> show payloads 68
5.1.5 msf> show targets 70
5.1.6 info 71
5.1.7 set 和unset 71
5.1.8 setg 和unsetg 72
5.1.9 save 72
5.2 你的第一次滲透攻擊 72
5.3 攻擊Metasploitable 主機(jī) 76
5.4 全端口攻擊載荷:暴力猜解目標(biāo)開(kāi)放的端口 79
5.5 資源文件 80
5.6 小結(jié) 82
第6 章 Meterpreter 83
6.1 攻陷Windows XP 虛擬機(jī) 83
6.1.1 使用nmap 掃描端口 84
6.1.2 攻擊MS SQL 84
6.1.3 暴力破解MS SQL 服務(wù) 86
6.1.4 xp_cmdshell 87
6.1.5 Meterpreter 基本命令 88
6.1.6 獲取鍵盤(pán)記錄 89
6.2 挖掘用戶(hù)名和密碼 90
6.2.1 提取密碼哈希值 90
6.2.2 使用Meterpreter 命令獲取密碼哈希值 91
6.3 傳遞哈希值 92
6.4 權(quán)限提升 93
6.5 令牌假冒 95
6.6 使用PS 95
6.7 通過(guò)跳板攻擊其他機(jī)器 97
6.7.1 使用Meterpreter 進(jìn)行跳板攻擊 97
6.7.2 使用Metasploit Pro 的VPN 跳板 100
6.8 使用Meterpreter 腳本 105
6.8.1 遷移進(jìn)程 105
6.8.2 關(guān)閉殺毒軟件 106
6.8.3 獲取系統(tǒng)密碼哈希值 106
6.8.4 查看目標(biāo)機(jī)上的所有流量 106
6.8.5 攫取系統(tǒng)信息 107
6.8.6 控制持久化 107
6.9 向后滲透攻擊模塊轉(zhuǎn)變 108
6.10 將命令行shell 升級(jí)為Meterpreter 109
6.11 通過(guò)附加的Railgun 組件操作Windows API 110
6.12 小結(jié) 110
第7 章 免殺技術(shù) 112
7.1 使用MSF 攻擊載荷生成器創(chuàng)建可獨(dú)立運(yùn)行的二進(jìn)制文件 113
7.2 躲避殺毒軟件的檢測(cè) 114
7.2.1 使用MSF 編碼器 114
7.2.2 多重編碼 117
7.3 自定義可執(zhí)行文件模板 118
7.4 隱秘地啟動(dòng)一個(gè)攻擊載荷 120
7.5 加殼軟件 122
7.6 使用Metasploit Pro 的動(dòng)態(tài)載荷實(shí)現(xiàn)免殺 123
7.7 關(guān)于免殺處理的最后忠告 126
第8 章 客戶(hù)端滲透攻擊 127
8.1 基于瀏覽器的滲透攻擊 128
8.1.1 基于瀏覽器的滲透攻擊原理 128
8.1.2 關(guān)于空指令 129
8.2 使用ollydbg 調(diào)試器揭秘空指令機(jī)器碼 130
8.3 對(duì)IE 瀏覽器的極光漏洞進(jìn)行滲透利用 134
8.4 文件格式漏洞滲透攻擊 137
8.5 發(fā)送攻擊負(fù)載 139
8.6 小結(jié) 140
第9 章 Metasploit 輔助模塊 141
9.1 使用輔助模塊 144
9.2 輔助模塊剖析 146
9.3 展望 152
第10 章 社會(huì)工程學(xué)工具包 153
10.1 配置SET 工具包 154
10.2 針對(duì)性釣魚(yú)攻擊向量 155
10.3 Web 攻擊向量 160
10.3.1 Java Applet 160
10.3.2 客戶(hù)端Web 攻擊 165
10.3.3 用戶(hù)名和密碼獲取 167
10.3.4 標(biāo)簽頁(yè)劫持攻擊(Tabnabbing) 169
10.3.5 中間人攻擊 169
10.3.6 網(wǎng)頁(yè)劫持 169
10.3.7 綜合多重攻擊方法 171
10.4 傳染性媒體生成器 176
10.5 USB HID 攻擊向量 177
10.6 SET 的其他特性 181
10.7 展望 181
第11 章 Fast-Track 183
11.1 Microsoft SQL 注入 184
11.1.1 SQL 注入——查詢(xún)語(yǔ)句攻擊 185
11.1.2 SQL 注入——POST 參數(shù)攻擊 186
11.1.3 手工注入 187
11.1.4 MS SQL 破解 188
11.1.5 通過(guò)SQL 自動(dòng)獲得控制(SQL Pwnage) 192
11.2 二進(jìn)制到十六進(jìn)制轉(zhuǎn)換器 194
11.3 大規(guī)?蛻(hù)端攻擊 195
11.4 對(duì)自動(dòng)化滲透的一點(diǎn)看法 197
第12 章 Karmetasploit 無(wú)線攻擊套件 198
12.1 配置 199
12.2 開(kāi)始攻擊 200
12.3 獲取憑證 203
12.4 得到Shell 203
12.5 小結(jié) 206
第13 章 編寫(xiě)你自己的模塊 207
13.1 在MS SQL 上進(jìn)行命令執(zhí)行 208
13.2 探索一個(gè)已存在的Metasploit 模塊 209
13.3 編寫(xiě)一個(gè)新的模塊 211
13.3.1 PowerShell 211
13.3.2 運(yùn)行Shell 滲透攻擊 213
13.3.3 編寫(xiě)Powershell_upload_exec 函數(shù) 215
13.3.4 從十六進(jìn)制轉(zhuǎn)換回二進(jìn)制程序 215
13.3.5 計(jì)數(shù)器 217
13.3.6 運(yùn)行滲透攻擊模塊 218
13.4 小結(jié)——代碼重用的能量 219
第14 章 創(chuàng)建你自己的滲透攻擊模塊 220
14.1 Fuzz 測(cè)試的藝術(shù) 221
14.2 控制結(jié)構(gòu)化異常處理鏈 225
14.3 繞過(guò)SEH 限制 227
14.4 獲取返回地址 230
14.5 壞字符和遠(yuǎn)程代碼執(zhí)行 235
14.6 小結(jié) 238
第15 章 將滲透代碼移植到Metasploit 239
15.1 匯編語(yǔ)言基礎(chǔ) 240
15.1.1 EIP 和ESP 寄存器 240
15.1.2 JMP 指令集 240
15.1.3 空指令和空指令滑行區(qū) 240
15.2 移植一個(gè)緩沖區(qū)溢出攻擊代碼 240
15.2.1 裁剪一個(gè)已有的滲透攻擊代碼 242
15.2.2 構(gòu)造滲透攻擊過(guò)程 243
15.2.3 測(cè)試我們的基礎(chǔ)滲透代碼 244
15.2.4 實(shí)現(xiàn)框架中的特性 245
15.2.5 增加隨機(jī)化 246
15.2.6 消除空指令滑行區(qū) 247
15.2.7 去除偽造的Shellcode 247
15.2.8 我們完整的模塊代碼 249
15.3 SEH 覆蓋滲透代碼 250
15.4 小結(jié) 257
第16 章 Meterpreter 腳本編程 258
16.1 Meterpreter 腳本編程基礎(chǔ) 258
16.2 Meterpreter API 265
16.2.1 打印輸出 265
16.2.2 基本API 調(diào)用 266
16.2.3 Meterpreter Mixins 266
16.3 編寫(xiě)Meterpreter 腳本的規(guī)則 267
16.4 創(chuàng)建自己的Meterpreter 腳本 268
16.5 小結(jié) 275
第17 章 一次模擬的滲透測(cè)試過(guò)程 276
17.1 前期交互 277
17.2 情報(bào)搜集 277
17.3 威脅建模 278
17.4 滲透攻擊 280
17.5 MSF 終端中的滲透攻擊過(guò)程 280
17.6 后滲透攻擊 281
17.6.1 掃描Metasploitable 靶機(jī) 282
17.6.2 識(shí)別存有漏洞的服務(wù) 284
17.7 攻擊Postgresql 數(shù)據(jù)庫(kù)服務(wù) 286
17.8 攻擊一個(gè)偏門(mén)的服務(wù) 288
17.9 隱藏你的蹤跡 289
17.10 小結(jié) 291
附錄A 配置目標(biāo)機(jī)器 293
附錄B 命令參考列表 301