《精通Metasploit滲透測(cè)試 第二版》介紹了時(shí)下流行的滲透測(cè)試框架——Metasploit。書中從其基本功能和傳統(tǒng)使用方式開始,講解編寫Metasploit模塊的基礎(chǔ)知識(shí),學(xué)習(xí)滲透模塊的執(zhí)行、構(gòu)建與移植,詳細(xì)解讀客戶端攻擊、Metasploit框架中的各種內(nèi)置腳本。
與第1版相比,第2版增添了大量對(duì)移動(dòng)設(shè)備、SCADA、數(shù)據(jù)庫(kù)、物聯(lián)網(wǎng)設(shè)備的滲透案例,并講解了如何將全新的滲透模塊導(dǎo)入到Metasploit。此外,還新增了大量?jī)?yōu)秀的出色工具的使用教程,采用了新版的社會(huì)工程學(xué)工具包,增加了大量經(jīng)典詳實(shí)的滲透模塊編寫實(shí)例。
《精通Metasploit滲透測(cè)試 第二版》適合網(wǎng)絡(luò)與系統(tǒng)安全領(lǐng)域的技術(shù)愛好者和學(xué)生,以及滲透測(cè)試與漏洞分析研究方面的安全從業(yè)人員閱讀參考。
Metasploit是目前業(yè)內(nèi)使用頻率非常高的滲透測(cè)試框架,擁有大規(guī)模的滲透模塊數(shù)據(jù)庫(kù)。本書是使用Metasploit進(jìn)行滲透測(cè)試的實(shí)用指南,立足真實(shí)案例,幫助讀者了解如何使用Metasploit進(jìn)行高效滲透測(cè)試、實(shí)現(xiàn)Web應(yīng)用程序的自動(dòng)化攻擊、提升安全專業(yè)技能。
第2版全面更新,特別對(duì)SCADA、數(shù)據(jù)庫(kù)、物聯(lián)網(wǎng)、移動(dòng)設(shè)備、平板電腦等各種服務(wù)的測(cè)試示例作出解讀,為在實(shí)際工作中開展?jié)B透打下堅(jiān)實(shí)基礎(chǔ)。
-掌握復(fù)雜的輔助模塊
-了解滲透模塊的開發(fā)和移植,將用Perl、Python編寫的復(fù)雜模塊移植到Metasploit框架中
-完成對(duì)數(shù)據(jù)庫(kù)、SCADA等各種服務(wù)的滲透測(cè)試
-利用高-級(jí)滲透技術(shù)對(duì)客戶端發(fā)起攻擊
-使用Metasploit對(duì)移動(dòng)設(shè)備和平板電腦進(jìn)行滲透測(cè)試
-使用Metasploit實(shí)現(xiàn)社會(huì)工程學(xué)攻擊
-使用Armitage GUI對(duì)Web服務(wù)器和系統(tǒng)進(jìn)行模擬攻擊
-在Armitage中使用Cortana編寫攻擊腳本
第1章 走近Metasploit滲透測(cè)試框架 1
1.1 組織一次滲透測(cè)試 3
1.2 前期交互階段 3
1.3 信息收集/偵查階段 5
1.4 了解測(cè)試環(huán)境 7
1.4.1 威脅建模階段 7
1.4.2 漏洞分析階段 8
1.4.3 滲透階段和后滲透階段 8
1.4.4 報(bào)告階段 9
1.4.5 工作環(huán)境的準(zhǔn)備 9
1.5 在虛擬環(huán)境中安裝Kali Linux 9
1.6 Metasploit 基礎(chǔ) 13
1.7 使用Metasploit進(jìn)行滲透測(cè)試 14
1.8 使用Metasploit進(jìn)行滲透測(cè)試的優(yōu)勢(shì) 15
1.8.1 源代碼的開放性 16
1.8.2 對(duì)大型網(wǎng)絡(luò)測(cè)試的支持以及便利的命名規(guī)則 16
1.8.3 靈活的攻擊載荷模塊生成和切換機(jī)制 16
1.8.4 干凈的通道建立方式 16
1.8.5 圖形化管理界面 17
1.9 對(duì)未知網(wǎng)絡(luò)的滲透測(cè)試 17
1.9.1 假設(shè) 17
1.9.2 信息收集 17
1.10 在Metasploit中使用數(shù)據(jù)庫(kù) 18
1.11 威脅建模 20
1.12 VSFTPD 2.3.4后門的漏洞分析 21
1.12.1 攻擊過(guò)程 22
1.12.2 漏洞滲透的過(guò)程 22
1.12.3 滲透模塊和后滲透模塊 23
1.13 PHP-CGI查詢字符串參數(shù)漏洞的分析 29
1.14 HFS 2.3上的漏洞分析 34
1.15 滲透訪問(wèn)控制的持久化 37
1.16 清除滲透痕跡 38
1.17 回顧入侵過(guò)程 39
1.18 小結(jié) 41
第2章 打造定制化的Metasploit滲透測(cè)試框架 42
2.1 Ruby——Metasploit的核心 43
2.1.1 創(chuàng)建你的第一個(gè)Ruby 程序 43
2.1.2 Ruby中的變量和數(shù)據(jù)類型 45
2.1.3 Ruby中的方法 48
2.1.4 決策運(yùn)算符 49
2.1.5 Ruby 中的循環(huán) 50
2.1.6 正則表達(dá)式 50
2.1.7 Ruby 基礎(chǔ)知識(shí)小結(jié) 52
2.2 開發(fā)自定義模塊 52
2.2.1 模塊編寫的概要 52
2.2.2 了解現(xiàn)有模塊 57
2.2.3 分解已有的HTTP服務(wù)器掃描模塊 58
2.2.4 編寫一個(gè)自定義FTP掃描程序模塊 62
2.2.5 編寫一個(gè)自定義的SSH認(rèn)證暴力破解器 65
2.2.6 編寫一個(gè)讓硬盤失效的后滲透模塊 69
2.2.7 編寫一個(gè)收集登錄憑證的后滲透模塊 73
2.3 突破Meterpreter腳本 77
2.3.1 Meterpreter腳本的要點(diǎn) 78
2.3.2 以被控制的計(jì)算機(jī)為跳板 78
2.3.3 設(shè)置永久訪問(wèn)權(quán)限 81
2.3.4 API 調(diào)用和mixins類 82
2.3.5 制作自定義Meterpreter腳本 83
2.4 與RailGun協(xié)同工作 84
2.4.1 交互式Ruby命令行基礎(chǔ) 84
2.4.2 了解RailGun及其腳本編寫 85
2.4.3 控制Windows中的API調(diào)用 87
2.4.4 構(gòu)建復(fù)雜的RailGun腳本 87
2.5 小結(jié) 89
第3章 滲透模塊的開發(fā)過(guò)程 90
3.1 滲透的最基礎(chǔ)部分 90
3.1.1 基礎(chǔ)部分 90
3.1.2 計(jì)算機(jī)架構(gòu) 91
3.1.3 寄存器 92
3.2 使用Metasploit實(shí)現(xiàn)對(duì)棧的緩沖區(qū)溢出 93
3.2.1 使一個(gè)有漏洞的程序崩潰 94
3.2.2 構(gòu)建滲透模塊的基礎(chǔ) 95
3.2.3 計(jì)算偏移量 96
3.2.4 查找JMP ESP地址 98
3.2.5 填充空間 100
3.2.6 確定壞字符 102
3.2.7 確定空間限制 102
3.2.8 編寫Metasploit的滲透模塊 103
3.3 使用Metasploit實(shí)現(xiàn)基于SEH的緩沖區(qū)溢出 106
3.3.1 構(gòu)建滲透模塊的基礎(chǔ) 108
3.3.2 計(jì)算偏移量 109
3.3.3 查找POP/POP/RET地址 110
3.3.4 編寫Metasploit的SEH滲透模塊 112
3.4 在Metasploit模塊中繞過(guò)DEP 115
3.4.1 使用msfrop查找ROP指令片段 117
3.4.2 使用Mona創(chuàng)建ROP鏈 118
3.4.3 編寫繞過(guò)DEP的Metasploit滲透模塊 120
3.5 其他保護(hù)機(jī)制 122
3.6 小結(jié) 123
第4章 滲透模塊的移植 124
4.1 導(dǎo)入一個(gè)基于棧的緩沖區(qū)溢出滲透模塊 124
4.1.1 收集關(guān)鍵信息 127
4.1.2 構(gòu)建Metasploit模塊 127
4.1.3 使用Metasploit完成對(duì)目標(biāo)應(yīng)用程序的滲透 129
4.1.4 在Metasploit的滲透模塊中實(shí)現(xiàn)一個(gè)檢查(check)方法 130
4.2 將基于Web的RCE導(dǎo)入Metasploit 131
4.2.1 收集關(guān)鍵信息 132
4.2.2 掌握重要的Web函數(shù) 132
4.2.3 GET/POST方法的使用要點(diǎn) 133
4.2.4 將HTTP滲透模塊導(dǎo)入到Metasploit中 134
4.3 將TCP 服務(wù)端/基于瀏覽器的滲透模塊導(dǎo)入Metasploit 136
4.3.1 收集關(guān)鍵信息 138
4.3.2 創(chuàng)建Metasploit模塊 138
4.4 小結(jié) 141
第5章 使用Metasploit對(duì)服務(wù)進(jìn)行測(cè)試 142
5.1 SCADA系統(tǒng)的基本原理 142
5.1.1 ICS 的基本原理以及組成部分 143
5.1.2 ICS-SCADA安全的重要性 143
5.1.3 SCADA系統(tǒng)的安全性分析 143
5.1.4 使SCADA變得更加安全 147
5.2 數(shù)據(jù)庫(kù)滲透 148
5.2.1 SQL Server 148
5.2.2 使用Nmap對(duì)SQL Server進(jìn)行踩點(diǎn) 149
5.2.3 使用Metasploit的模塊進(jìn)行掃描 150
5.2.4 暴力破解密碼 151
5.2.5 查找/捕獲服務(wù)器的口令 152
5.2.6 瀏覽SQL Server 153
5.2.7 后滲透/執(zhí)行系統(tǒng)命令 154
5.3 VOIP滲透測(cè)試 156
5.3.1 VOIP的基本原理 156
5.3.2 對(duì)VOIP服務(wù)踩點(diǎn) 158
5.3.3 掃描VOIP服務(wù) 159
5.3.4 欺騙性的VOIP電話 160
5.3.5 對(duì)VOIP進(jìn)行滲透 162
5.4 小結(jié) 163
第6章 虛擬化測(cè)試的原因及階段 164
6.1 使用Metasploit集成的服務(wù)完成一次滲透測(cè)試 164
6.1.1 與員工和最終用戶進(jìn)行交流 165
6.1.2 收集信息 166
6.1.3 使用Metasploit中的OpenVAS插件進(jìn)行漏洞掃描 167
6.1.4 對(duì)威脅區(qū)域進(jìn)行建模 171
6.1.5 獲取目標(biāo)的控制權(quán)限 172
6.1.6 保持控制權(quán)限和掩蓋入侵痕跡 178
6.1.7 使用Faraday管理滲透測(cè)試 178
6.1.8 手動(dòng)創(chuàng)建報(bào)告 180
6.2 小結(jié) 183
第7章 客戶端滲透 184
7.1 有趣又有料的瀏覽器滲透攻擊 184
7.1.1 browser autopwn攻擊 185
7.1.2 對(duì)網(wǎng)站的客戶進(jìn)行滲透 188
7.1.3 與DNS 欺騙的結(jié)合使用 191
7.2 Metasploit和Arduino——致命搭檔 196
7.3 基于各種文件格式的滲透攻擊 201
7.3.1 基于PDF文件格式的滲透攻擊 201
7.3.2 基于Word文件格式的滲透攻擊 203
7.4 使用Metasploit實(shí)現(xiàn)對(duì)Linux客戶端的滲透 205
7.5 使用Metasploit攻擊Android系統(tǒng) 206
7.6 小結(jié) 210
第8章 Metasploit的擴(kuò)展功能 211
8.1 Metasploit后滲透模塊的基礎(chǔ)知識(shí) 211
8.2 基本后滲透命令 211
8.2.1 幫助菜單 212
8.2.2 后臺(tái)命令 212
8.2.3 機(jī)器ID和UUID命令 213
8.2.4 通信信道的操作 213
8.2.5 獲取用戶名和進(jìn)程信息 213
8.2.6 獲取系統(tǒng)信息 214
8.2.7 網(wǎng)絡(luò)命令 214
8.2.8 文件操作命令 215
8.2.9 桌面命令 217
8.2.10 截圖和攝像頭列舉 218
8.3 使用Metasploit中的高級(jí)后滲透模塊 220
8.3.1 遷移到更安全的進(jìn)程上 220
8.3.2 獲取系統(tǒng)級(jí)管理權(quán)限 221
8.3.3 使用hashdump獲取密碼的哈希值 221
8.3.4 使用timestomp修改文件的訪問(wèn)時(shí)間、修改時(shí)間和創(chuàng)建時(shí)間 222
8.4 其他后滲透模塊 223
8.4.1 使用Metasploit收集無(wú)線SSID 信息 223
8.4.2 使用Metasploit收集Wi-Fi密碼 223
8.4.3 獲取應(yīng)用程序列表 224
8.4.4 獲取Skype密碼 225
8.4.5 獲取USB使用歷史信息 225
8.4.6 使用Metasploit查找文件 225
8.4.7 使用clearev命令清除目標(biāo)系統(tǒng)上的日志 226
8.5 Metasploit中的高級(jí)擴(kuò)展功能 227
8.5.1 用Metasploit提升權(quán)限 227
8.5.2 使用mimikatz查找明文密碼 228
8.5.3 使用Metasploit進(jìn)行流量嗅探 229
8.5.4 使用Metasploit對(duì)host文件進(jìn)行注入 230
8.5.5 登錄密碼的釣魚窗口 231
8.6 小結(jié) 232
第9章 提高滲透測(cè)試的速度 233
9.1 pushm 和popm命令的使用方法 233
9.2 loadpath命令的使用 234
9.3 使用reload、edit和reload_all命令加快開發(fā)過(guò)程 235
9.4 資源腳本的使用方法 236
9.5 在Metasploit中使用AutoRunScript 237
9.6 Metasploit中的全局變量 240
9.7 自動(dòng)化社會(huì)工程學(xué)工具包 241
9.8 小結(jié) 243
第10章 利用Armitage實(shí)現(xiàn)Metasploit的可視化管理 244
10.1 Armitage的基本原理 244
10.1.1 入門知識(shí) 245
10.1.2 用戶界面一覽 246
10.1.3 工作區(qū)的管理 247
10.2 網(wǎng)絡(luò)掃描以及主機(jī)管理 248
10.2.1 漏洞的建模 250
10.2.2 查找匹配模塊 250
10.3 使用Armitage進(jìn)行滲透 251
10.4 使用Armitage進(jìn)行后滲透攻擊 252
10.5 使用Armitage進(jìn)行客戶端攻擊 253
10.6 Armitage腳本編寫 257
10.6.1 Cortana基礎(chǔ)知識(shí) 258
10.6.2 控制Metasploit 260
10.6.3 使用Cortana實(shí)現(xiàn)后滲透攻擊 261
10.6.4 使用Cortana創(chuàng)建自定義菜單 262
10.6.5 界面的使用 264
10.7 小結(jié) 266
10.8 延伸閱讀 266