适读人群 :本书适合有一定编程基础的安全爱好者、计算机从业人员阅读,特别是对正在学习计算机安全专业,立志从事计算机安全行业,成为渗透测试人员的人来说,这本书更是不可多得的参考。
当你需要开发强大有效的黑客工具时,Python是绝大多数安全分析人员的上佳之选;当遭遇危及安全的攻击时,编写强大工具的能力不可或缺。本书是Justin Seitz新作,它将向你揭示Python的黑暗面——操控数据包、感染虚拟主机、制作隐蔽木马等。此外,本书通过技术探讨和解决富于启发性问题,还向你揭示如何扩展攻击能力和如何编写自己的攻击代码。
√ 使用GitHub创建命令控制型木马
√ 检测沙盒和自动化恶意软件任务,例如键盘记录和截屏
√ 使用创新型的进程控制技术进行Windows权限提升
√ 使用激进式的内存取证技术检索密码哈希值及向虚拟主机中注入shellcode
√ 扩展流行的Web攻击工具Burp Suite
√ 利用Windows COM 组件自动化执行浏览器中间人攻击
本书是畅销书《Python 灰帽子―黑客与逆向工程师的 Python 编程之道》的姊妹篇,那本书一面市便占据计算机安全类书籍的头把交椅。本书由 Immunity 公司的高级安全研究员 Justin Seitz 精心撰写。作者根据自己在安全界,特别是渗透测试领域的几十年经验,向读者介绍了 Python 如何被用在黑客和渗透测试的各个领域,从基本的网络扫描到数据包捕获,从 Web 爬虫到编写 Burp 扩展工具,从编写木马到权限提升等。 作者在本书中的很多实例都非常具有创新和启发意义, 如 HTTP 数据中的图片检测、 基于 GitHub命令进行控制的模块化木马、浏览器的中间人攻击技术、利用 COM 组件自动化技术窃取数据、通过进程监视和代码插入实现权限提升、通过向虚拟机内存快照中插入 shellcode 实现木马驻留和权限提升等。通过对这些技术的学习,读者不仅能掌握各种 Python 库的应用和编程技术,还能拓宽视野,培养和锻炼自己的黑客思维。读者在阅读本书时也完全感觉不到其他一些技术书籍常见的枯燥和乏味。
目 录
第 1 章 设置 Python 环境 1
安装 Kali Linux 虚拟机1
WingIDE3
第 2 章 网络基础 9
Python 网络编程简介 10
TCP 客户端 10
UDP 客户端 11
TCP 服务器12
取代 netcat13
小试牛刀 21
创建一个 TCP 代理 23
小试牛刀 28
通过 Paramiko 使用 SSH 29
小试牛刀 34
SSH 隧道 34
小试牛刀 38
第 3 章 网络:原始套接字和流量嗅探 40
开发 UDP 主机发现工具 41
Windows 和 Linux 上的包嗅探 41
小试牛刀 43
解码 IP 层 43
小试牛刀 47
解码 ICMP48
小试牛刀 52
第 4 章 Scapy:网络的掌控者 54
窃取 Email 认证 55
小试牛刀 57
利用 Scapy 进行 ARP 缓存投毒 58
小试牛刀 63
处理 PCAP 文件 64
小试牛刀 69
第 5 章 Web 攻击 71
Web 的套接字函数库: urllib2 71
开源 Web 应用安装 73
小试牛刀 75
暴力破解目录和文件位置 76
小试牛刀 79
暴力破解 HTML 表格认证 80
小试牛刀 86
第 6 章 扩展 Burp 代理 88
配置89
Burp 模糊测试90
小试牛刀 97
在 Burp 中利用 Bing 服务 101
小试牛刀 105
利用网站内容生成密码字典 107
小试牛刀 111
第 7 章 基于 GitHub 的命令和控制114
GitHub 账号设置115
创建模块116
木马配置 117
编写基于 GitHub 通信的木马 118
Python 模块导入功能的破解121
小试牛刀123
第 8 章 Windows 下木马的常用功能125
有趣的键盘记录125
小试牛刀 129
截取屏幕快照 130
Python 方式的 shellcode 执行 131
小试牛刀 132
沙盒检测 133
第 9 章 玩转浏览器140
基于浏览器的中间人攻击 140
创建接收服务器144
小试牛刀 145
利用 IE 的 COM 组件自动化技术窃取数据 146
小试牛刀 154
第 10 章 Windows 系统提权156
环境准备157
创建进程监视器 158
利用 WMI 监视进程 158
小试牛刀 160
Windows 系统的令牌权限 161
赢得竞争 163
小试牛刀 167
代码插入168
小试牛刀 170
第 11 章 自动化攻击取证172
工具安装 173
工具配置 173
抓取口令的哈希值173
直接代码注入177
小试牛刀 183
曾经去高校宣讲,被同学们问得多的问题就是,如何成为一名黑客。成为一名厉害的黑客高手,也是我们这批追求安全技术的人的梦想。
那么,如何成为高手呢?两个秘诀:持之以恒和动手实践。
我记得刚刚接触计算机那会儿,机缘巧合之下买到本安全技术杂志月刊,但是由于水平所限,每篇技术文章都看不懂。不过我每期都买来看,大约持续了半年,慢慢地发现能够看懂了,后来甚至还可以在杂志上发表文章发布黑客工具了。就这样坚持着,终于走进了安全行业。
古人说“纸上得来终觉浅,绝知此事要躬行”,意思就是要多实践,要想成为黑客高手的另一个秘诀就是要多实战。实战中一定会涉及开发自己的工具或者优化别人的代码,所以就要求我们必须精通一门甚至多门脚本语言。Python就是这样一门强大的语言,很多知名的黑客工具、安全系统框架都是由Python开发的。比如大名鼎鼎的渗透测试框架Metasploit、功能强大的Fuzzing 框架Sulley、交互式数据包处理程序Scapy 都是Python 开发的,基于这些框架可以扩展出自己的工具(多学一些总是好的,我们在这里也不用争论是Python 好还是Perl 好这样的问题)。
就我个人的经验来看,与实战结合是快速学习相关能力的路径。这本《Python 黑帽子:黑客与渗透测试编程之道》就是从实战出发,基于实际攻防场景讲解代码思路,是能够让读者快速了解和上手Python 及黑客攻防实战的一本书,所以特别推荐给大家。
知易行难,大家在读书的同时不要忘记实践:先搞懂原理,再根据实际需求写出一个强大的Python 工具。
——腾讯安全中心副总监 胡珀(lake2)
Python 是网络安全领域的编程利器,在分秒必争的CTF 赛场中拥有统治位置,在学术型白帽研究团队和业界安全研究团队中也已经成为编程语言。本书作者在畅销书《Python 灰帽子——黑客与逆向工程师的Python 编程之道》之后,再次强力推出姊妹篇《Python 黑帽子:黑客与渗透测试编程之道》,以其在网络安全领域,特别是漏洞研究与渗透测试方向上浸淫十数年的经验积累,献上了又一本经典的Python 黑客养成手册。作为与三位译者曾经亦师亦友的合作伙伴,我非常高兴地看到他们能够以精准的翻译、专业的表达将这本书原滋原味地带给国内的读者们。
诸葛建伟
清华大学副研究员
蓝莲花战队联合创始人及领队
XCTF 联赛联合发起人及执行组织者