第1章 渗透测试概览 1
1.1 什么是渗透测试 1
1.1.1 审计 2
1.1.2 漏洞扫描 2
1.1.3 渗透测试 2
1.1.4 混合测试 3
1.2 术语 3
1.3 方法论 4
1.3.1 测试本质 4
1.3.2 方法 6
1.4 道德问题 7
1.4.1 一切皆为机密 8
1.4.2 不要跨越底线 8
1.4.3 保护客户系统 9
1.5 法律问题 9
1.5.1 计算机欺诈和滥用法案:美国法典第18卷第1030条 9
1.5.2 非法访问存储的通信:美国法典第18卷第2071条 10
1.5.3 身份盗窃惩罚及赔偿法案 10
1.5.4 访问设备欺诈及相关行为:美国法典第18卷第1029条 10
1.5.5 州法律 10
1.5.6 国际法 10
1.6 认证 12
1.6.1 CEH 12
1.6.2 GPEN 13
1.6.3 OSCP 13
1.6.4 Mile2 13
1.6.5 CISSP 14
1.6.6 PPT 14
1.6.7 本书与认证 14
1.7 渗透测试职业 15
1.7.1 安全管理员 15
1.7.2 商业渗透测试 15
1.7.3 政府/国防 15
1.7.4 执法人员 16
1.8 构建自我技能 16
1.9 小结 16
1.10 技能自测 17
1.10.1 多项选择题 17
1.10.2 作业 18
第2章 标准 19
2.1 PCI DSS 19
2.2 NIST 800-115 21
2.2.1 规划阶段 21
2.2.2 执行阶段 22
2.2.3 后执行阶段 23
2.3 美国国家安全局信息安全评估方法 23
2.4 PTES 24
2.5 CREST(英国) 25
2.6 综合(整合标准为统一方法) 26
2.6.1 预参与阶段 26
2.6.2 实际测试阶段 27
2.6.3 报告阶段 28
2.7 相关标准 30
2.8 其他标准 30
2.8.1 ISO 27002 30
2.8.2 NIST 800-12(修订版1) 31
2.8.3 NIST 800-14 31
2.9 小结 32
2.10 技能自测 32
2.10.1 多项选择题 32
2.10.2 作业 34
第3章 密码学 35
3.1 密码学基础 35
3.2 加密历史 35
3.2.1 恺撒密码 36
3.2.2 阿特巴希密码 36
3.2.3 多字母替换 37
3.2.4 栅栏密码 38
3.3 现代方法 38
3.3.1 对称加密 38
3.3.2 对称方法改进 41
3.3.3 实际应用 41
3.4 公钥(非对称)加密 41
3.4.1 RSA 42
3.4.2 Diffie-Hellman 44
3.4.3 椭圆曲线密码学 44
3.5 数字签名 45
3.6 哈希 45
3.6.1 MD5 45
3.6.2 SHA 45
3.6.3 RIPEMD 46
3.6.4 Windows哈希 46
3.7 MAC和HMAC 46
3.7.1 彩虹表 47
3.7.2 哈希传递 49
3.8 密码破解程序 49
3.9 隐写术 49
3.9.1 历史隐写术 50
3.9.2 方法和工具 51
3.10 密码分析 52
3.10.1 频率分析 53
3.10.2 现代方法 53
3.10.3 实际应用 54
3.11 延伸学习 55
3.12 小结 56
3.13 技能自测 56
3.13.1 多项选择题 56
3.13.2 作业 57
第4章 目标侦察 58
4.1 被动扫描技术 58
4.1.1 netcraft 58
4.1.2 builtwith 60
4.1.3 archive.org 60
4.1.4 Shodan 61
4.1.5 社交媒体 62
4.1.6 谷歌搜索 63
4.2 主动扫描技术 63
4.2.1 端口扫描 63
4.2.2 枚举 67
4.3 Wireshark 69
4.4 Maltego 72
4.5 其他开源情报工具 73
4.5.1 OSINT网站 73
4.5.2 Alexa 74
4.5.3 网站主要提示 74
4.6 小结 74
4.7 技能自测 74
4.7.1 多项选择题 74
4.7.2 作业 75
第5章 恶意软件 77
5.1 病毒 77
5.1.1 病毒如何传播 77
5.1.2 病毒类型 79
5.1.3 病毒示例 81
5.2 特洛伊木马 83
5.3 其他形式的恶意软件 84
5.3.1 rootkit 85
5.3.2 基于Web的恶意代码 85
5.3.3 逻辑炸弹 86
5.4 创建恶意软件 86
5.4.1 恶意软件编写技能的等级 86
5.4.2 GUI工具 87
5.4.3 简单脚本病毒 88
5.4.4 创建特洛伊木马 90
5.4.5 改变已有病毒 92
5.5 小结 92
5.6 技能自测 92
5.6.1 多项选择题 92
5.6.2 作业 93
第6章 Windows攻击 95
6.1 Windows详情 95
6.1.1 Windows历史 95
6.1.2 引导过程 97
6.1.3 重要的Windows文件 97
6.1.4 Windows日志 98
6.1.5 注册表 99
6.1.6 卷影复制 102
6.2 Windows密码哈希 102
6.3 Windows黑客攻击技术 103
6.3.1 哈希值传递 103
6.3.2 chntpw 104
6.3.3 Net User脚本 104
6.3.4 系统身份登录 105
6.3.5 管理员查找 105
6.4 Windows脚本 106
6.4.1 net users 106
6.4.2 net view 106
6.4.3 net share 106
6.4.4 net service 107
6.4.5 netshell 107
6.5 Windows密码破解 108
6.5.1 离线NT注册表编辑器 108
6.5.2 LCP 108
6.5.3 pwdump 109
6.5.4 ophcrack 109
6.5.5 John the Ripper 109
6.6 Windows恶意软件检测 110
6.7 Cain and Abel工具 112
6.8 小结 113
6.9 技能自测 113
6.9.1 多项选择题 113
6.9.2 作业 115
第7章 Web黑客攻击 116
7.1 Web技术 116
7.2 具体网站攻击 117
7.2.1 SQL脚本注入 117
7.2.2 XSS 122
7.2.3 其他网站攻击 124
7.3 工具 125
7.3.1 Burp Suite 125
7.3.2 BeEF 131
7.4 小结 131
7.5 技能自测 132
7.5.1 多项选择题 132
7.5.2 作业 133
第8章 漏洞扫描 134
8.1 漏洞 134
8.1.1 CVE 134
8.1.2 NIST 135
8.1.3 OWASP 135
8.2 数据包抓取 136
8.2.1 tcpdump 136
8.2.2 Wireshark 137
8.3 网络扫描程序 140
8.4 无线扫描/破解程序 141
8.5 通用扫描程序 142
8.5.1 MBSA 142
8.5.2 Nessus 143
8.5.3 Nexpose 144
8.5.4 SAINT 145
8.6 Web应用程序扫描程序 145
8.6.1 OWASP ZAP 145
8.6.2 Vega 146
8.7 网络威胁情报 148
8.7.1 threatcrowd.org 148
8.7.2 Phishtank 148
8.7.3 互联网风暴中心 148
8.7.4 OSINT 149
8.8 小结 149
8.9 技能自测 150
8.9.1 多项选择题 150
8.9.2 作业 150
第9章 Linux简介 153
9.1 Linux历史 153
9.2 Linux命令 155
9.2.1 ls命令 155
9.2.2 cd命令 156
9.2.3 管道输出 157
9.2.4 finger命令 157
9.2.5 grep命令 158
9.2.6 ps命令 158
9.2.7 pstree命令 159
9.2.8 top命令 160
9.2.9 kill命令 161
9.2.10 基础文件和目录命令 162
9.2.11 chown命令 162
9.2.12 chmod命令 163
9.2.13 bg命令 164
9.2.14 fg命令 164
9.2.15 useradd命令 165
9.2.16 userdel命令 165
9.2.17 usermod命令 166
9.2.18 users命令 167
9.2.19 who命令 168
9.3 目录 169
9.3.1 /root 169
9.3.2 /bin 169
9.3.3 /sbin 169
9.3.4 /etc 170
9.3.5 /dev 171
9.3.6 /boot 171
9.3.7 /usr 172
9.3.8 /var 172
9.3.9 /proc 173
9.4 图形用户界面 173
9.4.1 GNOME 173
9.4.2 KDE 173
9.5 小结 174
9.6 技能自测 174
9.6.1 多项选择题 174
9.6.2 作业 175
第10章 Linux黑客攻击 177
10.1 Linux系统进阶 177
10.1.1 sysfs 177
10.1.2 crond 179
10.1.3 shell命令 180
10.2 Linux防火墙 182
10.2.1 iptables 183
10.2.2 iptables配置 184
10.2.3 syslog 185
10.3 syslogd 186
10.4 脚本编写 186
10.5 Linux密码 190
10.6 Linux黑客攻击技巧 191
10.6.1 引导攻击 191
10.6.2 退格键攻击 192
10.7 小结 192
10.8 技能自测 192
10.8.1 多项选择题 192
10.8.2 作业 193
第11章 Kali Linux简介 194
11.1 Kali Linux历史 194
11.2 Kali基础 194
11.3 Kali工具 196
11.3.1 recon-ng 196
11.3.2 Dmitry 198
11.3.3 Sparta 199
11.3.4 John the Ripper 201
11.3.5 Hashcat 202
11.3.6 macchanger 202
11.3.7 Ghost Phisher 203
11.4 小结 204
11.5 技能自测 205
11.5.1 多项选择题 205
11.5.2 作业 205
第12章 常用黑客技术 206
12.1 Wi-Fi测试 206
12.1.1 热点创建 206
12.1.2 使用Kali当作热点 208
12.1.3 WAP管理测试 209
12.1.4 其他Wi-Fi问题 210
12.2 社会工程学 210
12.3 DoS 211
12.3.1 著名的DoS攻击 211
12.3.2 工具 212
12.4 小结 214
12.5 技能自测 214
12.5.1 多项选择题 214
12.5.2 作业 215
第13章 Metasploit简介 216
13.1 Metasploit背景 217
13.2 Metasploit入门 218
13.3 msfconsole基本用法 220
13.3.1 基础命令 220
13.3.2 搜索 221
13.4 使用Metasploit扫描 223
13.4.1 SMB扫描程序 223
13.4.2 SQL Server扫描 224
13.4.3 SSH服务器扫描 225
13.4.4 匿名FTP服务器 225
13.4.5 FTP服务器 226
13.5 如何使用exploit 227
13.6 exploit示例 227
13.6.1 层叠样式表 227
13.6.2 文件格式exploit 229
13.6.3 远程桌面exploit 230
13.6.4 更多exploit 231
13.6.5 常见错误 231
13.7 后漏洞利用 232
13.7.1 获取已登录用户 232
13.7.2 检查虚拟机 232
13.7.3 枚举应用程序 233
13.7.4 更加深入靶机 233
13.8 小结 234
13.9 技能自测 235
13.9.1 多项选择题 235
13.9.2 作业 235
第14章 Metasploit进阶 237
14.1 meterpreter模块和后漏洞利用 237
14.1.1 arp 237
14.1.2 netstat 238
14.1.3 ps 238
14.1.4 导航 238
14.1.5 下载和上传 239
14.1.6 桌面 239
14.1.7 摄像头 240
14.1.8 键盘记录器 241
14.1.9 其他信息 241
14.2 msfvenom 242
14.3 Metasploit攻击进阶 244
14.3.1 格式化所有驱动器 244
14.3.2 攻击Windows Server 2008 R2 244
14.3.3 通过Office攻击Windows 245
14.3.4 Linux攻击 245
14.3.5 通过Web进行攻击 246
14.3.6 其他Linux攻击 246
14.3.7 Linux后漏洞利用 247
14.4 小结 247
14.5 技能自测 247
14.5.1 多项选择题 247
14.5.2 作业 248
第15章 Ruby脚本简介 249
15.1 入门 249
15.2 Ruby基础脚本 250
15.2.1 第一个脚本 250
15.2.2 语法 251
15.2.3 面向对象编程 257
15.3 小结 258
15.4 技能自测 258
15.4.1 多项选择题 258
15.4.2 作业 260
第16章 使用Ruby编写Metasploit exploit 261
16.1 API 261
16.2 入门 263
16.3 研究已有exploit 264
16.4 扩展已有exploit 266
16.5 自己编写exploit 268
16.6 小结 269
16.7 技能自测 269
16.7.1 多项选择题 269
16.7.2 作业 270
第17章 常用黑客知识 271
17.1 会议 271
17.2 暗网 272
17.3 认证和培训 274
17.4 网络战和恐怖主义 276
17.5 小结 277
17.6 技能自测 277
17.6.1 多项选择题 277
17.6.2 作业 278
第18章 更多渗透测试主题 279
18.1 无线渗透测试 279
18.1.1 802.11 279
18.1.2 红外线 282
18.1.3 蓝牙 282
18.1.4 其他无线形式 283
18.1.5 Wi-Fi黑客攻击 284
18.2 大型机和SCADA 287
18.2.1 SCADA基础 287
18.2.2 大型机 289
18.3 移动渗透测试 289
18.3.1 蜂窝技术术语 289
18.3.2 蓝牙攻击 290
18.3.3 蓝牙/手机工具 290
18.4 小结 293
18.5 技能自测 293
18.5.1 多项选择题 293
18.5.2 作业 294
第19章 渗透测试项目示例 295
19.1 渗透测试提纲 295
19.1.1 预测试活动 295
19.1.2 外部测试 296
19.1.3 内部测试 297
19.1.4 可选项 298
19.2 报告大纲 299
19.3 小结 299
19.4 作业 300
附录 多项选择题答案 301