第 1章 红蓝对抗环境的构建 1
1.1 红队使用的攻击环境 1
1.2 蓝队使用的工作环境 2
1.3 蓝队的企业网络架构设计 4
1.3.1 二层网络A 4
1.3.2 三层网络B 5
1.4 构建红蓝对抗环境 6
1.4.1 二层网络A的实现 6
1.4.2 测试二层网络A的连通性 10
1.4.3 三层网络B的实现 13
1.4.4 设置静态IP地址 15
1.5 小结 18
1.5.1 本章关键内容 18
1.5.2 学习这些内容的目的 19
1.6 习题 19
第 2章 Kali Linux的常用命令 22
2.1 Kali Linux中的命令行和Shell 22
2.2 Kali Linux的文件系统 23
2.2.1 与目录相关的命令 24
2.2.2 目录查看与文件查找命令 25
2.2.3 文件的查看、创建及写入操作 27
2.2.4 Kali Linux中的文件执行 28
2.2.5 文件与目录的权限管理 30
2.3 Kali Linux的用户系统 35
2.3.1 用户账户 35
2.3.2 用户组 37
2.4 Kali Linux的进程管理 38
2.4.1 查看进程 38
2.4.2 查找进程 39
2.4.3 终止进程 40
2.4.4 后台进程管理 40
2.5 Kali Linux的Shell编程 41
2.6 小结 44
2.6.1 本章关键内容 44
2.6.2 学习这些内容的目的 45
2.7 习题 45
第3章 Kali Linux的加解密操作 48
3.1 经典加密算法 48
3.1.1 凯撒加密算法 48
3.1.2 普莱费尔加密算法 50
3.2 常见的编码方式 55
3.2.1 莫尔斯电码 55
3.2.2 ASCII 55
3.2.3 Base64 57
3.3 使用Hash算法保证文件的完整性 59
3.3.1 在Kali Linux中使用MD5保证文件的完整性 59
3.3.2 在Kali Linux中使用SHA- 256保证文件的完整性 61
3.4 Kali Linux的加解密操作 63
3.4.1 对称加密与解密 63
3.4.2 非对称加密与解密 65
3.5 小结 69
3.5.1 本章关键内容 69
3.5.2 学习这些内容的目的 69
3.6 习题 69
第4章 攻击面管理 72
4.1 资产探索 72
4.2 Nmap网络扫描工具的初级使用 73
4.2.1 Nmap的基本用法 74
4.2.2 使用Nmap对多台设备进行扫描 75
4.2.3 使用Nmap对设备端口进行扫描 75
4.2.4 对Metasploitable 2所在子网进行扫描 76
4.2.5 对Metasploitable 2所使用域名进行扫描 77
4.3 使用Nmap扫描目标系统和检测真实服务 79
4.3.1 使用Nmap扫描目标系统 79
4.3.2 使用Nmap检测真实服务 80
4.4 使用Nmap扫描漏洞 85
4.5 生成安全扫描报告 86
4.6 确立攻击面 89
4.6.1 网络资产攻击面 89
4.6.2 系统与应用攻击面 89
4.6.3 数据流攻击面 89
4.6.4 人员与管理攻击面 90
4.6.5 物理与环境攻击面 90
4.7 构建攻击树 92
4.8 小结 94
4.8.1 本章关键内容 94
4.8.2 学习这些内容的目的 95
4.9 习题 95
第5章 在线暴力破解密码技术 97
5.1 设备的远程管理 97
5.2 当前密码机制所面临的各种威胁 100
5.3 字典攻击和暴力破解 101
5.3.1 字典攻击 101
5.3.2 暴力破解 101
5.4 Kali Linux中的密码字典 101
5.5 Crunch的使用 102
5.6 密码策略 105
5.7 密码分析 106
5.8 Hydra的使用 108
5.8.1 同时对用户名和密码进行暴力破解 108
5.8.2 只对用户名或密码中的一项进行暴力破解 109
5.8.3 Hydra的使用技巧 109
5.9 用Hydra实现对SSH服务的字典攻击 110
5.10 防御暴力破解SSH服务密码 113
5.11 小结 117
5.11.1 本章关键内容 117
5.11.2 学习这些内容的目的 118
5.12 习题 118
第6章 本地破解Hash值 120
6.1 撞库攻击 120
6.2 将密码进行Hash算法处理 121
6.3 MD5值的破解 121
6.4 从目标数据库中窃取密码并破解 124
6.4.1 入侵MySQL数据库 125
6.4.2 将密文还原为明文 128
6.5 小结 130
6.5.1 本章关键内容 130
6.5.2 学习这些内容的目的 130
6.6 习题 131
第7章 供应链投毒 133
7.1 了解供应链投毒 133
7.2 供应链投毒示例 134
7.3 Metasploit的基础应用 138
7.3.1 Metasploit概述及启动方法 138
7.3.2 Metasploit中的常用模块 139
7.3.3 Metasploit的工作区 143
7.3.4 将Nmap生成的扫描文件导入Metasploit 145
7.4 从目标数据库中窃取密码并破解 146
7.5 小结 152
7.5.1 本章关键内容 152
7.5.2 学习这些内容的目的 152
7.6 习题 153
第8章 文件共享系统及漏洞利用 155
8.1 文件共享系统与技术概览 155
8.2 Samba客户端连接Samba服务器 158
8.3 利用Samba漏洞进行渗透测试 159
8.3.1 利用共享文件遍历漏洞 159
8.3.2 正向控制与反向控制对比 165
8.4 Samba服务防护 169
8.5 小结 173
8.5.1 本章关键内容 173
8.5.2 学习这些内容的目的 173
8.6 习题 173
第9章 服务器主页的篡改 176
9.1 VNC使用基础 176
9.2 使用Metasploit破解VNC密码 178
9.3 网页的编写 180
9.4 篡改服务器主页 183
9.5 复制页面 187
9.6 小结 194
9.6.1 本章关键内容 194
9.6.2 学习这些内容的目的 194
9.7 习题 194
第 10章 拒绝服务攻击 196
10.1 数据链路层的拒绝服务攻击 196
10.2 网络层的拒绝服务攻击 199
10.3 传输层的拒绝服务攻击 202
10.4 应用层的拒绝服务攻击 204
10.5 对Web服务器实施拒绝服务攻击 208
10.5.1 从传输层对Metasploitable 2发起拒绝服务攻击 208
10.5.2 从应用层对Metasploitable 2发起拒绝服务攻击 211
10.6 小结 216
10.6.1 本章关键内容 216
10.6.2 学习这些内容的目的 216
10.7 习题 216
第 11章 内网渗透技术 219
11.1 内网模拟环境的构建 219
11.2 UnrealIRCd漏洞的利用 223
11.3 Meterpreter的基础使用 226
11.4 小结 234
11.4.1 本章关键内容 234
11.4.2 学习这些内容的目的 234
11.5 习题 235
第 12章 提权技术 238
12.1 Linux系统中的用户权限 238
12.2 SUID的概念与提权 242
12.3 SearchSploit的使用 246
12.4 Metasploit中的提权操作 256
12.4.1 命令行提权 257
12.4.2 Meterpreter会话提权 259
12.5 小结 263
12.5.1 本章关键内容 263
12.5.2 学习这些内容的目的 263
12.6 习题 263
第 13章 持久化控制 267
13.1 利用SSH实现持久化控制 267
13.2 创建系统用户实现持久化控制 271
13.3 利用.bashrc实现持久化控制 273
13.4 利用PHP实现持久化控制 276
13.5 利用Cron实现持久化控制 281
13.6 小结 288
13.6.1 本章关键内容 288
13.6.2 学习这些内容的目的 288
13.7 习题 288