清华电脑学堂 数据库开发技术标准教程
作者:刘畅,彭涛编著
出版时间: 2019年版
丛编项: 清华电脑学堂
内容简介
本书由资深网络安全教师撰写,书中系统并深入地将Python应用实例与网络安全相结合进行讲解,不仅讲述了Python的实际应用方法,而且从网络安全原理的角度分析了Python实现网络安全编程的技术,真正做到理论与实践相结合。 全书共分为15章。第1章介绍网络安全渗透测试的相关理论。第2章介绍Kali Linux 2使用基础。第3章介绍Python语言基础。第4章介绍安全渗透测试中的常见模块。第5章介绍使用Python实现信息收集。第6章和第7章介绍使用Python对漏洞进行渗透。第8章介绍使用Python实现网络的嗅探与监听。第9章介绍使用Python实现拒绝服务攻击。第10章介绍使用Python实现身份认证攻击。第11章介绍使用Python编写远程控制工具。第12章和第13章介绍使用Python完成无线网络渗透。第14章介绍使用Python对Web应用进行渗透测试。第15章介绍使用Python生成渗透测试报告。 本书适合网络安全渗透测试人员、运维工程师、网络管理人员、网络安全设备设计人员、网络安全软件开发人员、安全课程培训学员、高校网络安全专业方向的学生阅读。
目录
第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