Contents目 录
前 言
第1章 内网渗透测试基础 1
1.1 工作组 1
1.2 域 2
1.3 活动目录 3
1.4 域树和域森林 4
1.5 常规安全域划分 6
第2章 基于入侵生命周期的攻击
流程设计 8
2.1 网络杀伤链、ATT&CK及NTCTF 8
2.2 入侵生命周期 11
第3章 环境准备与常用工具 13
3.1 基础环境:VMware与
Kali Linux 13
3.2 端口扫描及服务发现类工具 14
3.2.1 Nmap 14
3.2.2 Zenmap 15
3.3 流量捕获工具:Burp Suite 16
3.4 爆破类工具 23
3.4.1 DirBuster 23
3.4.2 超级弱口令检查工具 24
3.4.3 dirsearch 25
3.4.4 JWTPyCrack 26
3.4.5 tgsrepcrack 27
3.5 Web漏洞检测及利用类工具 27
3.5.1 WeblogicScanner 27
3.5.2 Struts 2 28
3.5.3 TPscan 29
3.5.4 TongdaOA-exp 30
3.5.5 laravel-CVE-2021-3129-EXP 30
3.6 webshell管理类工具 31
3.6.1 冰蝎3 31
3.6.2 中国蚁剑 35
3.6.3 哥斯拉 37
3.6.4 Gomoon 40
3.7 数据库管理工具 41
3.7.1 Navicat 41
3.7.2 Redis Desktop Manager 44
3.7.3 Multiple Database Utilization
Tools 45
3.7.4 SQLTools 49
3.8 字典类工具fuzzDicts 49
3.9 网络代理类工具Proxif?ier 50
3.10 内网渗透综合类工具 54
3.10.1 Cobalt Strike 54
3.10.2 Metasploit 65
3.10.3 Railgun 72
3.10.4 Mimikatz 76
第4章 Vulnstack1:利用域账号
实现权限扩散 81
4.1 环境简介与环境搭建 82
4.2 探索发现阶段 84
4.2.1 使用Nmap对靶场入口IP
进行端口扫描及服务探测 84
4.2.2 识别80端口的Web应用
框架及版本 84
4.3 入侵和感染阶段 86
4.3.1 对Web服务进行目录扫描 87
4.3.2 利用phpMyAdmin日志文件
获取Web服务器权限 89
4.4 攻击和利用阶段:Web服务器
进程注入与提权 97
4.5 探索感知阶段 100
4.5.1 收集内网域服务器信息 100
4.5.2 抓取哈希及转储明文密码 101
4.6 传播阶段 101
4.6.1 使用PsExec建立IPC通道,
上线域控服务器 102
4.6.2 使用PsExec建立IPC通道,
上线域成员服务器 104
4.7 持久化和恢复阶段 104
4.7.1 通过Cobalt Strike持久化控制
服务器 105
4.7.2 恢复阶段的攻击 106
4.8 实践知识点总结 106
第5章 Vulnstack2:攻防中的
杀软对抗 108
5.1 环境简介与环境搭建 108
5.2 探索发现阶段 112
5.3 入侵和感染阶段 115
5.3.1 对WebLogic服务进行批量
漏洞扫描 115
5.3.2 利用反序列化漏洞攻击
WebLogic 116
5.4 攻击和利用阶段 119
5.4.1 利用cmd webshell写入
冰蝎马 119
5.4.2 通过冰蝎3将WebLogic
服务器上线到Metasploit 123
5.4.3 绕过360安全卫士,将
WebLogic服务器上线到
Cobalt Strike 125
5.4.4 绕过360安全卫士,对
WebLogic服务器进行提权 128
5.4.5 将WebLogic服务器的
Metasploit会话传递到
Cobalt Strike 132
5.4.6 抓取WebLogic服务器上的
操作系统凭证 133
5.4.7 通过3389端口RDP登录
WebLogic服务器 135
5.5 探索感知阶段 135
5.6 传播阶段 136
5.6.1 利用Zerologon漏洞攻击
域控服务器 136
5.6.2 使用PsExec将域控服务器
上线到Cobalt Strike 138
5.6.3 使用PsExec将域内主机上线
到Cobalt Strike 140
5.7 持久化和恢复阶段 142
5.7.1 通过Cobalt Strike持久化
控制服务器 142
5.7.2 恢复阶段的攻击 143
5.8 实践知识点总结 143
第6章 Vulnstack3:利用PTH
攻击获取域控权限 144
6.1 环境简介与环境搭建 145
6.2 探索发现阶段 147
6.2.1 使用Nmap对靶场入口IP
进行端口扫描及服务探测 147
6.2.2 识别80端口的Web应用
框架及版本 148
6.3 入侵和感染阶段 149
6.3.1 SSH应用服务攻击 149
6.3.2 MySQL应用服务攻击 149
6.3.3 Joomla应用攻击 154
6.4 攻击和利用阶段 163
6.4.1 查找Linux服务器敏感
文件 163
6.4.2 Linux服务器提权 164
6.4.3 Linux服务器上线MSF 167
6.5 探索感知阶段 169
6.5.1 利用MSF配置内网路由 169
6.5.2 探测内网网段存活主机 170
6.6 传播阶段 172
6.6.1 利用SMB爆破攻击内网
Windows服务器 172
6.6.2 利用Zerologon攻击域控
服务器 174
6.6.3 利用PTH攻击域控服务器 177
6.6.4 利用PTH攻击域内主机 177
6.7 持久化和恢复阶段 179
6.7.1 通过定时任务持久化控制
Linux服务器 179
6.7.2 恢复阶段的攻击 179
6.8 实践知识点总结 180
第7章 Vulnstack4:Docker
逃逸突破边界 181
7.1 环境简介与环境搭建 182
7.2 探索发现阶段 185
7.2.1 使用Nmap对靶场入口IP
进行端口扫描及服务探测 186
7.2.2 识别2001端口的Web
应用框架及版本 187
7.2.3 识别2002端口的Web
应用框架及版本 187
7.2.4 识别2003端口的Web
应用框架及版本 189
7.3 入侵和感染阶段 190
7.3.1 使用Struts 2漏洞检测工具
对Web应用进行漏洞测试 190
7.3.2 使用Tomcat框架漏洞对Web
应用进行漏洞测试 194
7.3.3 使用phpMyAdmin应用漏洞
对Web应用进行漏洞测试 197
7.4 攻击和利用阶段 202
7.4.1 Struts 2 应用服务器环境
识别 202
7.4.2 Struts 2应用Docker服务器
逃逸 203
7.4.3 Tomcat应用服务器环境
识别 205
7.4.4 Tomcat应用Docker服务器
逃逸 205
7.4.5 phpMyAdmin应用服务器
环境识别 212
7.4.6 phpMyAdmin应用服务器
权限提升 213
7.4.7 利用MSF配置内网代理 215
7.5 探索感知阶段 219
7.6 传播阶段 221
7.6.1 利用MSF对Windows
服务器445端口的SMB
服务进行漏洞检测 221
7.6.2 利用smart_hashdump获取
内网Windows服务器密码
哈希 222
7.6.3 利用PTH攻击域内服务器 224
7.7 持久化和恢复阶段 225
7.7.1 通过定时任务持久化控制
服务器 225
7.7.2 恢复阶段的攻击 227
7.8 实践知识点总结 228
第8章 Vulnstack5:使用PsExec对
不出网的域控服务器进行横
向渗透及上线 229
8.1 环境简介与环境搭建 229
8.2 探索发现阶段:利用GUI扫描
工具进行端口扫描 232
8.3 入侵和感染阶段 233
8.3.1 对ThinkPHP V5.0框架服务
进行批量漏洞扫描 233
8.3.2 利用ThinkPHP V5.0 RCE
漏洞攻击Web服务器 233
8.3.3 对MySQL数据库服务进行
弱口令爆破攻击 235
8.4 攻击和利用阶段 236
8.4.1 利用cmd webshell传输
Cobalt Strike上线木马 236
8.4.2 抓取Web服务器上的操作
系统凭证 241
8.5 探索感知和传播阶段 242
8.5.1 使用Cobalt Strike对内网段
进行扫描 242
8.5.2 使用PsExec将域控服务器
上线到Cobalt Strike 245
8.6 持久化和恢复阶段 251
8.6.1 通过Cobalt Strike持久化
控制服务器 251
8.6.2 清除攻击日志 255
8.7 实践知识点总结 260
第9章 Vulnstack6:利用Zerologon
漏洞获得域控权限 261
9.1 环境简介与环境搭建 261
9.2 探索发现阶段:利用GUI扫描
工具进行服务扫描 264
9.3 入侵和感染阶段 265
9.3.1 对Web服务进行目录扫描 265
9.3.2 Typecho CMS反序列化漏洞
测试 268
9.3.3 Typecho CMS弱口令漏洞
测试 268
9.3.4 通过phpStudy Nginx解析
漏洞攻击Typecho服务器 271
9.4 攻击和利用阶段 274
9.4.1 通过MS16-075漏洞对Typecho
服务器进行提权测试 274
9.4.2 获取Typecho服务器的系统
凭证 275
9.4.3 通过Cobalt Strike构建内网
代理 276
9.5 探索感知阶段 277
9.5.1 利用Cobalt Strike对已知
内网段进行探测 277
9.5.2 使用工具代理对已知内网段
进行探测 278
9.6 传播阶段 280
9.6.1 域控服务器Zerologon漏洞
测试 280
9.6.2 通过PTH将域控服务器上
线到Cobalt Strike 286
9.7 持久化和恢复阶段 288
9.7.1 通过启动项设置持久化控制
Windows服务器 288
9.7.2 恢复阶段的攻击 288
9.8 实践知识点总结 288
第10章 Vulnstack7:利用不同
服务漏洞突破多层内网 289
10.1 环境简介与环境搭建 290
10.2 探索发现阶段 292
10.2.1 对目标服务器进行端口
扫描 292
10.2.2 识别81端口的Web应用
框架及版本 293
10.3 入侵和感染阶段 294
10.3.1 利用Laravel RCE漏洞攻击
服务器81端口 295
10.3.2 利用Redis未授权访问漏洞
攻击服务器6379端口 298
10.4 攻击和利用阶段 302
10.4.1 Laravel服务器环境识别 303
10.4.2 Laravel Docker服务器权限
提升 304
10.4.3 Laravel Docker服务器
逃逸 305
10.4.4 利用MSF搭建内网路由 306
10.5 探索感知阶段 311
10.5.1 通过内网代理对内网服务器
进行端口扫描 311
10.5.2 识别内网服务器8080端口
的Web应用框架及版本 312
10.6 传播阶段 313
10.6.1 利用通达OA漏洞攻击
内网服务器8080端口的
Web应用 313
10.6.2 利用MS17-010漏洞攻击
内网服务器445端口的
SMB服务 317
10.6.3 利用Mimikatz获取内网
Windows服务器密码 318
10.6.4 利用PTH攻击域控
服务器 319
10.7 持久化和恢复阶段 323
10.7.1 通过Metasploit持久化控制
服务器 323
10.7.2 通过Cobalt Strike持久化
控制服务器 323
10.7.3 恢复阶段的攻击 324
10.8 实践知识点总结 324
第11章 暗月ack123:通过SPN
攻击获取域控权限 326
11.1 环境简介与环境搭建 327
11.2 探索发现阶段:使用Nmap
进行服务扫描 331
11.3 入侵和感染阶段 333
11.3.1 对Web服务进行目录
扫描 333
11.3.2 使用UEditor编辑器漏洞
攻击Web服务器 335
11.4 攻击和利用阶段 338
11.4.1 绕过360全家桶,将Web
服务器上线到Cobalt Strike 339
11.4.2 绕过360全家桶,对Web
服务器进行提权攻击 341
11.4.3 将Metasploit会话传递到
Cobalt Strike 345
11.4.4 通过Cobalt Strike或
Metasploit构建内网
代理 346
11.5 探索感知阶段 347
11.5.1 搜集Web服务器敏感文件
信息 347
11.5.2 使用工具代理对已知内网段
进行探测 349
11.6 传播阶段 350
11.6.1 通过MSSQL提升系统
权限 351
11.6.2 绕过火绒,将MSSQL服务
器上线到Cobalt Strike 353
11.6.3 利用MS16-075漏洞对MSSQL
服务器进行提权 354
11.6.4 对Web服务器2进行
JWT token爆破攻击 355
11.6.5 通过phpMyAdmin对Web
服务器2进行getshell操作 358
11.6.6 将不出网的Web服务器2
上线到Cobalt Strike 362
11.6.7 通过Cobalt Strike进程注入
获取Web服务器2的域用户
会话 364
11.6.8 收集域网段信息及定位域控
服务器 365
11.6.9 使用SPN攻击获取域控
服务器权限 368
11.7 持久化和恢复阶段 372
11.7.1 通过Cobalt Strike持久化
控制服务器 372
11.7.2 恢复阶段的攻击 373
11.8 实践知识点总结 373
第12章 Vulnstack8:挑战多层
代理下的域渗透 375
12.1 环境简介与环境搭建 376
12.2 攻击实战 377
12.2.1 攻击第一层主机 377
12.2.2 攻击其他层主机 378
12.3 实践知识点总结 379