內網安全攻防 : 滲透測試實戰指南

徐焱,賈曉璐

買這商品的人也買了...

商品描述

本書由淺入深、全面、系統地介紹了內網攻擊手段和防禦方法,
並力求語言通俗易懂、舉例簡單明瞭、便於讀者閱讀領會。
同時結合具體案例進行講解,可以讓讀者身臨其境,
快速瞭解和掌握主流的內網漏洞利用技術與內網滲透測試技巧。

閱讀本書不要求讀者俱備滲透測試的相關背景;
如有相關經驗,理解起來會更容易。
本書亦可作為大專院校信息安全學科的教材。

作者簡介

徐焱

北京交通大學安全研究員,MS08067安全實驗室創始人。
從2002年開始接觸網絡安全,有豐富的滲透測試經驗,
主要研究方向為內網滲透測試和APT攻擊。
已出版圖書《網絡攻防實戰研究:漏洞利用與提權》、
《Web安全攻防:滲透測試實戰指南》,在《黑客防線》、
《黑客X檔案》、《黑客手冊》、FreeBuf、360安全客、
阿里雲盾先知、嘶吼等媒體發表過多篇技術文章。


賈曉璐

曾任國內某知名安全公司安全研究員,現為自由職業者。
MS08067安全實驗室、破曉安全團隊核心成員,目前主要研究方向為內網滲透測試。
從2012年開始接觸網絡安全,擅長滲透測試,沉迷於紅藍對抗(主要為Red Team方向)。

目錄大綱

第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