“工具自由”:一个职业黑客的基本修养

共 6509字,需浏览 14分钟

 ·

2022-04-16 10:16

👆点击“博文视点Broadview”,获取更多书讯

脚本小子和职业黑客的区别是什么?

被誉为世界头号黑客Charlie Miller回答说:黑客会多编写自己的工具而少用别人开发的工具。

如何成为一名黑客?如何成为一名厉害的黑客高手?

腾讯安全平台部总监、Tencent Blade Team负责人胡珀认为秘诀有两个:持之以恒与动手实践。

要想摆脱“脚本小子”的标签,黑客或渗透工程师不仅需要学会常用的很多技巧,还要进一步剖析技巧的本质,然后尝试用Python的内置模块或优秀的第三方模块来实现。

面对这种需求,以Python作为线索在讲网络安全攻防的图书,也许是“脚本小子”成长为真正的黑客的最佳参考资料。因为以Python作为线索,读者阅读时不仅可以学到攻防知识,还能学到怎么用Python去实现。从而更高效地完成工作,更顺畅地和社区成员交流。

那么,有没有这样一本科学、循序渐进、理论与实战结合的“黑客秘籍”呢?

当然有,它就是Python安全攻防图书 “头把交椅”——《Python 黑帽子:黑客与渗透测试编程之道》

这是一本亚马逊评分接近满分(4.7分,总分5分)的Python安全攻防经典图书。今天,两位作者投入具大精力的新版隆重面世,并在第一时间获得世界头号黑客及多位顶级安全专家一致推荐,他们是:

  • 世界头号黑客——Charlie Miller

  • 腾讯玄武实验室现负责人,绿盟科技前高级研究员——TK教主

  • 知道创宇技术副总裁——余弦

  • 无糖信息CEO——张瑞冬(Only_Guest)

  • 腾讯安全中心副总监——胡珀(lake2)

  • 知道创宇CTO——杨冀龙

  • 清华大学副研究员/蓝莲花战队联合创始人及领队——诸葛建伟

  • Keen Team 高级研究员——何淇丹(a.k.a Flanker)

  • 长亭科技联合创始人——陈宇森 

这是一本经典的Python 黑客养成手册,凝聚了作者丰富的渗透测试经验与Python 编程经验,覆盖了黑客或渗透工程师常用的很多技巧,作者通过渗透实战,从多个维度向读者阐述了Python如何被用在黑客和渗透测试的各个领域,基于实际攻防场景讲解代码思路,能够让读者快速了解和上手Python,进行黑客攻防实战。

新版将书中的示例代码进行了全方位的升级,除了介绍最新的包与第三方库,新版还增加了Python 3新引入的语法,如Unicode字符串、上下文管理器、f-string等。此外,新版还增补了一些编码和网络编程的知识点,如上下文管理器的用法、BPF 过滤语法,及ctypes和struct库的比较等。

如今,本书中文版重磅来袭!


本书内容

本书主要分为四个部分:

  • 第一部分介绍了python黑帽子相关的基础知识。第1章介绍了如何设置环境;第 2章介绍网络方面的基础知识;第3章仔细讲原始socket;第4章介绍如何使用Scapy 开发有趣的网络工具。

  • 第二部分讨论如何攻击 Web应用。第5章教你编写一些典型的Web黑客工具,第6章用鼎鼎大名的Burp Suite来编写一些攻击插件。

  • 第三部分花大量的篇幅讨论木马。从第7章基于GitHub服务的C&C通信,一直讲到第10章的Windows提权技术。

  • 第四部分介绍Volatility 内存取证库,它既能帮你理解防守方是如何思考的,又能让你明白如何以子之矛,攻子之盾。

作者在书中会尽可能让书中的代码样例及解释说明文字保持简明扼要的风格。如果你刚刚开始接触 Python,建议你动手敲书里的每一行代码,好好锻炼一下写代码的手感。书中的所有源代码都可以在配套资源中找到。


你会学到……

通过本书你将学会:

  • 各种Python库:ctypes、struct、lxml和BeautifulSoup

  • 各种攻击策略:分割数据、巧用计算机视觉库、爬取网站数据等

  • 网络嗅探工具、窃取email身份凭证、穷举扫描网站目录技术

  • 制作fuzz工具、探索虚拟机镜像、设计无声潜伏的木马

  • 编写一套基于GitHub的C&C木马服务

  • 探测自己是否处于沙箱环境并执行各种恶意软件常见操作

  • 扩展Web黑客工具Burp Suite的功能

  • 自己编写进程控制框架进行Windows提权

  • 使用攻击性取证技巧,从虚拟机中提取密码哈希值及发掘漏洞

  • 利用Windows COM自动化接口

  • 从网络中隐蔽地渗漏数据

本书的精华之一在于,可以帮助读者学会快速编写趁手的黑客工具,书中有大量面向真实攻防场景的绝妙构思与落地案例,绝对可以让你眼界大开、境界飞升,从而成为世界头号黑客查理·米勒眼中的工具自备级黑客,真正被这个神圣殿堂接纳


本书作者


Justin Seitz

Justin Seitz是一位业界知名的信息安全研究员、开源情报(OSINT)分析师,以及加拿大信息安全公司 Dark River Systems 的联合创始人。他所做的工作曾被Popular Science、Motherboard、《福布斯》等杂志报道。Justin撰写过两本讨论黑客工具开发的书,创立了开源情报训练平台AutomatingOSINT.com,还开发了一套开源情报收集软件Hunchly。此外,Justin还是独立调查组织Bellingcat的调查员、国际刑事法院的技术顾问,以及华盛顿高级国防研究中心(C4ADS)的受邀专家。

Tim Arnold

Tim Arnold是一位专业的Python程序员、统计学家。曾在北卡罗来纳州立大学工作多年,是一位备受尊敬的国际演讲者与教育工作者。曾在SAS公司任首席软件工程师,也是Raleigh ISSA协会成员、国际统计学会专家顾问。业余时间进行独立科普工作,向新用户讲解信息安全和Python知识,帮助他们掌握更艰深的技术。


本书译者

林修乐(Gh0u1L5)

毕业于加拿大滑铁卢大学计算机系,曾任职于美国Yahoo Paranoids核心安全团队、华为加拿大滑铁卢信息安全实验室,参与Yahoo SSHCA等若干核心系统的研发。现任职于腾讯安全玄武实验室,从事隐私安全相关研究。业余时间常在知乎上科普信息安全知识,目前已累计获得900万阅读12万赞同。


大咖推荐

《Python黑帽子:黑客与渗透测试编程之道》(第2版)是一本由从业多年的专家精心撰写的好书,无私分享了他们一路走来学到的许多诀窍。也许它不会让你马上变成像我一样的绝世高手,但它绝对能够让你走上一条正确的道路。

——被誉为世界头号黑客的Charlie Miller


很多讲编程的书都有些枯燥,但《Python黑帽子:黑客与渗透测试编程之道》完全不会,因为它以Python为线索讲网络安全攻防。它只所以风靡网络安全社区,除了因为初学者人手一本,还因为工作很多年的老家伙也亟需了解如何用Python工具高效完成工作。

——于旸(tombkeeper/Tk教主) 腾讯玄武实验室现负责人,绿盟科技前高级研究员


本书剖析黑客和渗透技巧的本质,传授如何用Python内置模块或优秀第三方模块来实现。这本书让很多人不再是只会使用他人工具的“脚本小子”,也能用Python打造属于自己的漏洞利用工具。立志成为一名真正的黑客,这本书是非常好的切入点。

——余弦 知道创宇技术副总裁


在渗透测试过程中,收集目标信息、对漏洞进行模糊测试、利用漏洞、提升权限、部署后门等都是重复繁杂的工作,这本书教你如何利用Python在各种场景下实现自动化、工具化。培养和锻炼黑客思维,本书值得拥有!

——张瑞冬(Only_Guest)无糖信息CEO


很多知名的黑客工具、安全系统框架都是用Python开发的,比如渗透测试框架Metasploit、fuzz框架Sulley、交互式数据包处理程序Scapy。本书基于实际攻防场景讲解代码思路,能够让读者快速上手。

——胡珀(lake2)腾讯安全平台部总监


本书从漏洞的POC到网络通信,从攻击取证到数据报文分析,非常全面、实用,是网络安全从业者不可多得的一本好书。不会用Python编程的渗透测试工程师是没有前途的,力荐《Python黑帽子》。

——杨冀龙 知道创宇 CTO


Python在CTF赛场拥有统治地位,在学术型白帽研究团队和业界安全研究团队中也已成为主流。本书作者浸淫漏洞研究与渗透测试二十年,感谢他再次贡献这一经典Python黑客养成手册的新版。

——诸葛建伟 清华大学副研究员/蓝莲花战队联合创始人及领队/XCTF 联赛联合发起人及执行组织者


国内高校很少将Python及其安全应用列入专业培养计划,市面上也缺乏相关图书供从业人员学习。本书从渗透测试和嗅探、取证角度介绍Python及相关库的使用,填补了这一空白。

——何淇丹(a.k.a Flanker) Keen Team高级研究员


正如老牌大黑客查理·米勒在本书序中所言,职业黑客会编写自己的工具。本书给出大量样例和技巧,足以让那些想利用Python迅速提高Web渗透测试水平的人提早自食其力。

——陈宇森 北京长亭科技有限公司联合创始人/蓝莲花战队核心成员/BlackHat 2015讲者


又一本Python方面的力作!书中的很多程序只要稍加拓展,至少能用十年,对于一本信息安全著作来说非常难得。

——Stephen Northcutt,SANS Technology Institute联合创始人


将Python活用于网络安全领域的一部杰作。

——Andrew Case,Volatility项目核心开发者,The Art of Memory Forensics作者


若你真的掌握了黑客式思维,那么一丝灵感就足以让你大有所成。而Justin Seitz正是能为你提供一大把灵感的人。

——白帽黑客


不管你是想成为专业的黑客/渗透测试工程师,还是想简单了解一下他们的工作,都应该读一读这本书。它紧凑、专业,令人大开眼界。

——Sandra Heny-Stocker,IT World


绝对是一本值得力荐的书,非常适合有一定Python基础的信息安全从业人员。

——Richard Austin,IEEE Cipher



推荐序

从我为轰动一时的《Python黑帽子:黑客与渗透测试编程之道》(第1版)作序以来,已经过去6年了。

这些年,世界变了不少,但有一件事始终没变:我每天还是要写一大堆Python代码。

在计算机安全领域,为了应付各式各样的任务,你每天仍要跟用各种语言编写的工具打交道,比如用C语言写的内核漏洞利用程序,用JavaScript写的JavaScript fuzzer,或是用Rust之类的“花哨”语言写的代理。然而,Python依然是这个圈子里的“得力干将”。

在我看来,它仍是最易上手的编程语言,有数不胜数的第三方库;如果需要快速编写代码完成复杂任务,轻松地化繁为简,那么Python是最佳选择。

有大量的安全工具和漏洞利用程序仍然是用Python编写的,比如CANVAS这样的漏洞利用框架,以及Sulley这样经典的fuzzer。

在《Python黑帽子:黑客与渗透测试编程之道》(第1版)发行之前,我就已经用Python写过许多fuzzer和漏洞利用程序(攻击代码),攻击过的目标包括Mac OS上的Safari浏览器、苹果手机、安卓手机,甚至还有游戏《第二人生》(你可能需要上网搜一搜这个游戏)。

我还跟Chris Valasek一起写过一段挺特别的攻击代码,它能够远程感染包括2014款Jeep切诺基在内的多款车型。这段攻击代码当然也是用Python写的(基于dbus-python模块)。我们开发了大量工具,能够在感染车辆之后远程控制它的方向盘、刹车和油门。上述这些工具,也全部是用Python开发的。从某种意义上,你甚至可以说是Python害菲亚特克莱斯勒公司召回了140万辆汽车。

如果你喜欢做一些“修修补补”类的信息安全小项目,那么Python是一门非常值得学习的语言,因为Python中有大量的逆向工程框架、漏洞利用框架供你使用。现在,只要那帮Metasploit开发者能恢复神智,弃Ruby投Python,我们的开发者社区就能迎来统一。

此次对这本经典书的升级,Justin和Tim把书里的所有代码都更新到Python 3版本。就个人而言,我是个想要死守Python 2的老顽固,但是当所有第三方库都升级到Python 3时,我也得去接受它。这个新版很好地覆盖了大量知识点,它们都是摩拳擦掌的年轻黑客们入门必备的知识,从如何收发网络数据包,到网络应用审计/攻击所需的各项技能,应有尽有。

总之,《Python黑帽子:黑客与渗透测试编程之道》(第2版)是一本由从业多年的专家精心撰写的好书,无私分享了他们一路走来学到的许多诀窍。也许它不会让你马上变成像我一样的绝世高手,但它绝对能够让你走上一条正确的道路。

记住,脚本小子和职业黑客之间最大的区别,就是前者只会用别人写的工具;而后者,能创造自己想要的一切。

——Charlie Miller


前言

Python黑客、Python程序员,随便你怎么称呼我们。Justin大部分的时间都在做渗透测试,这项工作要求快速开发出各种Python工具,并以最终成果为导向,不一定兼顾美观、性能,甚至稳定性之类的细节。而Tim的口头禅则是“先让代码能用,然后使其易懂、高效”。如果你的代码写得简洁漂亮,不仅能方便别人读懂,你自己隔了几个月再看也会很轻松。

通过阅读本书,你将了解我们的编程风格:我们以实现各种又快又脏的巧妙方案为最终目标,而编写干净易懂的代码是我们抵达这个目标的手段。希望这种编程哲学和风格也能对你有所帮助。

自《Python黑帽子:黑客与渗透测试编程之道》(第1版)问世以来,Python世界发生了不小的变化。Python 2于2020年1月被停止维护,Python 3成为目前编程与教学的推荐环境。

因此,在本书中我们将所有代码迁移到Python 3,并用上了最新的包与第三方库。我们还用了一些Python 3.6和Python 3以上的版本才引入的语法,比如Unicode字符串、上下文管理器、f-string等。最后,我们还在本书中增补了一些编码和网络编程的知识点,比如上下文管理器的用法、BPF语法,以及ctypes和struct库的比较等。

在阅读本书的过程中,你会发现每个知识点都没有讲太深,这是我们有意为之的。我们希望教你一些基础知识,再加一点简单的技巧,为你进入黑客开发领域打下基础。与此同时,我们在本书里塞了不少拓展阅读材料、有趣的想法和课后作业,以此来启发你找到自己的方向。我们鼓励你去实践这些想法,也欢迎你分享“造轮子”的体验。

像所有技术图书一样,本书会带给不同水平的读者相当不同的体验。有的人可能只需要翻看自己急需的内容,而有的人则需要从头到尾读完全书。如果你是一名初级至中级水平的Python程序员,建议你按章节顺序通读本书,这个过程能让你学到不少东西。

作为开场,我们将在第2章介绍网络方面的基础知识,在第3章仔细讲原始socket,在第4章介绍如何使用Scapy开发有趣的网络工具。

之后我们将讨论如何攻击Web应用。

第5章我们会先教你编写一些典型的Web黑客工具,然后在第6章用鼎鼎大名的Burp Suite来编写一些攻击插件。

再接下来,我们花大量的篇幅讨论木马,从第7章的基于GitHub服务的C&C通信,一直讲到第10章的Windows提权技术。

最后一章我们学习Volatility内存取证库,它既能帮你理解防守方是如何思考的,又能让你明白如何以子之矛,攻子之盾。

我们会尽可能地让书中的代码样例及解释说明文字保持简明扼要的风格。如果你刚刚开始接触Python,建议你动手敲书里的每一行代码,好好锻炼一下写代码的手感。书中的所有源代码都可以在链接1所指的页面上找到。

现在,让我们出发吧! 

限时活动,快快扫码抢购吧!




 

如果喜欢本文
欢迎 在看留言分享至朋友圈 三连

 热文推荐  





▼点击阅读原文,了解本书详情~

浏览 4
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报