第1章 走近Metasploit滲透測試框架 1
1.1 環境的建立 3
1.1.1 前期交互階段 3
1.1.2 信息收集/偵查階段 4
1.1.3 威脅建模 6
1.1.4 漏洞分析 7
1.1.5 滲透攻擊和後滲透攻擊 8
1.1.6 報告階段 8
1.2 工作環境的準備 8
1.2.1 滲透測試實驗環境的建立 8
1.2.2 Metasploit基礎 12
1.2.3 在不同環境下配置Metasploit 12
1.2.4 錯誤處理 16
1.3 使用Metasploit進行滲透測試 17
1.3.1 迴顧Metasploit的基礎知識 17
1.3.2 對Windows XP操作係統的一次滲透測試 18
1.3.3 對Windows Server 2003操作係統的一次滲透測試 26
1.3.4 對Windows 7操作係統的一次滲透測試 27
1.3.5 使用數據庫存儲和取迴結果 30
1.4 Metasploit工具的優勢 32
1.4.1 源代碼的開放性 33
1.4.2 對大型網絡測試的支持以及便利的命名規則 33
1.4.3 靈活的攻擊載荷模塊生成和切換機製 33
1.4.4 乾淨的通道建立方式 33
1.4.5 圖形化管理界麵 34
1.5 小結 34
第2章 打造定製化的Metasploit滲透測試框架 35
2.1 Ruby——Metasploit的核心 36
2.1.1 創建你的第一個Ruby程序 36
2.1.2 Ruby中的變量和數據類型 38
2.1.3 Ruby中的方法 40
2.1.4 決策運算符 41
2.1.5 Ruby中的循環 42
2.1.6 正則錶達式 42
2.1.7 Ruby基礎知識的小結 43
2.2 開發自定義模塊 43
2.2.1 模塊編寫的概要 44
2.2.2 瞭解現有模塊 47
2.2.3 編寫一個自定義FTP掃描程序模塊 50
2.2.4 編寫一個自定義HTTP服務器掃描程序 52
2.2.5 編寫一個後滲透攻擊模塊 54
2.3 突破meterpreter腳本 56
2.3.1 meterpreter腳本的要點 56
2.3.2 以被控製計算機為跳闆 56
2.3.3 設置永久訪問權限 60
2.3.4 API調用和mixins類 61
2.3.5 製作自定義meterpreter腳本 61
2.4 與RailGun協同工作 63
2.4.1 交互式Ruby命令行基礎 63
2.4.2 瞭解RailGun及其腳本編寫 63
2.4.3 控製Windows中的API調用 65
2.4.4 構建復雜的RailGun腳本 65
2.5 小結 68
第3章 滲透攻擊模塊的開發過程 69
3.1 匯編語言基礎入門 69
3.1.1 基礎部分 69
3.1.2 計算機架構 70
3.1.3 寄存器 71
3.1.4 EIP的重要作用 72
3.1.5 ESP的重要作用 73
3.1.6 NOP和JMP之間的關聯 74
3.1.7 變量和聲明 74
3.1.8 匯編程序的編程示例 75
3.2 fuzz測試的樂趣 76
3.2.1 使一個程序崩潰 76
3.2.2 隨機化輸入數據 80
3.2.3 製造無用數據 82
3.2.4 Immunity Debugger簡介 82
3.2.5 GDB簡介 85
3.3 編寫滲透模塊的基礎 87
3.3.1 計算緩衝區的大小 88
3.3.2 計算跳轉地址 89
3.3.3 檢查EIP中的內容 90
3.3.4 填充應用程序 91
3.3.5 檢查ESP 91
3.3.6 填充空間 92
3.4 滲透模塊的完成 92
3.4.1 確定壞字符 92
3.4.2 確定空間限製 93
3.4.3 在Metasploit下完成 93
3.4.4 Metasploit下的自動化功能 95
3.5 結構化異常處理的基本原理 96
3.5.1 控製SEH 97
3.5.2 繞過SEH 98
3.5.3 基於SEH的滲透模塊 100
3.6 小結 102
第4章 滲透攻擊模塊的移植 103
4.1 移植一個用Perl語言編寫的模塊 103
4.1.1 分解現有滲透模塊 105
4.1.2 為滲透模塊創建一個骨骼框架 106
4.1.3 使用Immunity Debugger創建一個骨骼框架文件 107
4.1.4 值的填充 109
4.1.5 將ShellCode部分排除在外 110
4.1.6 滲透實驗 110
4.2 移植一個用Python語言編寫的滲透模塊 111
4.2.1 分解一個已有的模塊 111
4.2.2 收集必要信息 112
4.2.3 創建骨骼框架 112
4.2.4 填充值 113
4.2.5 使用滲透模塊進行試驗 114
4.3 移植一個基於Web的滲透模塊 115
4.3.1 分解一個現有滲透模塊 115
4.3.2 收集必要的信息 116
4.3.3 掌握重要的網絡函數 116
4.3.4 GET/POST方法的使用要點 118
4.3.5 製造一個輔助的滲透模塊 118
4.3.6 輔助滲透模塊的實驗 122
4.4 小結 123
第5章 服務測試技術的幕後揭秘 124
5.1 SCADA係統的基本原理 124
5.1.1 ICS的基本原理以及組成部分 124
5.1.2 ICS-SCADA安全的重要性 125
5.2 SCADA 125
5.2.1 測試SCADA的基本原理 125
5.2.2 基於SCADA的滲透模塊 127
5.3 使SCADA變得安全 128
5.3.1 實現SCADA的安全 129
5.3.2 對網絡進行約束 129
5.4 數據庫滲透 129
5.4.1 SQL Server 129
5.4.2 使用Nmap對SQL Server進行踩點 130
5.4.3 使用Metasploit的模塊進行掃描 131
5.4.4 暴力破解密碼 132
5.4.5 查找/捕獲服務器的口令 133
5.4.6 瀏覽SQL Server 134
5.4.7 後滲透/執行係統命令 136
5.5 VOIP滲透測試 137
5.5.1 VOIP的基本原理 137
5.5.2 對VOIP服務踩點 140
5.5.3 掃描VOIP服務 141
5.5.4 欺騙性的VOIP電話 142
5.5.5 對VOIP進行滲透 144
5.6 在蘋果設備上的後滲透模塊 145
5.7 小結 148
第6章 虛擬化測試的原因及階段 149
6.1 完成一次白盒滲透測試 149
6.1.1 與員工和最終用戶進行交流 150
6.1.2 收集信息 151
6.1.3 對威脅區域進行建模 158
6.1.4 針對係統易發高危漏洞 159
6.1.5 控製權限的獲取 160
6.1.6 掩蓋入侵痕跡 161
6.1.7 MagicTree的介紹 164
6.1.8 其他報告服務 166
6.2 生成人工報告 167
6.3 完成一次黑盒滲透測試 169
6.3.1 踩點工作 169
6.3.2 使用Metasploit完成一次黑盒測試 173
6.4 小結 182
第7章 復雜的客戶端攻擊 183
7.1 瀏覽器滲透攻擊 183
7.2 基於各種文件格式的滲透攻擊 187
7.2.1 基於PDF文件格式的滲透攻擊 187
7.2.2 基於Word文件格式的滲透攻擊 189
7.2.3 基於多媒體的滲透攻擊 191
7.3 對XAMPP服務器進行滲透攻擊 193
7.3.1 PHP腳本編寫的meterpreter 194
7.3.2 升級為係統級權限 194
7.4 對網站客戶端的滲透攻擊 195
7.4.1 惡意網頁腳本的注入 195
7.4.2 攻擊網站的用戶 195
7.5 繞過殺毒軟件的檢測 197
7.5.1 msfencode 197
7.5.2 msfvenom 199
7.5.3 使用編碼器的注意事項 201
7.6 與DNS欺騙的結閤使用 202
7.7 使用惡意包攻擊Linux 208
7.8 小結 210
第8章 社會工程工具包 211
8.1 社會工程工具包的基本原理 211
8.2 使用SET進行攻擊 213
8.2.1 創建一個攻擊載荷和監聽器 213
8.2.2 傳染性媒體生成器 216
8.2.3 網站攻擊嚮量 219
8.2.4 SET與第三方攻擊 227
8.3 更多的功能和更全麵的說明 231
8.3.1 SET的Web接口 232
8.3.2 自動化實施SET攻擊 233
8.4 小結 234
第9章 提高滲透測試的速度 235
9.1 自動化工具的介紹 235
9.2 Fast Track中的MS SQL攻擊嚮量 236
9.2.1 關於Fast Track的簡要介紹 236
9.2.2 被淘汰的Fast Track 240
9.2.3 在SET中復興的Fast Track 241
9.3 在Metasploit中的自動化滲透 241
9.3.1 再次啓用db_autopwn 242
9.3.2 對目標進行掃描 243
9.3.3 攻擊數據庫 244
9.4 使用DNS欺騙攻擊來實現假升級 246
9.4.1 Websploit的介紹 246
9.4.2 修復Websploit 248
9.4.3 使用Websploit在局域網中進行攻擊 248
9.5 小結 251
第10章 利用Armitage實現Metasploit的可視化管理 252
10.1 Armitage的基本原理 252
10.1.1 入門知識 253
10.1.2 用戶界麵一覽 254
10.1.3 工作區的管理 255
10.2 網絡掃描以及主機管理 256
10.2.1 漏洞的建模 258
10.2.2 查找匹配模塊 258
10.3 使用Armitage進行滲透 258
10.4 使用Armitage進行後滲透攻擊 260
10.5 使用Armitage進行客戶端攻擊 261
10.6 Armitage腳本編寫 265
10.6.1 Cortana的基礎知識 265
10.6.2 控製Metasploit 268
10.6.3 使用Cortana實現後滲透攻擊 269
10.6.4 使用Cortana創建自定義菜單 270
10.6.5 界麵的使用 273
10.7 小結 274
10.8 延伸閱讀 274
· · · · · · (
收起)