Python黑帽子:黑客与渗透测试编程之道(第2版)

Python黑帽子:黑客与渗透测试编程之道(第2版)
作者: 林修乐
出版社: 电子工业
原售价: 100.00
折扣价: 70.00
折扣购买: Python黑帽子:黑客与渗透测试编程之道(第2版)
ISBN: 9787121430695

作者简介

Justin Seitz是安全世界声名远播的大英雄,目前是Immunity公司的高级安全研究员。他在该公司的主要工作是寻找软件漏洞、逆向工程、撰写攻击代码,以及使用Python编程。同时,他还是畅销经典《Python灰帽子DD黑客与逆向工程师的Python编程之道》(首度使用Python进行安全分析的著作)及本书上一版(全球发行几十万册)的作者。
林修乐 ,现任腾讯玄武实验室研究员。毕业于清华大学计算机系,获得博士学位。在校期间主要从事网络安全研究。清华大学CTF战队“蓝莲花”创始人之一。研究方向主要有Web安全、取证分析、安全管理框架研究等。出版著作有《Metasploit魔鬼训练营》,译著有《Metasploit渗透测试指南》《高安全环境下的高级渗透测试》等。

内容简介

译 者 序 在网络安全的世界里,需求、场景、时机,往往瞬息万变。一个今天还能打遍天下的0day漏洞,可能明天就会被全网紧急修复;一套一小时前还在线的业务系统,可能下一秒就被蓝队拔了网线。在这种争分夺秒的场景下,Python这样的语言堪称“最好的伙伴”。 Python简单、快捷,效率惊人,写一行代码就能直接看到结果。它拥有非常活跃的开发者社区和丰富的第三方生态,用几行代码就能跨平台实现各种复杂功能。它的动态类型设计虽然在构建大型项目时会导致你写出很烂的代码,但是在攻防场景中却会给你美好顺滑的编程体验——写百十来行的攻击代码就罢,今天打完这一场,明天这些代码就进垃圾桶,管它参数类型是str还是int呢? 对于畅销书《Python黑帽子:黑客与渗透测试编程之道》的再版,两位作者投入了很大的精力,将书中的示例代码进行了全方位的升级,除了引入的Python 3新语法、新框架之外,你能明显地感受到示例代码的质量有了很大提升。前一版中的示例代码看起来像是为了应付需求而随手写的小脚本,而这一版中的示例代码则更像是正经的教学代码或开源项目代码。 本书讨论的话题都非常基础,但也都相当实用,适合有一定Python基础、初学信息安全的同学阅读。亲手实现书里的示例能使你感受到快乐和成就感,但是,如果你想备战CTF拿名次的话,不推荐选择这本书作为参考,因为其定位更偏向于拓展视野和培养兴趣,内容跟CTF的比赛范围几乎没什么重叠。建议“赛棍们”还是好好刷题,专心学习“赛棍”专用读物。 由于水平有限,翻译中难免出现一些错漏和表达不准确的地方,欢迎读者批评指正。 ——Gh0u1L5 腾讯玄武实验室研究员 2021年7月于北京 中文版推荐序一 20年前,我刚开始研究网络安全的时候,社区里最流行的脚本语言是Perl。当时,一个Exploit如果不是用C写的,八成就是用Perl写的,没人听说过Python。 那时候Python已经诞生近10年了。其实Python几乎和Perl一样古老。Perl的第一个版本是1987年发布的,而Python的发布时间只比它晚了4年。 但20年后的今天,网络安全社区里已经几乎看不到Perl的影子,人人都在用Python。 一种编程语言的兴衰,固然和其自身有关,但也和技术环境的变化有关,还有一点运气在里面。无论如何,一旦天平开始向一边倾斜,就会产生很大的势能。因为编程语言不仅是人和计算机对话的语言,也是编程者之间沟通的语言。语言的力量是巨大的,可以让我们建起巴别塔。所以技术生态一旦成熟,就会具有强大的生命力。 今天,Python已经成为网络安全社区里最重要的语言之一,而且地位非常稳固。无论是研究Web、操作系统、网络协议,还是硬件或者无线,都可以在社区里找到现成的模块和代码样例。不仅如此,甚至Python自身都已经成为网络攻击的目标——出现了向PyPI仓库投毒的攻击方式。 很多讲编程的书多少都会有些枯燥,但《Python黑帽子:黑客与渗透测试编程之道》(第2版)这本书完全不会。因为它其实并不是在谈Python语言本身,而是以Python作为线索在讲网络安全攻防。也正因为是以Python作为线索的,所以阅读这本书不仅可以学到攻防知识,还能学到怎么用Python去实现。 我还记得7年前《Python黑帽子:黑客与渗透测试编程之道》的第1版发行后,很快就在网络安全社区里流行起来。除了初学者们将其看作必备的入门书籍,一些已经工作了很多年的老家伙也会读。因为即使书中的网络安全知识对我们来说已经并不陌生,但知道如何以Python为工具去运用这些知识,可以帮助我们更高效地完成工作,也能使我们更顺畅地和社区成员交流。 ——tombkeeper 中文版推荐序二 本书读起来很顺畅,覆盖了黑客或渗透工程师常用的很多技巧。其特点是,剖析技巧的本质,然后用Python 的内置模块或优秀的第三方模块来实现。 Python 是一门非常酷的主流语言,拥有优美的编码风格、顽强的社区与海量优质的模块,如果看到一段代码写得很好,我们会说:“Pythonic!”这本书用Python 来实现渗透测试中用到的各类技巧与工具,让人不得不说一句:“Pythonic!” 可以看出作者有丰富的渗透测试经验与Python 编程经验,感谢作者能把自己的经验如此清晰地分享出来,也感谢出版社能将这本书引入国内。 这本书的发行,会让更多人投身Python 黑客领域,不再是只会使用他人工具的“脚本小子”,在必要时刻,也能用Python 打造属于自己的漏洞利用工具。 关于Python有句流传甚广的话:“人生苦短,快学Python”。是的,人生苦短,如果你立志成为一名真正的黑客,Python 值得你掌握,这本书是一个非常好的切入点。 ——余弦 知道创宇技术副总裁 中文版推荐序三 在日常工作中,Python已经成为我最常用的语言,其代码简洁、高效,同时拥有强大、丰富的第三方库,往往起到事半功倍的效果,极大提高了我的工作效率。 在渗透测试过程中,收集目标的信息、对漏洞进行模糊测试、利用漏洞、提升权限、部署后门等,对渗透测试人员来说都是重复繁杂的工作。幸运的是,这些基本上都可以利用Python来实现自动化、工具化。在这本《Python黑帽子:黑客与渗透测试编程之道》(第2版)中,作者通过渗透实战,从多个维度向读者阐述了Python如何被用在黑客和渗透测试的各个领域。相信本书能够给那些想要利用Python来提升自身水平的读者带来收获。 从Python开始,培养和锻炼自己的黑客思维。本书值得拥有! ——张瑞冬(Only_Guest)无糖信息CEO 中文版推荐序四 曾经去高校宣讲,被问得最多的问题就是,如何成为一名黑客。而成为一名黑客高手,是我们这批从事安全技术的人的梦想。 那么,如何成为高手呢?两个秘诀:持之以恒和动手实践。 记得刚刚接触计算机时,机缘巧合之下我买了本安全技术杂志月刊,但是由于水平所限,里面的技术文章一篇都看不懂。不过我每期都买来看,大约持续了半年,慢慢地发现自己能够看懂了,后来甚至还可以在杂志上发表文章、发布黑客工具。就这样坚持着,我终于走进了安全行业。 “纸上得来终觉浅,绝知此事要躬行”,成为黑客高手的另一个秘诀就是要多实践。实践就一定会涉及开发自己的工具或者优化别人的代码,所以我们必须精通一门甚至多门脚本语言。Python就是这样一门强大的脚本语言,很多知名的黑客工具、安全系统框架都是用Python开发的。比如,大名鼎鼎的渗透测试框架Metasploit、功能强大的fuzz 框架Sulley、交互式数据包处理程序Scapy 都是用Python 开发的,基于这些框架,我们可以扩展出自己的工具(多学一些总是好的,在这里也不必争论是Python 好还是Perl 好这样的问题)。 就我个人的经验来看,与实践结合是快速学习相关能力的路径。这本书就从实战出发,基于实际攻防场景讲解代码思路,能够让读者快速了解和上手Python,进行黑客攻防实战,所以特别推荐给大家。 知易行难,大家在读书的同时不要忘记实践:先搞懂原理,再根据实际需求写出一个强大的Python 工具。 ——胡珀(lake2)腾讯安全中心副总监? 中文版推荐序五 几乎所有网络安全经典工具,包括调试器、渗透工具、取证工具、报文分析等都支持使用Python语言编写功能插件。不会编写程序的黑客是一个假黑客,最多是一个顶级的工具小子;而最适合网络安全的编程语言,莫过于Python,可以说不会用Python编程的渗透测试工程师是没有前途的。其实,知道创宇公司从2007年成立之时,就要求除了前端使用JavaScript和少量例外,全公司只允许使用Python语言。这门语言简单易学,各种第三方功能包十分丰富且强大。这本书的编程知识涉及网络安全的方方面,从漏洞的POC到网络通信,从攻击取证到数据报文分析,非常全面,十分实用,是网络安全从业者不可多得的一本好书。鄙人不敢藏私,力荐给大家。 ——杨冀龙 知道创宇 CTO 中文版推荐序六 Python 是网络安全领域的编程利器,在分秒必争的CTF 赛场中拥有统治地位,在学术型白帽研究团队和业界安全研究团队中也已经成为主流编程语言。本书作者在其畅销书《Python 灰帽子:黑客与逆向工程师的Python 编程之道》之后,再次强力推出姊妹篇《Python 黑帽子:黑客与渗透测试编程之道》,以其在网络安全领域,特别是漏洞研究与渗透测试方向上浸淫十数年的经验,献上又一本经典的Python 黑客养成手册。我非常高兴地看到译者以精准的翻译、专业的表达将本书内容原汁原味地奉献给国内的读者。 ——诸葛建伟 清华大学副研究员/蓝莲花战队联合创始人及领队/XCTF 联赛联合发起人及执行组织者 中文版推荐序七 我们一直认为,一个合格的安全从业者必须有自己动手编写工具和代码的意愿与能力。在这个安全攻防和业务一样日趋大数据化、对抗激烈化又隐蔽化的年代,攻防双方都必须有快速实现或验证自己想法的能力。选择并学习使用一个好的工具会起到事半功倍的效果。 Python则是目前特别适合这种需求的语言。平缓的学习曲线、胶水语言的灵活性和丰富的支持库使其天然成为攻防双方均可使用及快速迭代的利器,几乎可以覆盖安全测试的方方面面。求学时,我使用Scapy(本书中有详细的介绍)和PyQt 库编写了Wifi 嗅探工具WifiMonster;在我参加的CTF 比赛中,基本上所有的漏洞利用工具都是用基于Python 的pwntools 和zio 库编写的;在Keen,我们的很多fuzzer 和静态分析器也都是用Python 编写的。 但令人遗憾的是,目前国内的高校很少有将Python 及其在安全领域方面的应用列入计算机和信息安全专业培养计划的,市面上也缺乏相关图书供从业人员学习。本书填补了这个空白:作者从逆向和漏洞分析挖掘的角度编写了《Python 灰帽子:黑客与逆向工程师的Python 编程之道》后,又从渗透测试和嗅探、取证的角度编写了这本书,介绍Python 在这些方面的应用和相关库的使用。本书译者在安全领域有丰富经验,能保证翻译质量。 相信读者会从本书中受益良多。 ——何淇丹(a.k.a Flanker) Keen Team 高级研究员 中文版推荐序八 接触信息安全之前,Python就已经是我的常用语言了,它能满足我日常工作的所有需求。因为对Python 已经有一定了解,接触信息安全以后,借助这一利器,我在信息安全领域的探索进行得很顺利。 老牌大黑客查理·米勒说的没错,脚本小子和职业黑客的区别是黑客会多编写自己的工具而少用别人开发的工具。从事Web 渗透测试相关工作以及参加CTF竞赛的时候,我基本上都是用自己写的Python 脚本来实现目的的:扫描及收集目标的信息,测试大量已知漏洞是否存在,自动发现SQL 注入、XSS 攻击点,对攻击进行抓取、截获和重放,在比赛中大量部署后门进行控制等。 Python 中有大量第三方库,可以让你从无关的工作中脱身,专心实现自己所需要的功能(有时你甚至会发现有人已经很好地实现了你所需要的功能),不被杂乱的事务所困扰。在Web 渗透测试这种重视效率的工作中,用Python快速地把自己的需求转换成能运行的程序,实在是令人兴奋的一件事。 作者在本书中所给出的大量样例和技巧,足以让那些想利用Python 迅速提高Web 渗透测试水平的人得到很大的帮助。但请记住,一定要动手实践。 只有动手实践,才能真正体会到本书的精华所在。 Hacking the planet by Python! ——陈宇森 北京长亭科技有限公司联合创始人/蓝莲花战队核心成员/BlackHat 2015 讲者 在编写各种强大而高效的黑客工具时,Python是大多数安全工程师的首选。在畅销书《Python黑帽子:黑客与渗透测试编程之道》(第2版)中,你将见识Python的“黑暗面”:从编写网络嗅探工具、窃取email身份凭证、穷举扫描网站目录,到制作fuzz工具、探索虚拟机镜像,以及设计无声潜伏的木马,等等。在第2版里,所有的代码都迁移到了Python 3.x。你还能看到其中新增了位运算、代码整洁性、基于Volatility框架的攻击取证等内容,对于各种Python库(ctypes、struct、lxml和BeautifulSoup)及各种攻击策略(例如分割数据、巧用计算机视觉库、爬取网站数据等),作者也展开了深入讨论。 你还能学到如何: √ 编写一套基于GitHub的C&C木马服务。 √ 探测自己是否处于沙箱环境中,并执行各种恶意软件常见操作,例如记录键盘输入、抓取屏幕等。 √ 扩展Web黑客工具Burp Suite的功能。 √ 通过原创的进程控制框架进行Windows提权。 √ 使用攻击性的取证技巧,从虚拟机中提取密码哈希值及发掘漏洞。 √ 利用Windows COM自动化接口。 √ 从网络中隐蔽地渗漏数据。