图书简介:
第1章 渗透测试技术基础 1
1.1 PTES中的渗透测试阶段 1
1.1.1 前期交互阶段 2
1.1.2 情报搜集阶段 2
1.1.3 威胁建模阶段 2
1.1.4 漏洞分析阶段 3
1.1.5 渗透攻击阶段 3
1.1.6 后渗透攻击阶段 3
1.1.7 报告阶段 4
1.2 渗透测试类型 4
1.2.1 白盒测试 5
1.2.2 黑盒测试 5
1.3 漏洞扫描器 5
1.4 安装Kali、Metasploit和Metasploitable 6
1.5 小结 6
第2章 Metasploit基础 7
2.1 专业术语 7
2.1.1 漏洞利用 8
2.1.2 攻击载荷 8
2.1.3 shellcode 8
2.1.4 模块 8
2.1.5 监听器 8
2.2 Metasploit用户接口 8
2.2.1 MSF终端 9
2.2.2 资源脚本 10
2.2.3 Armitage和Cobalt Strike 11
2.3 Metasploit功能程序 11
2.3.1 MSF攻击载荷生成器 11
2.3.2 NASM shell 13
2.4 Metasploit Pro 13
2.5 小结 14
第3章 情报搜集 15
3.1 被动信息搜集 16
3.1.1 Whois查询 16
3.1.2 Netcraft 17
3.1.3 DNS分析 18
3.2 主动信息搜集 18
3.2.1 使用Nmap进行端口扫描 18
3.2.2 使用Metasploit进行端口扫描 26
3.3 针对性扫描 27
3.3.1 服务器消息块协议扫描 27
3.3.2 搜寻配置不当的Microsoft SQL Server 28
3.3.3 S3存储桶扫描 30
3.3.4 SSH服务器扫描 30
3.3.5 FTP扫描 31
3.3.6 简单网络管理协议扫描 32
3.4 编写自己的扫描器 33
3.5 小结 35
第4章 漏洞扫描 36
4.1 基本的漏洞扫描 37
4.2 使用Nexpose进行扫描 38
4.2.1 配置 38
4.2.2 将扫描报告导入Metasploit中 40
4.2.3 在MSF终端运行Nexpose 41
4.3 使用Nessus进行扫描 42
4.3.1 配置Nessus 43
4.3.2 创建扫描 43
4.3.3 创建扫描策略 44
4.3.4 查看扫描报告 44
4.3.5 将扫描结果导入Metasploit中 45
4.3.6 在Metasploit内部使用Nessus进行扫描 46
4.4 专用漏洞扫描器 49
4.4.1 验证SMB登录 49
4.4.2 获取最新的漏洞扫描模块 50
4.5 小结 51
第5章 渗透攻击之旅 52
5.1 渗透攻击基础 52
5.2 查找渗透攻击模块 53
5.2.1 searchsploit 54
5.2.2 info 55
5.3 使用渗透攻击模块 57
5.3.1 show payloads 58
5.3.2 show targets 59
5.3.3 set和unset 59
5.3.4 setg和unsetg 60
5.3.5 save 60
5.3.6 exploit 60
5.4 渗透攻击Windows目标 61
5.5 渗透攻击Ubuntu目标 64
5.6 小结 66
第6章 Meterpreter 67
6.1 攻陷Windows 虚拟机 67
6.1.1 使用Nmap扫描端口 67
6.1.2 MySQL服务口令暴力破解 68
6.1.3 上传用户定义函数 69
6.2 Meterpreter基础命令 71
6.2.1 截屏 71
6.2.2 查找平台信息 71
6.2.3 按键记录 71
6.3 提取密码哈希值 73
6.4 传递哈希值 74
6.5 Mimikatz和Kiwi 75
6.6 权限提升 77
6.7 横向移动技术 80
6.7.1 令牌假冒 80
6.7.2 DCSync和黄金票据攻击 82
6.8 其他实用的Meterpreter命令 84
6.8.1 启用远程桌面服务 84
6.8.2 查看目标机器的所有流量 85
6.8.3 收集系统信息 85
6.8.4 建立持久化控制 86
6.9 使用Railgun调用Windows API 89
6.10 跳板攻击 90
6.11 小结 91
第7章 免杀技术 92
7.1 使用MSFvenom创建可独立运行的二进制文件 93
7.2 使用MSFvenom进行编码 94
7.3 为可执行文件加壳 97
7.4 自定义可执行文件模板 98
7.5 隐蔽启动载荷 99
7.6 绕过类模块 100
7.7 开发自定义载荷 102
7.8 从Python文件中生成可执行文件 105
7.9 小结 106
第8章 社会工程学 107
8.1 更新并配置SET 108
8.2 鱼叉式钓鱼攻击 109
8.2.1 设置邮件服务器 109
8.2.2 发送恶意邮件 110
8.2.3 使用Gophish钓鱼 112
8.3 Web攻击 113
8.3.1 收集用户名和密码 113
8.3.2 标签钓鱼 116
8.3.3 绕过双因素认证 117
8.4 介质感染攻击 118
8.5 小结 119
第9章 客户端渗透攻击 120
9.1 基于浏览器的渗透攻击 121
9.1.1 使用Metasploit查找漏洞利用代码 122
9.1.2 使用AutoPwn2自动化漏洞利用 124
9.1.3 寻找更新的漏洞利用 125
9.2 文件格式漏洞渗透攻击 126
9.2.1 利用Word文档漏洞 126
9.2.2 发送攻击载荷 127
9.3 小结 128
第10章 无线攻击 129
10.1 配置网卡 129
10.2 监控Wi-Fi流量 130
10.3 解除认证和拒绝服务攻击 131
10.4 捕获和破解握手包 133
10.5 邪恶双胞胎攻击 134
10.6 使用Metasploit嗅探流量 136
10.7 使用Wi-Fi Pineapple收集凭证 138
10.8 小结 141
第11章 Metasploit辅助模块 142
11.1 探索辅助模块 142
11.2 探索HTTP模块 145
11.3 创建一个辅助模块 146
11.3.1 编写模块 147
11.3.2 运行模块 149
11.3.3 调试模块 151
11.4 小结 151
第12章 将渗透代码移植到Metasploit中 152
12.1 汇编语言基础 153
12.1.1 EIP和ESP寄存器 153
12.1.2 JMP指令集 153
12.1.3 空指令和空指令滑行区 153
12.2 禁用保护 154
12.3 移植缓冲区溢出攻击代码 154
12.3.1 裁剪已有的渗透代码 156
12.3.2 构造渗透攻击过程 158
12.3.3 测试基础渗透代码 158
12.3.4 实现框架中的特性 159
12.3.5 增加随机化 160
12.3.6 移除空指令滑行区 161
12.3.7 移除伪造的shellcode 161
12.4 SEH覆盖渗透代码 164
12.5 小结 170
第13章 编写自己的模块 171
13.1 在MS SQL上执行命令 171
13.1.1 启用管理员级别的存储过程 172
13.1.2 运行模块 173
13.1.3 探究模块代码 174
13.2 创建新模块 176
13.2.1 编辑现有模块 176
13.2.2 运行 shell 漏洞利用程序 178
13.2.3 定义漏洞利用程序 178
13.2.4 上传 PowerShell 脚本 179
13.2.5 运行漏洞利用程序 182
13.3 小结 183
第14章 创建自己的渗透攻击模块 184
14.1 模糊测试的艺术 185
14.1.1 下载测试应用程序 185
14.1.2 编写模糊测试工具 185
14.1.3 检验模糊测试工具 187
14.1.4 控制结构化异常处理程序 189
14.2 绕过限制 191
14.2.1 获取返回地址 194
14.2.2 包含向后跳转和近跳转 196
14.2.3 添加载荷 197
14.3 坏字符与远程代码执行 198
14.4 小结 201
第15章 一次模拟的渗透测试 202
15.1 前期交互 202
15.2 情报搜集 203
15.3 威胁建模 204
15.4 渗透攻击 205
15.4.1 执行漏洞利用程序 206
15.4.2 建立持久化连接 207
15.5 后渗透攻击 207
15.5.1 扫描 Linux 系统 208
15.5.2 识别易受攻击的服务 210
15.6 攻击 Apache Tomcat 211
15.7 攻击小众服务 213
15.8 清除痕迹 215
15.9 小结 217
第16章 云渗透测试 219
16.1 云安全基础 219
16.1.1 身份和访问管理 220
16.1.2 无服务器函数 220
16.1.3 存储 222
16.1.4 Docker容器 223
16.2 设置云测试环境 224
16.3 容器接管 226
16.4 Docker容器逃逸 229
16.5 Kubernetes 231
16.6 小结 231
第17章 AI驱动的Metasploit自动化渗透测试 232
17.1 LLM与MCP简介 233
17.1.1 LLM工作机制简介 233
17.1.2 MCP简介 234
17.1.3 MetasploitMCP项目 234
17.2 在Kali Linux中搭建MetasploitMCP环境 235
17.2.1 准备环境 235
17.2.2 部署项目 236
17.2.3 配置环境变量 236
17.2.4 启动MetasploitMCP 236
17.3 配置MCP客户端实现AI交互 237
17.4 实战:AI 驱动的完整渗透测试流程 241
17.4.1 信息收集与漏洞探测 242
17.4.2 漏洞利用与会话建立 244
17.4.3 全自动渗透流程示例 248
17.5 安全考量与进阶 254
17.5.1 自动化渗透的风险 254
17.5.2 使用智能体 255
17.5.3 与知识库的联动集成 256
17.5.4 未来展望 257
附录A 配置实验室环境 258
附录B 速查表 263
展开