首页>参考读物>计算机科学与技术>安全

Python安全攻防:渗透测试实战指南
作者 : 吴涛 方嘉明 吴荣德 徐焱 编著
出版日期 : 2020-09-11
ISBN : 978-7-111-66447-5
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 295
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

随着近几年互联网的发展,Python在各行各业发挥着举足轻重的作用。除应用在科学计算、大数据处理等人们熟知的领域外,在信息安全领域中使用也异常广泛。这是因为对于黑客或者渗透测试工程师来说python语言不仅上手容易,而且还有大量丰富的开源库。通过python可以帮助他们又好又快的完成一项任务,以少量的代码便可实现所需功能。本书结合具体场景和真实案例,详细叙述了python在渗透测试过程中所涉及到的信息收集、漏洞检测、数据爆破、模糊测试、流量分析等方面的实现过程。本书内容详细,过程清晰,非常易于读者深入理解。可为成为一名合格的网络安全员打下坚实的基础

图书特色

一线开发人员实战经验的结晶,多位专家联袂推荐
全面、系统地介绍Python渗透测试技术,从基本流程到各种工具应用,案例丰富,便于掌握

图书前言

在网络安全领域,是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。
Python语言近年来已经变得越来越流行,越来越强大。Python除了语法简洁、开发效率高外,最重要的是拥有数量庞大的第三方库,很多知名的网络安全工具、安全系统框架都是用Python开发的,掌握Python编程已经成为网络安全从业人员的必备技能之一。如果你立志成为一名合格的安全从业者,就不能仅停留在使用他人工具的层面,应具备利用Python打造出属于自己的神兵利器的能力!
目前,高校计算机信息安全专业很少将Python在安全领域的应用列入必修课程,市面上的安全书籍也大多以介绍安全工具的使用为主,而忽略了对最为重要的网络安全编程能力的培养,所以这也是我们撰写本书的初衷。优秀的编程能力和丰富的渗透测试经验是一名优秀的渗透测试人员所必备的,希望本书可以让更多的网络安全爱好者和从业人员重视网络安全编程。
本书是MS08067安全实验室继《Web安全攻防:渗透测试实战指南》《内网安全攻防:渗透测试实战指南》后推出的又一本渗透测试实战指南方面的力作,建议读者联合阅读。同时MS08067安全实验室计划于2021年推出《CTF入门之道:安全竞赛实战指南》《区块链安全攻防:渗透测试实战指南》《Java代码安全审计(入门篇)》《工控安全攻防:渗透测试实战指南(入门篇)》等书籍,具体目录及进展情况可在MS08067安全实验室公众号或官网https://www.ms08067.com中查看。
本书结构
本书围绕Python在网络安全渗透测试各个领域中的应用展开,通过大量图解,从实战攻防场景分析代码,帮助初学者快速掌握使用Python进行网络安全编程的方法,深入浅出地讲解如何在渗透测试中使用Python,使Python成为读者手中的神兵利器。
全书理论讲解和实践操作相结合,内容深入浅出、迭代递进,未过多涉及学术性、纯理论性的内容,所讲述的渗透测试编程技术都是干货,读者按照书中所述步骤即可还原实际渗透测试场景。本书主要内容如下。
第1章 渗透测试概述。简单介绍了信息安全发展史、信息安全行业的现状、渗透测试的基本流程以及渗透测试的具体方法。
第2章 Python语言基础。介绍Python相关的基础知识,主要包括Python环境的搭建,编写第一个Python程序,Python模块的安装与使用,Python语言的序列、控制结构、文件处理、异常处理结构,Socket网络编程和可执行文件的转换等基础知识。
第3章 渗透测试框架。详细介绍了Pocsuite渗透测试框架的安装和使用,以及POC、EXP脚本编写。
第4章 信息搜集。介绍主动信息搜集和被动信息搜集的方法,以及如何通过Python编写一套属于自己的信息搜集工具。
第5章 漏洞检测与防御。详细介绍了几种常见漏洞的原理、检测方法以及防御策略,如未授权访问漏洞、外部实体注入漏洞、SQL盲注漏洞、服务端请求伪造漏洞等,还介绍了SQLMap的Tamper脚本的编写方法。
第6章 数据加密。介绍了常见加密算法的原理,如Base64编码、DES、AES、MD5等加密算法,以及如何通过Python脚本的方式实现对数据加解密。
第7章 身份认证。主要介绍如何混合破解弱口令,结合社会工程学的知识以及网络协议的弱点,找到极具可能性的密码组合。主要内容包括社会工程学密码字典的生成,后台弱口令问题,SSH以及FTP口令问题。
第8章 模糊测试。主要介绍模糊测试在安全测试中的使用及思路,主要包括模糊测试的基本原理,利用模糊测试绕过安全狗以及优化。
第9章 流量分析。介绍如何通过Python脚本获取网络中的流量数据并进行有效分析。主要内容包括流量嗅探、ARP毒化、拒绝服务攻击及防御策略。
第10章 Python免杀技术。主要介绍如何通过Python实现免杀,包括Python中shellcode加载与可执行文件生成,Cobalt Strike 的使用及拓展等。
第11章 远程控制工具。介绍如何利用Python编写远程控制工具,主要内容包括Python远程控制工具的基础模块,远程控制工具的编写和使用。
特别声明
本书仅限于讨论网络安全技术,严禁利用本书所提到的漏洞和技术进行非法攻击,否则后果自负,本人和出版商不承担任何责任!
读者服务
本书的同步公众号为“MS08067安全实验室”,公众号号码为Ms08067_com,公众号中可提供以下资源:
本书中的全部脚本源代码。
本书讨论的所有资源的下载或链接。
关于本书内容的勘误更新。
关于本书内容的技术交流。
阅读本书的过程中遇到的任何问题或意见的反馈。
致谢
感谢机械工业出版社策划编辑吴怡为本书出版所做的大量工作;感谢王康对本书配套网站的维护;感谢唐洪玉、lake2、杨文飞、鲍弘捷、四爷、倪传杰、张鉴百忙之中抽空为本书写序或推荐语。
MS08067安全实验室是一个低调潜心研究技术的团队,衷心感谢团队的所有成员,他们是椰树﹑李华峰﹑令狐甲琦、cong9184﹑rkvir﹑roach、AskTgs、杨斌斌、冯杰、支树福、谢鸿俊、孙培豪、恩格尔﹑mzfuzz﹑王老师﹑曲云杰﹑王恺﹑赵风旺﹑500﹑q1ng﹑
王康﹑Harveysn0w﹑大王叫我来巡山等,希望通过我们的努力能给安全圈留下一点东西。这里还要特别感谢安全圈的好友,包括但不限于莫名﹑李文轩﹑陈小兵﹑王坤﹑Phorse、杨凡、key﹑klion﹑陈建航﹑陈亮﹑王东亚﹑不许联想、兜哥﹑张胜生﹑程冲﹑周培源、laucyun﹑Demon﹑玄魂、sunvimp、Arcobaleno、星晴、3had0w、eth10、Twe1ve、Leafer、Sin、墨竹星海、清晨﹑Amzza0x00、叶杰锋、xiaoYan、bios000、DarkZero、云顶、许本川、冯正平、电信安全帮研究团队等,感谢他们对这本书给予支持和建议。
念念不忘,必有回响!

徐 焱
2020年6月30日

上架指导

计算机\安全

封底文字

安全行业最需要实践,作为一名优秀的安全工程师,我们不仅要学会使用工具,还要了解底层原理和编程实现。基于此,我们至少需要精通一门脚本编程语言。在当前环境下,Python无疑是首选。本书基于Python由浅入深地实现网络安全领域的各种任务,是初学者入门的必备书籍,适合反复阅读、思考并实践。
—— lake2 腾讯安全平台部总监
提升IT技术,选择好老师非常关键,安全技术尤甚。判断一个好老师的核心标准有两点:一是实践经验丰富,也就是“内秀”;二是总结和表达能力强,也就是“外慧”。这本书的作者就具备这种特质,跟着他们学,没错的!
—— 杨文飞 51CTO副总裁兼首席内容官
本书作者对于Python渗透测试有着深刻的理解和丰富的实战经验,因此非常全面地介绍了Python安全攻防的技术要点,并提供了大量极具价值的实战经验。如果你正在研究Python渗透测试,建议仔细阅读并遵循本书的指导和建议,相信你一定可以从中受益。
—— 鲍弘捷 FreeBuf主编
“工欲善其事,必先利其器”,新世纪安全攻防人员必须得有自己称手的神兵利器,因此掌握一门编码实战语言是很有必要的。本书从基础的Python入门知识讲起,结合实际安全攻防和安全研究常见场景,详细阐述和指导安全漏洞POC、漏洞利用脚本、爆破及扫描工具的编写。
—— 四爷 安全脉搏CEO
在网络安全行业,从小白到大神的蜕变往往是一个从模仿到创造的过程。现有安全书籍大多更关注操作层面的解读,让很多从业人员难以突破“脚本小子”的瓶颈。作者发现了这一行业痛点,结合自己的实战经验,深入浅出地通过大量渗透技术讲解Python,给广大安全爱好者开拓了一条高效的安全技术进阶之路。
—— 张雪松 漏洞银行联合创始人兼技术总监
本书介绍了基于 Python 的渗透测试技巧,包括信息搜集、漏洞检测、加解密、模糊测试、流量分析、免杀、远控等方面的应用及相关库的使用。作者在书中所给出的样例,足以让你的渗透测试水平得到很大提升。如果你对渗透测试感兴趣,那么Python是一门值得学习的语言,请多动手实践。
—— 倪传杰 安全牛课堂负责人
安全攻防重在实践,而通过安全编程打造自己的渗透测试工具箱的主动式实践,无疑是提升安全攻防能力的有效方法。Python语言的简洁易学以及强大的第三方库让安全编程事半功倍,本书正是一本将Python语言与安全渗透测试结合的好书,覆盖完整渗透测试框架的各个环节,给出了详尽的编程实例,为想学习安全攻防的读者提供难得的指南。
—— 张鉴 中国电信研究院云安全研究所高级工程师

推荐序

网络江湖,风起云涌,攻防博弈,从未间断,且愈演愈烈。从架构安全到被动纵深防御,再到主动防御、安全智能,直至进攻反制,皆直指安全的本质—攻防。未知攻,焉知防!
每一位网络安全从业者都有仗剑江湖的侠客情怀和维护网络公平正义的初心。渗透测试就是一把“利剑”,出其不意、攻其不备,模拟黑客之攻击,为安全防御系统诊脉,补全不足,修炼内功,提升防御能力。
用别人之剑,还是自己铸剑?哪个更得心应手?哪个威力更强大?答案显而易见。
这本书正是从“铸剑”的视角着眼,从实操的角度入手,覆盖完整的渗透测试流程,编写Python工具,自己铸剑,完成渗透测试。这本书在介绍了渗透测试概念及Python语言基础之后,从渗透测试框架切入,覆盖信息搜集、漏洞检测、加解密、暴力破解、模糊测试、流量分析、免杀技术、远程控制工具等环节和方面,给出了详尽的编写实例,读者可以一步步地去学习、编码,从而拥有自己铸造的“绝世好剑”—渗透测试工具库。
这本书语言简练,实例详尽,可操作性强,无论是初学者还是安全专业人士,都能从中受益。
网络江湖风云再起之时,愿本书可以助你一臂之力!也愿从此网络江湖一片太平,没有恶意入侵者,没有黑产,没有伤害。

唐洪玉
中国电信研究院云安全研究所所长
中国电信安全帮负责人
北京市职工技协网络安全专业委员会理事
北京市科委专家库入库专家
2016中国通信产业年度技术人物
CISSP、PMP、系统分析师

图书目录

推荐序
前言
第1章 渗透测试概述 1
1.1 信息安全发展史 1
1.2 信息安全行业的现状 4
1.3 渗透测试的基本流程 5
1.4 渗透测试的具体方法 8
1.5 小结 15
第2章 Python语言基础 16
2.1 Python环境的搭建 16
2.1.1 Windows系统下的安装 17
2.1.2 Linux系统下的安装 19
2.2 编写第一个Python程序 20
2.3 Python模块的安装与使用 21
2.4 Python序列 23
2.4.1 列表 23
2.4.2 元组 26
2.4.3 字典 26
2.5 Python控制结构 28
2.5.1 选择结构 28
2.5.2 循环结构 28
2.6 文件处理 29
2.7 异常处理结构 32
2.8 Socket网络编程 34
2.9 可执行文件的转换 36
2.9.1 在Windows系统下转换 36
2.9.2 在Linux系统下转换 38
2.10 小结 39
第3章 渗透测试框架 40
3.1 Pocsuite框架 40
3.1.1 功能介绍 41
3.1.2 安装 41
3.1.3 使用方法 42
3.2 POC脚本编写 44
3.2.1 Flask服务器模板环境搭建 44
3.2.2 POC脚本的编写步骤 45
3.3 EXP脚本编写 48
3.4 小结 51
第4章 信息搜集 52
4.1 被动信息搜集 52
4.1.1 DNS解析 52
4.1.2 子域名挖掘 54
4.1.3 邮件爬取 56
4.2 主动信息搜集 60
4.2.1 基于ICMP的主机发现 61
4.2.2 基于TCP、UDP的主机发现 66
4.2.3 基于ARP的主机发现 73
4.2.4 端口探测 77
4.2.5 服务识别 80
4.2.6 系统识别 85
4.2.7 敏感目录探测 88
4.3 网络空间搜索引擎 89
4.3.1 常见搜索引擎平台 90
4.3.2 搜索引擎语法 92
4.3.3 搜索引擎API的使用 95
4.4 小结 98
第5章 漏洞检测与防御 99
5.1 未授权访问漏洞 99
5.1.1 Redis未授权访问漏洞 99
5.1.2 漏洞利用 100
5.1.3 检测方法 103
5.1.4 防御策略 107
5.2 外部实体注入漏洞 107
5.2.1 简介 107
5.2.2 检测方法 111
5.2.3 防御策略 114
5.3 SQL盲注漏洞 114
5.3.1 简介 114
5.3.2 基于布尔型SQL盲注检测 114
5.3.3 基于时间型SQL盲注检测 123
5.3.4 防御策略 127
5.4 SQLMap的Tamper脚本 128
5.4.1 简介 128
5.4.2 Tamper脚本的编写(一) 131
5.4.3 Tamper脚本的编写(二) 139
5.5 服务器端请求伪造漏洞 145
5.5.1 简介 145
5.5.2 检测方法 146
5.5.3 防御策略 147
5.6 网络代理 148
5.7 小结 152
第6章 数据加密 153
6.1 常见的加密算法 153
6.1.1 对称加密算法 154
6.1.2 非对称加密算法 155
6.1.3 分组密码工作模式 156
6.2 PyCryptodome库安装 160
6.3 Base64编/解码 160
6.3.1 Base64编码原理 161
6.3.2 用Python实现Base64编/解码 163
6.4 DES加密算法 164
6.4.1 DES加密原理 164
6.4.2 用Python实现DES加解密 166
6.5 AES加密算法 167
6.5.1 AES加密原理 167
6.5.2 用Python实现AES加解密 169
6.6 MD5加密算法 171
6.6.1 MD5加密原理 171
6.6.2 用Python实现MD5加密 173
6.7 小结 174
第7章 身份认证 175
7.1 社会工程学密码字典 176
7.1.1 字典的生成 176
7.1.2 防御策略 180
7.2 后台弱口令问题 181
7.2.1 编写脚本 181
7.2.2 防御策略 187
7.3 SSH口令问题 187
7.3.1 编写脚本 187
7.3.2 防御策略 192
7.4 FTP口令问题 193
7.4.1 编写脚本 193
7.4.2 防御策略 199
7.5 小结 199
第8章 模糊测试 200
8.1 简介 200
8.2 绕过安全狗 201
8.3 绕过安全狗优化 206
8.4 模糊测试结合WebShell 208
8.5 模糊测试工具 209
8.5.1 XSS模糊测试工具XSStrike 210
8.5.2 Sulley模糊测试框架 211
8.6 防御策略 214
8.7 小结 214
第9章 流量分析 215
9.1 流量嗅探 215
9.1.1 工作原理 216
9.1.2 工具编写 217
9.2 ARP毒化 222
9.2.1 工作原理 223
9.2.2 工具编写 227
9.2.3 防御策略 230
9.3 DoS 231
9.3.1 数据链路层DoS 231
9.3.2 网络层DoS 234
9.3.3 传输层DoS 236
9.3.4 应用层DoS 238
9.3.5 防御策略 241
9.4 小结 241
第10章 Python免杀技术 242
10.1 生成shellcode 242
10.2 shellcode的加载与执行 244
10.3 常见的免杀方式 250
10.4 防御策略 253
10.5 小结 254
第11章 远程控制工具 255
11.1 简介 255
11.2 Python相关的基础模块 256
11.3 被控端的编写 260
11.4 主控端的编写 264
11.5 远程控制工具的使用 268
11.6 Cobalt Strike的使用及拓展 270
11.7 小结 282
附录 Python实战项目 283

教学资源推荐
作者: (美)詹姆斯·兰萨姆(James Ransome) 安莫尔·米斯拉(Anmol Misra)著
作者: [美]肖恩-菲利普·奥里亚诺(Sean-Philip Oriyano)迈克尔·G. 所罗门(Michael G. Solomon)著
作者: 蔡晶晶 李炜 主编
参考读物推荐
作者: 林鹏 编著
作者: (美)Kelley Okolita 著
作者: [美]尤里·迪奥赫内斯(Yuri Diogenes),[阿联酋]埃达尔·奥兹卡(Erdal Ozkaya) 著