Python是一门黑客语言,它简单易学,开发效率高,大量的第三方库,学习门槛低。Python 提供了高效的开发平台来构建我们自己的攻击工具。如果你用的是 Mac OS X 或者是 Linux 系统,Python 已经内置在你的系统中。丰富的攻击攻击已经存在,学习 Python 可以帮助你解决那些工具不能解决的问题。
编辑推荐关于Python的书虽然已有不少,但从安全从业者角度全方位剖析Python的书籍几乎没有,本书填补了这个的空白:包含了渗透测试、Web分析、网络分析、取证分析以及利用无线设备等方面的Python攻防方法。
无论你是从事安全研究的哪个方向,书中的大量深入浅出的案例分析均可以让你掌握有用的技能,快速上手编写代码,在工作中事半功倍,拓展视野、培养和锻炼自己的黑客思维。
精彩书评Python在黑客领域拥有霸主地位。在XCon召开的这15年中,Python已经发展成为与C/C++一样是黑客必备的技能之一了。
本书包含渗透测试、Web分析、网络分析、取证分析,以及利用无线设备等方面的 Python 攻击利用方法。不管你是刚开始学习Python程序的“小白”,还是一个具有丰富经验的渗透攻击高手,这本书都会给你非常大的帮助,引导你成为优秀的黑客高手。在我创办的“神话-信息安全人才颠覆行动”中,Python是我们的必修课之一。此书将会是我们“神话行动”学员学习的专业书籍之一。
—— 王英健(呆神) XCon创始人、神话行动创始人,XFocus创始人之一
Python是一门非常容易上手的脚本语言,但要迅速掌握其丰富的安全工具库并熟练运用绝非易事。市面上的Python入门书籍虽然非常多,但真正从安全从业者角度深入浅出地介绍的书籍几乎没有。本书的出现无疑给安全从业者带来了福音,对Python初学者来说,第1章的内容可以使其迅速掌握Python语言,而之后的几章几乎涵盖了安全研究的每个方面,并且配以近几年比较热门的案例(例如:LOIC、Conficker等),无论你是进行漏洞研究、取证分析、渗透测试、DDoS对抗还是反病毒,都可以从本书中学到有用的知识和技能,使自己在学习过程中少走弯路,在工作中事半功倍。
—— 陈良 KeenTeam高级研究员
作为系统管理出身的一名安全人员,对脚本类语言具有天然的好感,之前写过VBScript、Perl、Shell,转行做安全以后接触到Python,发现Python真是一款值得推荐的利器,非常适合解决网络安全攻防中面临的各种复杂和奇特的要求,从基本的端口扫描到密码猜解,从 Web页面抓取到 Burp 扩展工具,从验证码识别到权限提升等。作者在书中通过由浅入深的讲解,将读者带入Python的神奇世界,通过对攻击案例的解析,理论结合实际让读者完全不会感觉到学习编程的枯燥和乏味,反而能快速上手编写代码。通过对这些案例的学习,读者不仅能掌握Python 的各种应用,还能拓宽视野,培养和锻炼自己的黑客思维。本书适合有一定编程基础的安全爱好者、计算机从业人员阅读,特别是对正在学习计算机安全的爱好者有较大帮助。
本书编排有序,章节之间相互独立,读者可以按需阅读,也可以逐章阅读。
—— cnhawk 支付宝安全专家
Python因其特性而成为黑客们青睐的语言。本书对Python在安全领域的应用做了实战的引导,内容全面(当然,如果想成为优秀黑客,仅掌握 Python 还远远不够)。感谢这本书对Python做了很好的梳理。
—— 余弦 知道创宇技术副总裁,《Web前端黑客技术揭秘》作者
本书就像一本武林秘籍,专注于教会你使用一种武器——Python,只要掌握了这把利器,你就能够完成渗透测试中可能涉及的方方面面。译者是资深的安全专家,他将书中所有的技术细节精准和优雅地传达给了读者。
—— 杨坤 蓝莲花战队队长,长亭科技首席安全研究员
本书结构第 1 章 : 介绍
如果你以前没有 Python 编程经验,第一章将带你浏览一下 Python 的背景,语法,函数,迭代器等语法问题,如果你已经有 Python 的编程经验,可以跳过这一章。以后的章节将不会介绍更多的语言细节,你可以根据兴趣自行学习。
第 2 章 : 渗透测试
第 2 章介绍了 Python 脚本用于渗透测试的内容,本章的例子包含建立一个端口扫描器,构建一个 SSH 的僵尸网络,降伏 FTP,编写病毒和漏洞利用代码。
第 3 章: 法庭调查取证
第 3 章将利用 Python 进行数字调查取证。本章提供了个人地理定位,数据恢复,从 windows 注册表,文档元数据,镜像中提取痕迹,调查应用程序和移动设备的痕迹。
第 4 章: 网络流量分析
第 4 章将使用 Python 进行网络流量分析,本章的脚本演示了从捕获的数据包中定位 IP 地址,探讨流行的 DDOS 攻击工具,发现潜藏的扫描,分析僵尸网络流量,挫败入侵检测系统。
第 5 章: 无线攻击
第 5 章将介绍无线网络和蓝牙设备攻击。本章的例子将演示怎样嗅探和解析无线网络流量,构建一个无线网络记录器,发现隐藏的无线网络,确认恶意的无线网络工具的使用,追踪蓝牙接收器,攻击蓝牙漏洞。
第 6 章: Web 侦查
本章将演示用 Python 侦查 Web 性息。本章的例子包含用 Python 匿名访问web 网站,试探流行的媒体网站,发送钓鱼邮件。
第 7 章: 躲避杀毒系统
在最后一章,我们构建了一个躲避杀毒系统的恶意软件,我们上传我们的恶意软件到在线的杀毒系统扫描。
本书目录序一 III
序二 V
译者序 VII
致谢 IX
参编作者――Robert Frost X
技术编辑――Mark Baggett XI
前言――Mark Baggett XII
第1章 入门 1
引言:使用Python进行渗透测试 1
准备开发环境 2
安装第三方库 2
Python解释与Python交互 5
Python语言 6
变量 6
字符串 7
List(列表) 7
词典 8
网络 9
条件选择语句 9
异常处理 10
函数 11
迭代 13
文件输入/输出 15
sys模块 16
OS模块 17
第一个Python程序 19
第一个程序的背景材料:布谷蛋 19
第一个程序:UNIX口令破解机 20
第二个程序的背景材料:度恶为善 22
第二个程序:一个Zip文件口令破解机 23
本章小结 27
参考文献 28
第2章 用Python进行渗透测试 29
引言:Morris蠕虫现在还有用吗 29
编写一个端口扫描器 30
TCP全连接扫描 30
抓取应用的Banner 32
线程扫描 34
使用NMAP端口扫描代码 36
用Python构建一个SSH僵尸网络 38
用Pexpect与SSH交互 39
用Pxssh暴力破解SSH密码 42
利用SSH中的弱私钥 45
构建SSH僵尸网络 49
利用FTP与Web批量抓“肉机” 52
用Python构建匿名FTP扫描器 53
使用Ftplib暴力破解FTP用户口令 54
在FTP服务器上搜索网页 55
在网页中加入恶意注入代码 56
整合全部的攻击 58
Conficker,为什么努力做就够了 62
使用Metasploit攻击Windows SMB服务 64
编写Python脚本与Metasploit交互 65
暴力破解口令,远程执行一个进程 67
把所有的代码放在一起,构成我们自己的Conficker 67
编写你自己的0day概念验证代码 70
基于栈的缓冲区溢出攻击 70
添加攻击的关键元素 71
发送漏洞利用代码 72
汇总得到完整的漏洞利用脚本 73
本章小结 75
参考文献 75
第3章 用Python进行取证调查 77
引言:如何通过电子取证解决BTK凶杀案 77
你曾经去过哪里?――在注册表中分析无线访问热点 78
使用WinReg读取Windows注册表中的内容 79
使用Mechanize把MAC地址传给Wigle 81
用Python恢复被删入回收站中的内容 85
使用OS模块寻找被删除的文件/文件夹 85
用Python把SID和用户名关联起来 86
元数据 88
使用PyPDF解析PDF文件中的元数据 88
理解Exif元数据 90
用BeautifulSoup下载图片 91
用Python的图像处理库读取图片中的Exif元数据 92
用Python分析应用程序的使用记录 95
理解Skype中的SQLite3数据库 95
使用Python和SQLite3自动查询Skype的数据库 97
用Python解析火狐浏览器的SQLite3数据库 103
用Python调查iTunes的手机备份 111
本章小结 116
参考文献 116
第4章 用Python分析网络流量 119
引言:“极光”行动以及为什么明显的迹象会被忽视 119
IP流量将何去何从?――用Python回答 120
使用PyGeoIP关联IP地址和物理位置 121
使用Dpkt解析包 121
使用Python画谷歌地图 125
“匿名者”真能匿名吗?分析LOIC流量 128
使用Dpkt发现下载LOIC的行为 128
解析Hive服务器上的IRC命令 130
实时检测DDoS攻击 131
H.D.Moore是如何解决五角大楼的麻烦的 136
理解TTL字段 136
用Scapy解析TTL字段的值 138
“风暴”(Storm)的fast-flux和Conficker的domain-flux 141
你的DNS知道一些不为你所知的吗? 142
使用Scapy解析DNS流量 143
用Scapy找出fast-flux流量 144
用Scapy找出Domain Flux流量 145
Kevin Mitnick和TCP序列号预测 146
预测你自己的TCP序列号 147
使用Scapy制造SYN泛洪攻击 148
计算TCP序列号 148
伪造TCP连接 150
使用Scapy愚弄入侵检测系统 153
本章小结 159
参考文献 159
第5章 用Python进行无线网络攻击 161
引言:无线网络的(不)安全性和冰人 161
搭建无线网络攻击环境 162
用Scapy测试无线网卡的嗅探功能 162
安装Python蓝牙包 163
绵羊墙――被动窃听无线网络中传输的秘密 165
使用Python正则表达式嗅探信用卡信息 165
嗅探宾馆住客 168
编写谷歌键盘记录器 171
嗅探FTP登录口令 174
你带着笔记本电脑去过哪里?Python告诉你 176
侦听802.11 Probe请求 176
寻找隐藏网络的802.11信标 177
找出隐藏的802.11网络的网络名 178
用Python截取和监视无人机 179
截取数据包,解析协议 179
用Scapy制作802.11数据帧 181
完成攻击,使无人机紧急迫降 184
探测火绵羊 186
理解Wordpress的会话cookies 187
牧羊人――找出Wordpress Cookie重放攻击 188
用Python搜寻蓝牙 190
截取无线流量,查找(隐藏的)蓝牙设备地址 192
扫描蓝牙RFCOMM信道 195
使用蓝牙服务发现协议 196
用Python ObexFTP控制打印机 197
用Python利用手机中的BlueBug漏洞 197
本章小结 199
参考文献 199
第6章 用Python刺探网络 201
引言:当今的社会工程 201
攻击前的侦察行动 202
使用Mechanize库上网 202
匿名性――使用代理服务器、User-Agent及cookie 203
把代码集成在Python类的AnonBrowser中 206
用anonBrowser抓取更多的Web页面 208
用Beautiful Soup解析Href链接 209
用Beautiful Soup映射图像 211
研究、调查、发现 213
用Python与谷歌API交互 213
用Python解析Tweets个人主页 216
从推文中提取地理位置信息 218
用正则表达式解析Twitter用户的兴趣爱好 220
匿名电子邮件 225
批量社工 226
使用Smtplib给目标对象发邮件 226
用smtplib进行网络钓鱼 227
本章小结 230
参考文献 231
第7章 用Python实现免杀 233
引言:火焰腾起! 233
免杀的过程 234
免杀验证 237
本章小结 243
参考文献 243