第1章 网络安全渗透测试 1
1.1网络安全渗透测试简介 1
1.2开展网络安全渗透测试 3
1.2.1前期与客户的交流阶段 3
1.2.2情报的收集阶段 5
1.2.3威胁建模阶段 5
1.2.4漏洞分析阶段 6
1.2.5漏洞利用阶段 6
1.2.6后渗透攻击阶段 6
1.2.7报告阶段 7
1.3网络安全渗透测试需要掌握的技能 7
小结 8
第2章Kali Linux 2使用基础 9
2.1 Kali Linux 2介绍 9
2.2 Kali Linux 2安装 10
2.2.1将Kali Linux 2安装在硬盘中 10
2.2.2在VMware虚拟机中安装Kali Linux 2 19
2.2.3在加密U盘中安装Kali Linux 2 23
2.3 Kali Linux 2的常用操作 25
2.3.1修改默认用户 26
2.3.2对Kali Linux 2的网络进行配置 27
2.3.3在Kali Linux 2中安装第三方程序 30
2.3.4对Kali Linux 2网络进行SSH远程控制 32
2.3.5 Kali Linux 2的更新操作 35
2.4 VMware的高级操作 36
2.4.1在VMware中安装其他操作系统 36
2.4.2 VMware中的网络连接 38
2.4.3 VMware中的快照与克隆功能 39
小结 41
第3章Python语言基础 42
3.1 Python语言基础 43
3.2在Kali Linux 2系统中安装Python编程环境 43
3.3编写第一个Python程序 51
3.4选择结构 52
3.5循环结构 53
3.6数字和字符串 55
3.7列表、元组和字典 56
3.7.1列表 57
3.7.2元组 58
3.7.3字典 58
3.8函数与模块 59
3.9文件处理 60
小结 61
第4章 安全渗透测试的常见模块 63
4.1 Socket模块文件 63
4.1.1简介 64
4.1.2基本用法 65
4.2 python-nmap模块文件 68
4.2.1简介 69
4.2.2基本用法 70
4.3 Scapy模块文件 75
4.3.1简介 75
4.3.2基本用法 75
小结 84
第5章 情报收集 85
5.1信息收集基础 86
5.2主机状态扫描 87
5.2.1基于ARP的活跃主机发现技术 88
5.2.2基于ICMP的活跃主机发现技术 94
5.2.3基于TCP的活跃主机发现技术 98
5.2.4基于UDP的活跃主机发现技术 102
5.3端口扫描 103
5.3.1基于TCP全开的端口扫描技术 104
5.3.2基于TCP半开的端口扫描技术 106
5.4服务扫描 110
5.5操作系统扫描 114
小结 117
第6章 漏洞渗透模块的编写 118
6.1测试软件的溢出漏洞 118
6.2计算软件溢出的偏移地址 122
6.3查找JMP ESP指令 125
6.4编写渗透程序 128
6.5坏字符的确定 130
6.6使用Metasploit来生成Shellcode 134
小结 138
第7章 对漏洞进行渗透(高级部分) 139
7.1 SEH溢出简介 140
7.2编写基于SEH溢出渗透模块的要点 142
7.2.1计算到catch位置的偏移量 143
7.2.2查找POP/POP/RET地址 152
7.3编写渗透模块 154
7.4使用Metasploit与渗透模块协同工作 158
小结 160
第8章 网络嗅探与欺骗 161
8.1网络数据嗅探 162
8.1.1编写一个网络嗅探工具 162
8.1.2调用WireShark来查看数据包 166
8.2 ARP的原理与缺陷 167
8.3 ARP欺骗的原理 168
8.4中间人欺骗 170
小结 179
第9章 拒绝服务攻击 180
9.1数据链路层的拒绝服务攻击 181
9.2网络层的拒绝服务攻击 184
9.3传输层的拒绝服务攻击 187
9.4基于应用层的拒绝服务攻击 189
小结 194
第10章 身份认证攻击 195
10.1简单网络服务认证的攻击 196
10.2破解密码字典 197
10.3 FTP暴力破解模块 202
10.4 SSH暴力破解模块 205
10.5 Web暴力破解模块 208
10.6使用Burp Suite对网络认证服务的攻击 212
小结 222
第11章 远程控制工具 223
11.1远程控制工具简介 223
11.2 Python中的控制基础subprocess模块 224
11.3利用客户端向服务端发送控制命令 228
11.4将Python脚本转换为exe文件 231
小结 233
第12章 无线网络渗透(基础部分) 234
12.1无线网络基础 235
12.2 Kali Linux 2中的无线功能 236
12.2.1无线嗅探的硬件需求和软件设置 236
12.2.2无线渗透使用的库文件 238
12.3 AP扫描器 239
12.4无线数据嗅探器 241
12.5无线网络的客户端扫描器 242
12.6扫描隐藏的SSID 244
12.7绕过目标的MAC过滤机制 245
12.8捕获加密的数据包 246
12.8.1捕获WEP数据包 246
12.8.2捕获WPA类型数据包 247
小结 248
第13章 无线网络渗透(高级部分) 249
13.1模拟无线客户端的连接过程 249
13.2模拟AP的连接行为 252
13.3编写Deauth攻击程序 254
13.4无线入侵检测 255
小结 256
第14章对Web应用进行渗透测试 257
14.1 HTTP简介 257
14.2对Web程序进行渗透测试所需模块 259
14.2.1 urllib2库的使用 260
14.2.2其他模块文件 261
14.3处理HTTP头部 262
14.3.1解析一个HTTP头部 262
14.3.2构造一个HTTP Request头部 264
14.4处理Cookie 264
14.5捕获HTTP基本认证数据包 266
14.6编写Web服务器扫描程序 267
14.7暴力扫描出目标服务器上所有页面 269
小结 272
第15章 生成渗透测试报告 273
15.1渗透测试报告的相关理论 274
15.1.1编写渗透测试报告的目的 274
15.1.2编写渗透测试报告的内容摘要 274
15.1.3编写渗透测试报告包含的范围 274
15.1.4安全地交付这份渗透测试报告 275
15.1.5渗透测试报告应包含的内容 275
15.2处理XML文件 275
15.3生成Excel格式的渗透报告 277
小结 283