实用黑客攻防技术

978-7-115-61647-0
作者: 布赖森·佩恩(Bryson Payne)
译者: 张章学方延风
编辑: 佘洁

图书目录:

详情

本书旨在教你像黑客一样思考,通过了解黑客工具和技术,解决各种各样需要防御的在线威胁;通过在虚拟实验室中以安全的方式对自己尝试各种攻击,并与实际的网络自我防御技巧相结合,让读者明白如何防范攻击行为。本书介绍了一些常用类型的网络攻防,包括物理访问攻防、谷歌攻击和侦测技巧、网络钓鱼和社会工程攻防、恶意软件远程攻防、Web攻防、密码攻防,以及移动设备和汽车攻击分析等。 本书适合作为网络安全行业新人的入门读物,也适用于计算机初学者、IT从业人员以及对黑客攻防与安全维护感兴趣的其他人员,同时可供高等院校安全相关专业师生学习参考。

图书摘要

版权信息

书名:实用黑客攻防技术

ISBN:978-7-115-61647-0

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

著    [美]布赖森•佩恩(Bryson Payne)

译    张章学 方延风

责任编辑 佘 洁

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

内容提要

本书旨在教你像黑客一样思考,通过了解黑客工具和技术,解决各种各样需要防御的在线威胁;通过在虚拟实验室中以安全的方式对自己尝试各种攻击,并与实际的网络自我防御技巧相结合,让读者明白如何防范攻击行为。本书介绍了一些常用类型的网络攻防,包括物理访问攻防、谷歌攻击和侦测技巧、网络钓鱼和社会工程攻防、恶意软件远程攻防、Web攻防、密码攻防,以及移动设备和汽车攻击分析等。

本书适合作为网络安全行业新人的入门读物,也适用于计算机初学者、IT从业人员以及对黑客攻防与安全维护感兴趣的其他人员,同时可供高等院校安全相关专业师生学习参考。

作者简介

布赖森·佩恩(Bryson Payne)博士是一位屡获殊荣的网络导师、作家和TEDx演讲者,也是北乔治亚大学(UNG)网络运营教育中心的创始主任,该大学被美国国家安全局(NSA)和美国国土安全部(DHS)联合授予网络防御领域学术卓越中心。他是UNG计算机科学系的终身教授,自1998年起,他就开始教授许多有抱负的程序员和网络专业人士,包括指导UNG的网络战队在“NSA密码破解挑战赛”中获得全美第一。2017年,他获得乔治亚大学系统的卓越校长服务奖年度领导者奖。佩恩博士也被UNG校友会评为“2021年度杰出教授”。

佩恩博士是一名认证的信息系统安全专家(CISSP)和认证道德黑客(CEH),并获得精英SANS|GIAC GPEN、GRID和GREM认证。他已经申请了超过4500万美元的补助,用于劳动力发展、技术教育和网络安全等方面,通过关于编码和道德黑客的在线课程,他已经培训了60000多名学生,还开设了三门Udemy顶级课程。他还是UNG的第一任计算机科学系主任,喜欢与世界各地的K-12学校合作,推动计算机科学和网络安全教育。

佩恩博士拥有乔治亚州立大学计算机科学博士学位,曾被Wall Street JournalCampus TechnologyCIO等杂志报道。他还是Teach Your Kids to CodeLearn Java the Easy Way的作者,这两本书均由No Starch出版社出版。他专注编程、黑客攻击和逆向工程软件等超过36年。除了对技术的热爱,他还喜欢学习语言,会说西班牙语、法语、俄语和汉语普通话。

技术审稿人简介

布赖恩·费根(Bryan Fagan)是一名编码爱好者,居住在乔治亚州达洛尼加,在这里,他大部分时间都在教授高中生有关网络安全的知识。他已经开创了几个专注于工程、技术和数字游戏设计的课后项目。

前  言

黑客攻击是一项有用的实践技能。如果用途合乎道德,这些技术可以帮你恢复忘记的密码或访问你认为已经永远消失的文件。学习黑客技术也可以保护个人信息,使你免受在线攻击者的攻击。事实上,抢在坏人之前把自己“攻击”一遍是保护自己免受网络犯罪侵害的最佳方式之一。

本书主要是教你像黑客一样思考,并将这些技能应用于解决问题、保障网络安全和保持在线安全等方面。

计算机黑客技术简述

黑客技术是用已经存在的工具做一些新颖或让人意想不到的事情,有点类似于一些“生活窍门”,比如用牙线干净利落地切下一片蛋糕,或重复使用一个空的薄荷糖容器来存放回形针。自从人类在这个星球上存在以来,我们就一直在为周围的事物开发新的工具和用途。

计算机黑客技术也与此类似。我们一直在用计算机技术进行创新性活动。我们通过编程,将一种文件格式转换为另一种文件格式,从而整合两个原本不能协同工作的程序。我们可以入侵浏览器或者电子表格程序来玩游戏。或者,如果你不够谨慎,其他人可以给你发送病毒邮件,入侵你的计算机,这样他们就能访问你的文件、密码,甚至网络摄像头。

本书将像教授武术一样,教你学习计算机黑客技术,你将学会如何攻击与格挡。我们还将在虚拟实验室中,以安全的方式对自己执行同样的攻击,从而教你学会保护自己和他人免受网络攻击。通过使用黑客必备的工具和技术,你将了解到各种需要防范的网络威胁。

恪守道德

黑客的种类有很多,但由于黑客这个词被滥用,所以我们在本书中将称呼自己为“道德黑客”,这表明我们会基于道德与法律来使用学到的黑客技术。当提到一些行为不合法或不道德的人时,我会使用“攻击者”或“恶意黑客”这两个术语。

道德黑客首先需要获得系统所有者的完全许可,而后使用攻击者的工具和技术来测试计算机系统的弱点。他们的目标是找出薄弱点来提高系统的安全性。我们将这一过程称为强化系统:定位和消除弱点,使系统不容易受到攻击。

道德黑客也被称为“白帽”黑客,而“黑帽”黑客则是指那些不道德地使用网络攻击的人,无论是为了经济利益、故意破坏还是其他不道德的原因。为了说明这种区别,假设你在人行道上捡到一把钥匙。单单捡到钥匙并不是不道德的。事实上,如果你走到最近的住宅,敲门,询问主人钥匙是不是他们的,这是完全合乎道德的,“白帽”黑客的做法就与此类似。但如果你拿起钥匙,开始在街上走来走去,到各个门上试钥匙,你的行为就违法了,因为你没有得到主人的允许就使用钥匙或进入他们的家,这就是“黑帽”黑客的做法。

当你翻阅本书时,可能会发现许多公开的数字“钥匙”。例如,一些具有创造性的网络搜索可能会将当地杂货店的监控摄像头的默认用户名和密码显示出来。单单找到这些信息并不是不道德的。告诉商店经理可以在网上看到监控摄像头也不是不道德的,但如果你试图使用这些用户名和密码来观看摄像头拍下的视频,那就是不道德的,因为你没有得到所有者的授权。

未经允许就访问他人的计算机或设备是不道德的,通常也是非法的,就像未经允许进入他人房子属于非法入侵一样,即使是因为他们不小心把门开着,或把钥匙掉在了人行道上。人们会根据你的行为来判断你是否恪守道德。请像“白帽”黑客一样执行攻击,将你在本书中学到的技能用在好的方面,而不是坏的方面。

本书各章内容提要

本书将展示如何攻击和防御,通过逐章训练,你将掌握一定的道德黑客所应具备的技能。其中,前两章介绍的技巧非常简单,你不需要任何特殊的工具,只需要一台普通的计算机和浏览器即可。

第1章将展示如何破解一个保存在浏览器中的密码。如果攻击者拿到了你的密码,就能窃取你的登录信息,从你的账号中窃取信息或钱财。

第2章将利用可能放在壁橱、车库或阁楼里的旧的Windows PC或MacBook,以此来展示攻击以及恢复你以为已经丢失的文件。

第 3 章将展示如何在自己的计算机上建立一个安全的虚拟攻击实验室环境。这将让你安全地实践在后续章节介绍的高级技巧,而不会让计算机或个人处于危险之中。

第4章将介绍黑客如何使用简单的工具来收集他们保护或攻击的个人或公司的信息,比如通过搜索引擎和社交媒体帖子。你还将学习如何保护自己免受网络暴徒的攻击,因为后者经常利用社交媒体监视潜在受害者。

第5章将为你展示攻击者如何通过钓鱼邮件诱骗用户提供用户名和密码,并将曝光钓鱼邮件和欺骗网站的创建。

第6章会解释攻击者如何使用感染病毒的文件并通过互联网远程控制计算机。你将在安全的虚拟黑客实验室中创建一个真实的病毒并攻击一台模拟的Windows计算机。

第7章将阐述“黑帽”黑客如何窃取和破解Windows计算机上每个用户的密码,你也将从中学会如何让自己的密码更为安全。

第8章会讲述Web应用程序的攻击和防御。恶意黑客清楚,被入侵的网络应用可以泄露成千上万的用户信息。

第9章将分析攻击者如何通过创建恶意移动应用程序来控制用户的智能手机,进而窃取用户个人信息,包括短信和照片。

第10章将介绍如何入侵一辆(模拟)汽车,从而让我们了解攻击者是如何超越个人计算机和手机,进入智能电器和其他联网设备的世界的。

最后,第11章将总结10个即时可用的关键性举措来保障网络安全,也归纳了本书中最重要的技巧和提示。请相信,我们只需一些简单的自卫步骤,就可以防御大多数的在线攻击。

网络自卫要领

当你在后面的章节中逐步了解并实践黑客攻击技术时,你会学到更多“白帽”黑客用来保护系统的核心行为。要想培养良好的网络自卫能力,首先应了解来自网络掠夺者和网络攻击者的危险,然后再了解如何避免自己成为容易受攻击的目标。通过更多的练习,你将能够保护自己和他人免受高度复杂的真实攻击。

只要在计算机和其他设备的使用方式上做出一些关键的改变,你就可以从网络受害者变成网络捍卫者。让我们开始吧!

资源与支持

本书由异步社区出品,社区(https://www.epubit.com/)为您提供后续服务。

提交勘误信息

作者、译者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,单击“发表勘误”,输入勘误信息,单击“提交勘误”按钮即可。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

与我们联系

我们的联系邮箱是contact@epubit.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区在线投稿(直接访问www.epubit.com/contribute即可)。

如果您所在的学校、培训机构或企业想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接通过邮件发送给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

关于异步社区和异步图书

异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网https://www.epubit.com。

“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、AI、测试、前端、网络技术等。

异步社区

微信服务号

第1章 隐藏式安全

在这一章中,你将开始学习如何像黑客一样思考,寻找安全措施中的弱点。你会通过一个简单的破解方法找出隐藏在浏览器中的密码。这种方法之所以有效,是因为浏览器采用隐藏式安全(Security Through Obscurity,STO)方式来保护密码。

STO是一种尝试通过隐藏来保护某些东西的安全的技术。在现实生活中,把家里的钥匙藏在门口的地垫下就是一个STO例子。房子可能看起来很安全,但一旦有人想到要查看垫子下面,这种安全感就被打破了。

通过隐藏来保证安全并非完全不可行,但如果仅凭这一方法,就太糟糕了。很可惜,STO经常失效,尤其是当它应用于计算机时。例如,许多用户会将密码藏在计算机的文本文档或Excel电子表格中,甚至会藏在键盘下或抽屉里的便笺上。这些密码太容易被发现了,比本章的那个密码更容易破解。类似地,一些软件开发人员将密码和其他秘密的值通过硬编码的方式放置到应用程序中,但熟练的黑客通常能轻松找到并破解这些值。

正如你将在本章中看到的,如果唯一保障安全的方式仅仅是隐藏,那么对于有动机的入侵者而言,他们入侵计算机的全部障碍也只是在寻找攻击途径上花费一些时间和精力而已。

1.1 浏览器是如何“保护”密码的

当你输入密码登录在线服务(如电子邮件或社交媒体账号)时,Web浏览器通常会用点或星号隐藏密码。这样,躲在你身后偷看的人就看不到了。如果你让浏览器保存密码,那么你再回到这个网站时,这些点或星号会自动出现在密码栏中。

这些点或星号是一个很好的STO例子。浏览器没有加密你的密码或以任何其他特殊方式保护它,它只是隐藏了密码字段中的字符,以保护密码不被随意偷窥。这种技术实际上一点也不安全。事实上,黑客只需要在你的键盘上敲上几秒就能看到密码。

1.2 隐藏密码的泄露

为了揭示浏览器隐藏的密码是如何泄露的,我们将使用浏览器的检查工具。这个工具允许你查看和临时编辑网页的源代码,这些代码会告诉浏览器如何显示网页。我们将更改使密码显示为点或星号的那段源代码。完成后,密码将以普通文本的方式显示出来。

这不是那种可以一举损害数百万人的私人数据的黑客行为。相反,这说明了黑客攻击的一个指导原则,即以创造性的方式使用现有工具(在这个场景中是通过浏览器的检查工具)来完成特定的目标:揭示隐藏的密码。同时,这次攻击还表明,如果攻击者能够通过物理方式访问你的计算机,那么在浏览器中存储密码存在很大风险。

让我们以推特(Twitter)登录页面为例,尝试一下这种方法。首先输入一个假的用户名和密码,然后启动浏览器的Inspect工具,更新源代码以暴露密码。

1.打开谷歌Chrome浏览器,然后访问推特首页。这次攻击也可以在其他浏览器上运行,但为了简单起见,我们使用Chrome浏览器。

2.在用户名字栏中输入用户名,并在密码栏中输入“Notmyrealpassword”。不要输入你的真实密码。密码会被星号隐藏,如图1-1所示。

图1-1 浏览器通常用点或星号来隐藏密码

3.右键单击(或在Mac上按住Control键单击)密码栏并选择Inspect,如图1-2所示。检查工具应该会在浏览器中打开,它看起来像是显示代码的各种窗口的一种组合。因为你通过右键单击密码栏打开了检查工具,所以浏览器应该已经把在登录页面中创建密码字段的代码部分进行了高亮显示。

图1-2 检查密码

4.在突出显示的代码中找到type="password"并双击单词password将其选中,如图1-3所示。这段代码是浏览器识别密码字段的方式。浏览器知道应该隐藏password类型字段中的任何文本。

图1-3 在检查工具中查找type="password"

5.password被高亮后,按空格键将password替换为空格(type=" "),如图1-4所示。我们现在已经修改了(或破解了)密码字段的代码,这样浏览器就不知道它是一个密码类型的字段。这将显示密码字段中的任何文本!

注意:这种破解行为并不影响推特本身的页面,它只是改变了你的浏览器显示推特登录页面的方式。

6.按回车键,在浏览器中显示更新后的代码。现在你应该能在浏览器窗口看到你输入的密码以普通文本形式显示了,如图1-5所示。

图1-4 替换type="password"中的单词password

图1-5 密码现在是可见的

这种攻击之所以奏效,是因为Web开发人员用于创建密码字段的<input>标签是不安全的,而且它已存在了二十多年。在20世纪90年代,当早期的Web开发人员将<input>标记添加到用以在浏览器上显示网页的超文本标记语言(HTML)中时,它们唯一的安全功能是通过使用额外的代码type="password",用点或星号替换密码字符。然而,由于常规文本框也使用<input>标记,所以我们可以使用检查工具将密码输入栏更改为常规文本输入,只需将type="password"更改为type=" "即可。

1.3 黑客技术的应用和滥用

我们刚刚实施的黑客技术有着实际的、合乎道德的应用。因为存储在浏览器中的密码是自动填充的,但在网站的登录页面上会被隐藏,所以你可以使用这个简单的方法来找回已经忘记的密码。如果你将密码存储在一台机器,比如家里的计算机上,但必须定期通过其他机器登录,比如办公计算机、家庭成员的计算机或移动设备时,这将很有帮助。如果你在另一台计算机上尝试登录时忘记了密码,你可以通过对家用计算机上存储的密码取消隐藏来查找密码,而不是重设密码。

这种黑客技术也可以用在合乎道德的其他方面。例如,如果一名员工意外地离开了一家公司,经公司所有者授权,道德黑客可以使用这种技术来恢复该员工负责的重要在线账号的密码。

熟练的话,你可以在5秒之内轻松完成这个破解。然而,这也意味着,如果你在公共计算机上存储了密码,任何人只要接触到那台计算机,只需要5秒就能窃取它。恶意黑客可以走进世界上几乎任何地方的酒店大厅或公共图书馆,坐在计算机前检查浏览器历史记录中人们最近访问过的网站,并查看是否有潜在的受害者在登录他们的私人账号时保存了密码。

你甚至不需要把密码保存在浏览器里,别人也会窃取它。如果在公共场所,当你在网站上输入密码时,假如有人把你从计算机前引开,他们就可以用这种技术窃取你的密码。他们甚至可以修复type="password"代码并关闭检查工具来掩盖踪迹!如果多个账号都使用了相同的密码,攻击者现在也可以访问其他所有账号了。

1.4 保护你的密码

当我们讨论的黑客技术被恶意使用时,你的密码安全就会面临明显的风险。不过,采取一些简单的方法就可以起到保护作用。因为,只有当黑客能够通过物理方式访问存储的密码时,这种攻击才是可行的,因此防止攻击的关键在于,要么根本不在浏览器中存储密码,要么控制以下因素。

密码存储位置:仅在归你所有并且你会随身携带的计算机或移动设备上将密码存储在浏览器中,切勿将密码存储在公共计算机上。

密码存储类型:千万不要存储邮箱密码,因为攻击者通常可以通过邮箱账号发现或者重置你的其他所有密码。

可以访问你的计算机的人:将你的计算机随身携带或存放在安全的地方,如果你必须从计算机屏幕前走开,哪怕只走开一分钟,也不要让它开着。

如果你必须从公共计算机连接到私人账号,请使用Chrome中的匿名模式(Ctrl-Shift-n),或在Firefox中打开一个新的隐私窗口(Ctrl-Shift-p),在Safari中的快捷键组合是Shift-⌘-n。当完成会话时,请记住注销并完全关闭浏览器。即使你注销或使用匿名模式,共享计算机仍然是危险的,因为恶意软件可以记录你在键盘上按下了哪些键或其他信息。事实上,在第6章中,我们将创建一个病毒来捕获击键。只有在绝对必要的情况下,才在公共计算机上登录账号。此外,当你回到自己的计算机上时,最好能更改密码。

如果你在公共场所使用个人计算机,当你离开时,一定要注销或者锁定屏幕,或者最好能随身携带计算机。将你的锁屏或屏幕保护设置为在不执行操作的情况下几分钟后即启动,以缩短计算机易受攻击的时间,以防你自己忘记锁屏。使用强密码或尝试使用4个或更多的单词,而不是像password123这类显而易见的密码。这样,即使你的计算机无人看管,其他人也不能轻易将其解锁。

除了这些措施,你还应该利用其他密码安全工具,例如两步验证和KeePass、Dashlane、LastPass等密码管理器。我们将在第11章讨论这些工具。

保护自己的计算机免受攻击需要一些聪明的预防措施,但更重要的是要知道如何平衡便利性和安全性。将所有密码都存储在浏览器中看起来很方便,因为你永远都不需要再输入密码,但这也意味着任何可以访问那台计算机的人都可以窃取你的密码和账号。无论是在现实世界还是在网上,我们都必须在便利和安全之间找到恰当的平衡。

1.5 小结

在本章中,你了解到STO的脆弱性,可知它一点也不安全。你还学习了如何只用几步就在数秒内获取输入浏览器中的密码,以及为何不要在公共或共享计算机上存储密码。此外,你现在知道如何从物理上保护计算机免受不认识或不信任的人的攻击:能使用你的键盘的人,极有可能会访问你的敏感信息。

本章讨论的黑客技术是物理攻击的一个例子,攻击者需要真正访问你的计算机才能执行它。第2章将介绍其他物理攻击方法,看看黑客如何在不需要登录信息的情况下获取你的硬盘文件。

相关图书

数字银行安全体系构建
数字银行安全体系构建
CTF快速上手:PicoCTF真题解析(Web篇)
CTF快速上手:PicoCTF真题解析(Web篇)
软件开发安全之道概念、设计与实施
软件开发安全之道概念、设计与实施
企业信息安全体系建设之道
企业信息安全体系建设之道
深入浅出密码学
深入浅出密码学
内网渗透技术
内网渗透技术

相关文章

相关课程