描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302563884丛书名: 清华开发者书库.Python
网络安全专家撰写,凝聚自己多年教学与实践开发经验,内容全面更新到Python 3,系统且深入阐释Python在网络安全编程方面的方法与应用
本书是资深网络安全教师多年工作经验的结晶。书中系统且深入地将 Python应用实例与网络安全相结合进行讲解,不仅讲述 Python的实际应用方法,而且从网络安全原理的角度分析 Python实现网络安全编程技术,真正做到理论与实践相结合。 全书共分为 16章。第 1章介绍网络安全渗透测试的相关理论;第 2章介绍 Kali Linux 2使用基础;第 3章介绍 Python语言基础;第 4章介绍使用 Python进行安全渗透测试的常见模块;第 5章介绍使用 Python实现信息收集;第 6章和第 7章介绍使用 Python对漏洞进行渗透;第 8章介绍使用 Python实现网络的嗅探与欺骗;第 9章介绍使用 Python实现拒绝服务攻击;第 10章介绍使用 Python实现身份认证攻击;第 11章介绍使用 Python编写远程控制工具;第 12章和第 13章介绍使用 Python完成无线网络渗透;第 14章介绍使用 Python完成 Web渗透测试;第 15章介绍使用 Python生成渗透测试报告;第 16章介绍 Python取证相关模块。 本书适合网络安全渗透测试人员、运维工程师、网络管理人员、网络安全设备设计人员、网络安全软件开发人员、安全课程培训人员、高校网络安全专业方向的学生阅读。
第1章 概述1
1.1 网络安全渗透测试1
1.2 开展网络安全渗透测试3
1.2.1 前期与客户的交流4
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
1.4 小结8
第2章 Kali Linux 2使用基础9
2.1 简介9
2.2 安装Kali Linux 210
2.2.1 在VMware虚拟机中安装Kali Linux 210
2.2.2 在树莓派中安装Kali Linux 212
2.3 Kali Linux 2的常用操作15
2.3.1 文件系统17
2.3.2 常用命令19
2.3.3 对Kali Linux 2的网络进行配置21
2.3.4 在Kali Linux 2中安装第三方应用程序25
2.3.5 对Kali Linux 2网络进行SSH远程控制25
2.3.6 Kali Linux 2的更新操作29
2.4 VMware的高级操作29
2.4.1 在VMware中安装其他操作系统29
2.4.2 VMware中的网络连接30
2.4.3 VMware中的快照与克隆功能32
2.5 小结33
第3章 Python语言基础部分34
3.1 Python语言基础35
3.2 在Kali Linux 2系统中安装Python编程环境 35
3.3 编写第一个 Python程序 43
3.4 选择结构 44
3.5 循环结构 45
3.6 数字和字符串 47
3.7 列表、元组和字典 49
3.7.1 列表 49
3.7.2 元组 50
3.7.3 字典 50
3.8 函数与模块 51
3.9 文件处理 53
3.10 小结 54
第 4章 安全渗透测试的常见模块55
4.1 Socket模块文件 55
4.1.1 简介 56
4.1.2 基本用法 57
4.2 python-nmap模块文件 60
4.2.1 简介 61
4.2.2 基本用法 62
4.3 Scapy模块文件 66
4.3.1 简介 66
4.3.2 基本用法 67
4.4 小结 76
第 5章 信息收集77
5.1 信息收集基础 78
5.2 主机状态扫描 79
5.2.1 基于 ARP的活跃主机发现技术 80
5.2.2 基于 ICMP的活跃主机发现技术 85
5.2.3 基于 TCP的活跃主机发现技术 90
5.2.4 基于 UDP的活跃主机发现技术 93
5.3 端口扫描 94
5.3.1 基于 TCP全开的端口扫描技术 95
5.3.2 基于 TCP半开的端口扫描技术 98
5.4 服务扫描 101
5.5 操作系统扫描 105
5.6 小结 108
第 6章 对漏洞进行渗透(基础部分)110
6.1 测试软件的溢出漏洞 110
6.2 计算软件溢出的偏移地址 114
6.3 查找JMP ESP指令 117
6.4 编写渗透程序 120
6.5 坏字符的确定 123
6.6 使用Metasploit生成 shellcode 126
6.7 小结130
第 7章 对漏洞进行渗透(高级部分) 131
7.1 SEH溢出简介 132
7.2 编写基于 SEH溢出渗透模块的要点134
7.2.1 计算到 catch位置的偏移量135
7.2.2 查找 POP/POP/RET地址141
7.3 编写渗透模块 142
7.4 小结 145
第8章 网络嗅探与欺骗 146
8.1 网络数据嗅探 147
8.1.1 编写一个网络嗅探工具 147
8.1.2 调用 Wireshark 查看数据包 150
8.2 ARP的原理与缺陷 152
8.3 ARP欺骗的原理 153
8.4 中间人欺骗 156
8.5 小结 164
第9章 拒绝服务攻击 165
9.1 数据链路层的拒绝服务攻击 166
9.2 网络层的拒绝服务攻击 169
9.3 传输层的拒绝服务攻击 171
9.4 基于应用层的拒绝服务攻击 173
9.5 小结 179
第10章 身份认证攻击 181
10.1 简单网络服务认证的攻击 182
10.2 编写破解密码字典 183
10.3 FTP暴力破解模块 187
10.4 SSH暴力破解模块 191
10.5 Web暴力破解模块 194
10.6 使用BurpSuite对网络认证服务的攻击 201
10.6.1 基于表单的暴力破解 202
10.6.2 绕过验证码(客户端) 212
10.6.3 绕过验证码(服务器端) 214
10.7 小结 215
第11章 编写远程控制工具 216
11.1 远程控制工具简介 216
11.2 远程控制程序的服务器端和客户端 217
11.2.1 执行系统命令(subprocess模块) 217
11.2.2 远程控制的服务器端与客户端(socket模块实现) 221
11.3 将 Python 脚本转换为exe 文件 224
11.4 小结 226
第12章 无线网络渗透(基础部分) 227
12.1 无线网络基础 228
12.2 Kali Linux 2 中的无线功能 229
12.2.1 无线网络嗅探的硬件需求和软件设置 229
12.2.2 无线网络渗透使用的库文件 231
12.3 AP扫描器 231
12.4 无线网络数据嗅探器 233
12.5 无线网络的客户端扫描器 234
12.6 扫描隐藏的 SSID 235
12.7 绕过目标的 MAC 过滤机制 236
12.8 捕获加密的数据包 238
12.8.1 捕获 WEP 数据包 238
12.8.2 捕获 WPA 类型数据包 239
12.9 小结 240
第13章 无线网络渗透(高级部分) 241
13.1 模拟无线客户端的连接过程 241
13.2 模拟 AP 的连接行为245
13.3 编写 Deauth 攻击程序 247
13.4 无线网络入侵检测 248
13.5 小结 248
第14章 对 Web 应用进行渗透测试 249
14.1 渗透测试所需模块 251
14.1.1 requests 库的使用 252
14.1.2 其他常用模块文件 253
14.2 处理 HTTP 头部 254
14.3 处理 Cookie 254
14.4 捕获 HTTP 基本认证数据包 256
14.5 编写 Web 服务器扫描程序 257
14.6 暴力扫描出目标服务器上的所有页面 259
14.7 验证码安全 260
14.8 小结 266
第15章 生成渗透测试报告 267
15.1 渗透测试报告的相关理论 268
15.1.1 目的 268
15.1.2 内容摘要 268
15.1.3 包含的范围 268
15.1.4 安全地交付渗透测试报告 269
15.1.5 渗透测试报告应包含的内容 269
15.2 处理 XML 文件 269
15.3 生成 Excel 格式的渗透报告271
15.4 小结 278
第16章 Python 取证相关模块 279
16.1 MD5值的计算 279
16.1.1 MD5的相关知识 279
16.1.2 在Python中计算MD5 280
16.1.3 为文件计算MD5 280
16.2 对IP地址进行地理定位 281
16.3 时间取证 282
16.4 注册表取证 283
16.5 图像取证 284
16.6 小结 285
为什么要写这本书
本书自第 1版出版后,反响热烈,版权输出到中国台湾。其间作者收到许多读者的电子邮件,有的读者对本书提出了宝贵的意见,指出了书中的一些不当之处,在对本书做修订之际,作者对这些读者表示衷心的感谢,并希望读者继续关注本书,不吝赐教。作者也同许多读者就本书做过较为深入的探讨,备感鼓舞和欣慰的同时深感写好一本书的不易。
随着时代的发展, Python 2.7已于 2020年 1月 1日正式停止官方维护,这也意味着 Python 2将被淘汰。因此作者对这本书做了一次大“手术”,这是自本书初稿完成后所做的最大一次修改。本次修改了初稿一半左右的篇幅,并将所有的案例使用 Python 3代码进行编写。本次修订时,虽然已仔细纠正其中的不当之处,但仍难免有不妥和错误之处,恳请读者批评指正。
本书提供了大量编程实例,这些内容与目前网络安全的热点问题相结合,既可以作为高等院校网络安全相关专业的教材,也适合作为网络安全工作者的参考用书。为了帮助读者高效学习本书内容,本书配套的案例代码以及作为高校教学配套使用的教案、讲稿和幻灯片已经上传到作者的公众号(邪灵工作室)中。读者可以通过关注本书作者的公众号下载相关资源。
阅读本书的建议
* 没有 Python基础的读者,建议从第 1章开始按顺序阅读并练习每一个实例。
* 有一定 Python基础的读者,可以根据实际情况有重点地选择阅读部分技术要点。
* 对于每一个知识点和项目案例,先通读一遍,以便有一个大概印象;然后将每一个知识点的示例代码在开发环境中操作,以便加深对知识点的理解。
读者对象
本书的读者群主要是网络安全渗透测试人员、运维工程师、网络管理人员、网络安全设备设计人员、网络安全软件开发人员、安全课程培训学员、高校网络安全专业方向的学生,还包括各种非专业但热衷于网络安全研究的人员。
本书第 1版被很多高校作为网络安全专业的教材。
本书主要内容
全书一共 16章。
第 1章主要介绍了网络安全渗透测试的相关理论。
第 2章主要介绍了 Kali Linux 2的使用基础。
第 3章主要介绍了 Python语言基础。
第 4章主要介绍了安全渗透测试中的常见模块。
第 5章主要介绍了使用 Python实现信息收集。
第 6章主要介绍了使用 Python对漏洞进行渗透的基础部分。
第 7章主要介绍了使用 Python对漏洞进行渗透的高级部分。
第 8章主要介绍了使用 Python实现网络的嗅探与欺骗。
第 9章主要介绍了使用 Python实现拒绝服务攻击。
第 10章主要介绍了使用 Python实现身份认证攻击。
第 11章主要介绍了使用 Python编写远程控制工具。
第 12章主要介绍了使用 Python完成无线网络渗透基础部分。
第 13章主要介绍了使用 Python完成无线网络渗透高级部分。
第 14章主要介绍了使用 Python对 Web应用进行渗透测试。
第 15章主要介绍了使用 Python生成渗透测试报告。
第 16章主要介绍了使用 Python进行取证的相关模块。
关于勘误
虽然作者花了很多时间和精力去核对书中的文字、代码和图片,但因为时间仓促和水平有限,书中仍难免会有一些不足和疏漏,如果读者发现问题,恳请反馈给作者,相关信息可发到作者的公众号(邪灵工作室)或者通过清华大学出版社 www.tup.com.cn与作者联系。作者会努力回答疑问或者指出一个正确的方向。
致谢
感谢所有的读者,是你们的支持促成了本书的面世。感谢作者所在单位提供了自由的科研工作环境,正是这种完全自由的氛围才使得作者多年的心血能够以文字的形式展示出来。感谢清华大学出版社秦健编辑在本书的编写过程中对作者的支持。最后感谢身边的每一位亲人、朋友以及学生,感谢你们在作者编写此书时给予的支持与理解。
评论
还没有评论。