Python黑帽子:黑客与渗透测试编程之道(第2版)
  • 推荐1
  • 收藏4
  • 浏览8.9K

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

[美] Justin Seitz (作者)  林修乐 (译者)

  • 书  号:978-7-121-43069-5
  • 页  数:
  • 开  本:
  • 出版状态:上市销售
  • 维护人:张春雨
本书是畅销书《Python黑帽子:黑客与渗透测试编程之道》的再版,介绍Python是如何被运用在黑客和渗透测试的各个领域的:从基本的网络扫描到数据包捕获,从Web爬虫到编写Burp插件,从编写木马到权限提升等。书中的很多实例都很有启发意义,比如HTTP通信数据中的人脸图像检测,基于GitHub进行C&C通信的模块化木马,浏览器的中间人攻击,利用COM组件自动化技术窃取数据,通过进程监视和代码插入进行提权,通过向虚拟机内存快照插入shellcode实现木马驻留和权限提升等。学习这些实例,读者不仅能掌握各种Python库的应用和编程技术,还能拓宽视野,培养和锻炼自己的黑客思维。阅读本书时,几乎感受不到一般技术图书常有的枯燥和乏味。

与第1版相比,本次再版的大工程在于对示例代码的全方位升级。两位作者不仅将示例代码从Python 2升级到Python 3,还对编码风格进行了改善。此外,他们还用了一些从Python 3.6版本引入的新语法,并增补了一些新的知识点,比如上下文管理器的用法、BPF语法,等等。
本书适合有一定Python编程基础的安全爱好者、计算机从业人员阅读。对于正在学习计算机安全专业,立志从事计算机安全行业,成为渗透测试人员的人来说,本书更是不可多得的参考书。
Justin Seitz是一位业界知名的信息安全研究员、开源情报(OSINT)分析师,以及加拿大信息安全公司 Dark River Systems 的联合创始人。他所做的工作曾被Popular Science、Motherboard、《福布斯》等杂志报道。Justin撰写过两本讨论黑客工具开发的书,创立了开源情报训练平台AutomatingOSINT.com,还开发了一套开源情报收集软件Hunchly。此外,Justin还是独立调查组织Bellingcat的调查员、国际刑事法院的技术顾问,以及华盛顿高级国防研究中心(C4ADS)的受邀专家。

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

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

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所指的页面 上找到。

现在,让我们出发吧!

目录

1 设置你的Python环境 1

安装Kali Linux虚拟机 2

配置Python 3 3

安装IDE 6

保持代码整洁 6

2 基础的网络编程工具 9

Python网络编程简介 10

TCP客户端 10

UDP客户端 11

TCP服务端 12

取代netcat 13

小试牛刀 19

开发一个TCP代理 22

小试牛刀 28

基于Paramiko的SSH通信 30

小试牛刀 36

SSH隧道 37

小试牛刀 41

3 编写流量嗅探器 43

编写基于UDP的主机发现工具 44

Windows和Linux上的包嗅探 44

小试牛刀 46

解码IP层 47

ctypes库 48

struct库 49

编写IP解码器 53

小试牛刀 55

解码ICMP 56

小试牛刀 61

4 Scapy:网络的掌控者 63

窃取邮箱身份凭证 64

小试牛刀 68

ARP投毒 68

小试牛刀 74

pcap文件处理 76

小试牛刀 83

5 Web攻击 85

Python中的网络库 86

Python 2中的urllib2库 86

Python 3中的urllib库 87

requests库 88

lxml与BeautifulSoup库 89

拓印开源网站系统的初始结构 91

拓印WordPress系统结构 92

扫描在线目标 96

小试牛刀 98

暴力破解目录和文件位置 98

小试牛刀 102

暴力破解HTML登录表单 104

小试牛刀 109

6 编写Burp插件 111

配置Burp Suite 112

Burp模糊测试插件 113

小试牛刀 120

在Burp中调用Bing搜索 125

小试牛刀 129

利用网页内容生成暴破字典 131

小试牛刀 135

7 基于GitHub服务的C&C通信 139

创建GitHub账号 140

编写木马模块 141

编写木马配置文件 142

构建基于GitHub通信的木马 143

深入探索Python的import功能 146

小试牛刀 148

8 Windows下的木马常用功能 150

键盘记录 151

小试牛刀 154

截取屏幕 155

以Python风格执行shellcode 157

小试牛刀 159

沙箱检测 159

9 数据渗漏 165

文件的加密与解密 166

基于电子邮件的数据渗漏 169

基于文件传输的数据渗漏 171

基于Web服务器的数据渗漏 172

融会贯通 176

小试牛刀 178

10 Windows系统提权 180

安装依赖库 181

模拟受害服务 181

编写进程监视器 184

利用WMI监视进程 185

小试牛刀 187

Windows系统的令牌权限 188

“赢得”条件竞争 190

小试牛刀 194

代码注入 194

小试牛刀 196

11 攻击取证 198

安装Volatility 199

探查基本情况 201

探查用户信息 203

探查潜在漏洞 206

volshell控制界面 208

编写Volatility插件 209

小试牛刀 215

出发! 217

本书勘误

印次
  • 页码:54  •  行数:倒数第3行  •  印次: 1

    原:sniff(host)
    应: IP.sniff(host)

    name1e3s 提交于 2022/9/18 11:17:49
    张春雨 确认于 2024/2/5 13:51:11
  • 页码:152  •  行数:12  •  印次: 2

    1.第8章WINDOWS下木马常用功能中第152页的代码块缩进有误,keylogger.py的最后一个try语句后所有语句的缩进应减少一格。
    2.第4章Scapy:网络的掌控者中第72页的代码中,缺少poison_victim.hwsrc = self.gatewaymac和poison_gateway.hwsrc = self.victimmac两行代码。

    qahehe 提交于 2022/5/9 10:45:09
    张春雨 确认于 2024/2/5 13:46:29

读者评论



  • 图书两处错误为原书错误,第一处,name前后各缺了两个下划线。第二处,URL后面少了一个单引号。

    张春雨发表于 2023/8/1 10:44:10

  • 标蓝的文字应是原文错误,正确的应该是bhservice.exe。

    张春雨发表于 2023/7/26 14:53:41
    • 为什么啊是从哪里看书来的

      2030365448发表于 2023/9/19 19:34:05

相关博文

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

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

    博文小编 2022-04-12

    脚本小子和职业黑客的区别是什么? 被誉为世界头号黑客Charlie Miller回答说:黑客会多编写自己的工具而少用别人开发的工具。 如何成为一名黑客?如何成为一名厉害的黑客高手? 腾讯安全平台部总监、Tencent Blade Tea...

    博文小编 2022-04-12
    806 1 0 0

推荐用户