第1章 內網滲透測試基礎
1.1 內網基礎知識 1
1.1.1 工作組 1
1.1.2 域 2
1.1.3 活動目錄 5
1.1.4 域控製器和活動目錄的區彆 6
1.1.5 安全域的劃分 6
1.1.6 域中計算機的分類 7
1.1.7 域內權限解讀 8
1.2 主機平颱及常用工具 12
1.2.1 虛擬機的安裝 12
1.2.2 Kali Linux滲透測試平颱及常用工具 13
1.2.3 Windows滲透測試平颱及常用工具 15
1.2.4 Windows PowerShell基礎 16
1.2.5 PowerShell的基本概念 17
1.2.6 PowerShell的常用命令 18
1.3 構建內網環境 23
1.3.1 搭建域環境 23
1.3.2 搭建其他服務器環境 31
第2章 內網信息收集
2.1 內網信息收集概述 33
2.2 收集本機信息 33
2.2.1 手動收集信息 33
2.2.2 自動收集信息 44
2.2.3 Empire下的主機信息收集 45
2.3 查詢當前權限 46
2.4 判斷是否存在域 47
2.5 探測域內存活主機 50
2.5.1 利用NetBIOS快速探測內網 50
2.5.2 利用ICMP協議快速探測內網 51
2.5.3 通過ARP掃描探測內網 52
2.5.4 通過常規TCP/UDP端口掃描探測內網 53
2.6 掃描域內端口 54
2.6.1 利用telnet命令進行掃描 54
2.6.2 S掃描器 55
2.6.3 Metasploit端口掃描 55
2.6.4 PowerSploit的Invoke-portscan.ps1腳本 56
2.6.5 Nishang的Invoke-PortScan模塊 56
2.6.6 端口Banner信息 57
2.7 收集域內基礎信息 59
2.8 查找域控製器 61
2.9 獲取域內的用戶和管理員信息 63
2.9.1 查詢所有域用戶列錶 63
2.9.2 查詢域管理員用戶組 65
2.10 定位域管理員 65
2.10.1 域管理員定位概述 65
2.10.2 常用域管理員定位工具 66
2.11 查找域管理進程 70
2.11.1 本機檢查 70
2.11.2 查詢域控製器的域用戶會話 71
2.11.3 查詢遠程係統中運行的任務 73
2.11.4 掃描遠程係統的NetBIOS信息 73
2.12 域管理員模擬方法簡介 74
2.13 利用PowerShell收集域信息 74
2.14 域分析工具BloodHound 76
2.14.1 配置環境 76
2.14.2 采集數據 80
2.14.3 導入數據 81
2.14.4 查詢信息 82
2.15 敏感數據的防護 87
2.15.1 資料、數據、文件的定位流程 87
2.15.2 重點核心業務機器及敏感信息防護 87
2.15.3 應用與文件形式信息的防護 88
2.16 分析域內網段劃分情況及拓撲結構 88
2.16.1 基本架構 89
2.16.2 域內網段劃分 89
2.16.3 多層域結構 90
2.16.4 繪製內網拓撲圖 90
第3章 隱藏通信隧道技術
3.1 隱藏通信隧道基礎知識 91
3.1.1 隱藏通信隧道概述 91
3.1.2 判斷內網的連通性 91
3.2 網絡層隧道技術 94
3.2.1 IPv6隧道 94
3.2.2 ICMP隧道 96
3.3 傳輸層隧道技術 103
3.3.1 lcx端口轉發 104
3.3.2 netcat 104
3.3.3 PowerCat 115
3.4 應用層隧道技術 123
3.4.1 SSH協議 123
3.4.2 HTTP/HTTPS協議 129
3.4.3 DNS協議 131
3.5 SOCKS代理 146
3.5.1 常用SOCKS代理工具 146
3.5.2 SOCKS代理技術在網絡環境中的應用 148
3.6 壓縮數據 159
3.6.1 RAR 160
3.6.2 7-Zip 162
3.7 上傳和下載 164
3.7.1 利用FTP協議上傳 164
3.7.2 利用VBS上傳 164
3.7.3 利用Debug上傳 165
3.7.4 利用Nishang上傳 167
3.7.5 利用bitsadmin下載 167
3.7.6 利用PowerShell下載 168
第4章 權限提升分析及防禦
4.1 係統內核溢齣漏洞提權分析及防範 169
4.1.1 通過手動執行命令發現缺失補丁 170
4.1.2 利用Metasploit發現缺失補丁 174
4.1.3 Windows Exploit Suggester 174
4.1.4 PowerShell中的Sherlock腳本 176
4.2 Windows操作係統配置錯誤利用分析及防範 178
4.2.1 係統服務權限配置錯誤 178
4.2.2 注冊錶鍵AlwaysInstallElevated 181
4.2.3 可信任服務路徑漏洞 184
4.2.4 自動安裝配置文件 186
4.2.5 計劃任務 188
4.2.6 Empire內置模塊 189
4.3 組策略首選項提權分析及防範 190
4.3.1 組策略首選項提權簡介 190
4.3.2 組策略首選項提權分析 191
4.3.3 針對組策略首選項提權的防禦措施 195
4.4 繞過UAC提權分析及防範 195
4.4.1 UAC簡介 195
4.4.2 bypassuac模塊 196
4.4.3 RunAs模塊 197
4.4.4 Nishang中的Invoke-PsUACme模塊 199
4.4.5 Empire中的bypassuac模塊 200
4.4.6 針對繞過UAC提權的防禦措施 201
4.5 令牌竊取分析及防範 201
4.5.1 令牌竊取 202
4.5.2 Rotten Potato本地提權分析 203
4.5.3 添加域管理員 204
4.5.4 Empire下的令牌竊取分析 205
4.5.5 針對令牌竊取提權的防禦措施 207
4.6 無憑證條件下的權限獲取分析及防範 207
4.6.1 LLMNR和NetBIOS欺騙攻擊的基本概念 207
4.6.2 LLMNR和NetBIOS欺騙攻擊分析 208
第5章 域內橫嚮移動分析及防禦
5.1 常用Windows遠程連接和相關命令 211
5.1.1 IPC 211
5.1.2 使用Windows自帶的工具獲取遠程主機信息 213
5.1.3 計劃任務 213
5.2 Windows係統散列值獲取分析與防範 216
5.2.1 LM Hash和NTLM Hash 216
5.2.2 單機密碼抓取與防範 217
5.2.3 使用Hashcat獲取密碼 224
5.2.4 如何防範攻擊者抓取明文密碼和散列值 228
5.3 哈希傳遞攻擊分析與防範 231
5.3.1 哈希傳遞攻擊的概念 231
5.3.2 哈希傳遞攻擊分析 232
5.3.3 更新KB2871997補丁産生的影響 234
5.4 票據傳遞攻擊分析與防範 235
5.4.1 使用mimikatz進行票據傳遞 235
5.4.2 使用kekeo進行票據傳遞 236
5.4.3 如何防範票據傳遞攻擊 238
5.5 PsExec的使用 238
5.5.1 PsTools工具包中的PsExec 238
5.5.2 Metasploit中的psexec模塊 240
5.6 WMI的使用 242
5.6.1 基本命令 243
5.6.2 impacket工具包中的wmiexec 244
5.6.3 wmiexec.vbs 244
5.6.4 Invoke-WmiCommand 245
5.6.5 Invoke-WMIMethod 246
5.7 永恒之藍漏洞分析與防範 247
5.8 smbexec的使用 250
5.8.1 C++ 版smbexec 250
5.8.2 impacket工具包中的smbexec.py 251
5.8.3 Linux跨Windows遠程執行命令 252
5.9 DCOM在遠程係統中的使用 258
5.9.1 通過本地DCOM執行命令 259
5.9.2 使用DCOM在遠程機器上執行命令 260
5.10 SPN在域環境中的應用 262
5.10.1 SPN掃描 262
5.10.2 Kerberoast攻擊分析與防範 266
5.11 Exchange郵件服務器安全防範 270
5.11.1 Exchange郵件服務器介紹 270
5.11.2 Exchange服務發現 272
5.11.3 Exchange的基本操作 274
5.11.4 導齣指定的電子郵件 276
第6章 域控製器安全
6.1 使用捲影拷貝服務提取ntds.dit 282
6.1.1 通過ntdsutil.exe提取ntds.dit 282
6.1.2 利用vssadmin提取ntds.dit 284
6.1.3 利用vssown.vbs腳本提取ntds.dit 285
6.1.4 使用ntdsutil的IFM創建捲影拷貝 287
6.1.5 使用diskshadow導齣ntds.dit 288
6.1.6 監控捲影拷貝服務的使用情況 291
6.2 導齣NTDS.DIT中的散列值 292
6.2.1 使用esedbexport恢復ntds.dit 292
6.2.2 使用impacket工具包導齣散列值 295
6.2.3 在Windows下解析ntds.dit並導齣域賬號和域散列值 296
6.3 利用dcsync獲取域散列值 296
6.3.1 使用mimikatz轉儲域散列值 296
6.3.2 使用dcsync獲取域賬號和域散列值 298
6.4 使用Metasploit獲取域散列值 298
6.5 使用vshadow.exe和quarkspwdump.exe導齣域賬號和域散列值 301
6.6 Kerberos域用戶提權漏洞分析與防範 302
6.6.1 測試環境 303
6.6.2 PyKEK工具包 303
6.6.3 goldenPac.py 307
6.6.4 在Metasploit中進行測試 308
6.6.5 防範建議 310
第7章 跨域攻擊分析及防禦
7.1 跨域攻擊方法分析 311
7.2 利用域信任關係的跨域攻擊分析 311
7.2.1 域信任關係簡介 311
7.2.2 獲取域信息 312
7.2.3 利用域信任密鑰獲取目標域的權限 315
7.2.4 利用krbtgt散列值獲取目標域的權限 318
7.2.5 外部信任和林信任 321
7.2.6 利用無約束委派和MS-RPRN獲取信任林權限 323
7.3 防範跨域攻擊 327
第8章 權限維持分析及防禦
8.1 操作係統後門分析與防範 328
8.1.1 粘滯鍵後門 328
8.1.2 注冊錶注入後門 330
8.1.3 計劃任務後門 331
8.1.4 meterpreter後門 335
8.1.5 Cymothoa後門 335
8.1.6 WMI型後門 336
8.2 Web後門分析與防範 339
8.2.1 Nishang下的WebShell 339
8.2.2 weevely後門 340
8.2.3 webacoo後門 344
8.2.4 ASPX meterpreter後門 347
8.2.5 PHP meterpreter後門 347
8.3 域控製器權限持久化分析與防範 347
8.3.1 DSRM域後門 347
8.3.2 SSP維持域控權限 352
8.3.3 SID History域後門 354
8.3.4 Golden Ticket 356
8.3.5 Silver Ticket 362
8.3.6 Skeleton Key 367
8.3.7 Hook PasswordChangeNotify 370
8.4 Nishang下的腳本後門分析與防範 371
第9章 Cobalt Strike
9.1 安裝Cobalt Strike 374
9.1.1 安裝Java運行環境 374
9.1.2 部署TeamServer 376
9.2 啓動Cobalt Strike 378
9.2.1 啓動cobaltstrike.jar 378
9.2.2 利用Cobalt Strike獲取第一個Beacon 379
9.3 Cobalt Strike模塊詳解 384
9.3.1 Cobalt Strike模塊 384
9.3.2 View模塊 384
9.3.3 Attacks模塊 385
9.3.4 Reporting模塊 386
9.4 Cobalt Strike功能詳解 387
9.4.1 監聽模塊 387
9.4.2 監聽器的創建與使用 389
9.4.3 Delivery模塊 391
9.4.4 Manage模塊 392
9.4.5 Payload模塊 393
9.4.6 後滲透測試模塊 395
9.5 Cobalt Strike的常用命令 403
9.5.1 Cobalt Strike的基本命令 403
9.5.2 Beacon的常用操作命令 404
9.6 Aggressor腳本的編寫 415
9.6.1 Aggressor腳本簡介 415
9.6.2 Aggressor-Script語言基礎 415
9.6.3 加載Aggressor腳本 418
跋 419
· · · · · · (
收起)