第 1章 赛前准备—安装 1
1.1 假定突破目标演习 2
1.2 规划红队行动 3
1.3 搭建外部服务器 4
1.4 工具展示 6
1.4.1 Metasploit框架 7
1.4.2 Cobalt Strike 8
1.4.3 PowerShell Empire 10
1.4.4 dnscat2 14
1.4.5 p0wnedShell 20
1.4.6 Pupy Shell 21
1.4.7 PoshC2 21
1.4.8 Merlin 21
1.4.9 Nishang 21
1.5 结论 22
第 2章 发球前—红队侦察 23
2.1 监控环境 23
2.1.1 常规Nmap扫描结果比较 24
2.1.2 网站截图 25
2.1.3 云扫描 27
2.1.4 网络/服务搜索引擎 28
2.1.5 人工解析SSL证书 29
2.1.6 子域名发现 31
2.1.7 GitHub 35
2.1.8 云 37
2.1.9 电子邮件 41
2.2 其他开源资源 43
2.3 结论 43
第3章 抛传—网站应用程序漏洞利用 45
3.1 漏洞悬赏项目 46
3.2 Web攻击简介—网络空间猫 48
3.2.1 红队网站应用程序攻击 49
3.2.2 聊天支持系统实验 49
3.3 网络空间猫公司:聊天支持系统 51
3.3.1 搭建您的网站应用程序攻击主机 51
3.3.2 分析网站应用程序 52
3.3.3 网络发现 52
3.3.4 跨站脚本(XSS) 54
3.3.5 BeEF 56
3.3.6 盲XSS 59
3.3.7 基于文档对象模型的跨站脚本攻击 60
3.3.8 Node.js中的高级跨站脚本攻击 62
3.3.9 从XSS漏洞到突破目标 69
3.3.10 NoSQL数据库注入 69
3.3.11 反序列化攻击 74
3.3.12 模板引擎攻击—模板注入 78
3.3.13 JavaScript和远程代码执行 88
3.3.14 服务器端请求伪造(SSRF) 91
3.3.15 XML eXternal Entities(XXE) 96
3.3.16 高级XXE—带外(XXE-OOB) 98
3.4 结论 100
第4章 带球—突破网络 101
4.1 从网络外部查找凭证 102
高级实验 106
4.2 在网络中移动 106
设置环境—实验网络 106
4.3 在没有凭证的网络上 108
4.3.1 Responder 108
4.3.2 更好的Responder(MultiRelay.py) 111
4.3.3 PowerShell Responder 112
4.4 没有凭证的用户枚举 112
4.5 使用CrackMapExec(CME)扫描网络 113
4.6 突破第 一台主机 115
4.7 权限提升 117
4.7.1 权限提升实验 121
4.7.2 从内存中提取明文文本凭证 122
4.7.3 从Windows凭证存储中心和浏览器中获取密码 125
4.7.4 从macOS中获取本地凭证和信息 128
4.8 工作在Windows域环境中 130
4.8.1 服务主体名称(SPN) 131
4.8.2 查询活动目录 132
4.8.3 Bloodhound/Sharphound 136
4.8.4 横向移动—进程迁移 142
4.8.5 从您最初突破的主机开始横向移动 143
4.8.6 使用DCOM横向移动 146
4.8.7 传递散列 149
4.8.8 从服务账户获取凭证 151
4.9 转储域控制器散列 154
4.10 在虚拟专用服务器上基于远程桌面进行横向迁移 156
4.11 在Linux中实现迁移 158
4.12 权限提升 159
4.13 Linux横向迁移实验室 162
攻击CSK安全网络 163
4.14 结论 175
第5章 助攻—社会工程学 177
5.1 开展社会工程(SE)行动 177
5.1.1 近似域名 178
5.1.2 如何复制身份验证页面 178
5.1.3 双因子凭证 179
5.2 网络钓鱼 181
5.2.1 Microsoft Word/Excel宏文件 182
5.2.2 非宏Office文件—DDE 186
5.2.3 隐藏的加密静荷 187
5.3 内部Jenkins漏洞和社会工程攻击结合 188
5.4 结论 193
第6章 短传—物理访问攻击 195
6.1 复制读卡器 196
6.2 绕过进入点的物理工具 197
LAN Turtle 197
6.3 Packet Squirrel 205
6.4 Bash Bunny 206
6.4.1 突破进入CSK公司 206
6.4.2 QuickCreds 209
6.4.3 BunnyTap 209
6.5 WiFi 210
6.6 结论 212
第7章 四分卫突破—规避杀毒软件检测 215
7.1 为红队行动编写代码 215
7.2 构建键盘记录器 216
7.2.1 设置您的环境 216
7.2.2 从源代码开始编译 216
7.2.3 示例框架 217
7.2.4 混淆 220
7.3 黑客秘笈定制的放置工具 222
7.3.1 shellcode与DLL 223
7.3.2 运行服务器 223
7.3.3 客户端 224
7.3.4 配置客户端和服务器 225
7.3.5 添加新的处理程序 225
7.3.6 进一步的练习 226
7.4 重新编译Metasploit/Meterpreter规避杀毒软件和网络检测 226
7.4.1 如何在Windows中构建Metasploit/Meterpreter 228
7.4.2 创建修改后的Stage 0静荷 229
7.5 SharpShooter 231
7.6 应用程序白名单规避 233
7.7 代码洞穴 235
7.8 PowerShell混淆 236
7.9 没有PowerShell的PowerShell 240
7.10 HideMyPS 241
7.11 结论 242
第8章 特勤组—破解、利用和技巧 243
8.1 自动化 243
8.1.1 使用RC脚本自动化Metasploit 244
8.1.2 Empire自动化 245
8.1.3 Cobalt Strike自动化 246
8.1.4 自动化的未来 246
8.2 密码破解 246
8.3 彻底破解全部—尽您所能快速破解 250
破解Cyber SpaceKittens NTLM散列 250
8.4 创造性的行动 254
8.5 禁用PS记录 255
8.6 在Windows中使用命令行从Internet下载文件 255
8.7 从本地管理员获取系统权限 256
8.8 在不触及LSASS的情况下获取NTLM散列值 257
8.9 使用防御工具构建培训实验室和监控平台 257
8.10 结论 258
第9章 两分钟的操练—从零变成英雄 259
9.1 10码线 259
9.2 20码线 260
9.3 30码线 260
9.4 40码线 261
9.5 50码线 261
9.6 60码线 262
9.7 70码线 262
9.8 80码线 263
9.9 90码线 263
第 10章 赛后—分析报告 265
第 11章 继续教育 269
致谢 271