Wade Alcorn, Christian Frichot, Michele Orrù Copyright © 2014 by John Wiley & Sons, Inc., Indianapolis, Indiana ISBN: 978-1-118-66209-0 ISBN: 978-1-118-66210-6 (ebk) ISBN: 978-1-118-91435-9 (ebk)
关于作者
Wade Alcorn(@WadeAlcorn)
BeEF(浏览器漏洞利用框架:浏览器漏洞利用最流行工具之一)创建者;NCC集团亚太区总经理,主管关键基础设施、银行、零售商和其他企业的安全评估;发表多篇新兴威胁技术论文,发现了流行软件中的多个漏洞。
Christian Frichot(@xntrik)
多个IT行业从业经历;活跃软件开发者,主攻数据可视化、数据分析,辅助企业更有效管理安全和过程。作为BeEF开发者之一,他还花费大量时间研究怎么更好地利用浏览器及其技术辅助渗透测试。
Michele Orrù(@antisnatchor)
BeEF项目核心开发者和人员招募者,具备多种编程语言和框架的深度知识,钟爱发散思维和共产主义乌托邦,众多黑客大会演讲人。
关于贡献作者
Ryan Linn(@sussurro)
渗透测试员、作家、程序员、教育者;具系统管理员和Web应用开发背景,多年IT安全从业经验。目前是全职渗透测试员,多个开源项目的常规贡献者,比如Metasploit、BeEF和Ettercap项目;数个安全大会的演讲者,比如DefCon、Black Hat。
Martin Murfit(@SystemSystemSyn)
拥有物理学学位,但整个职业生涯都在从事各种形式的渗透测试,是跨国安全公司 Trustwave SpiderLabs 渗透测试团队欧洲、中东和亚洲(EMEA)区顾问兼经理,发现过公开记录的漏洞,曾在黑帽大会等安全会议上演讲或做幕后工作。
关于技术编辑
Dr.-Ing. Mario Heiderich(@0x6D6172696F)
德国渗透测试机构Cure53创始人,认为XSS终能通过使用JavaScript彻底根治,发起了HTML5安全欺骗表等安全相关的项目;业余时间为大型德国企业和跨国公司进行培训和安全咨询工作;在多个国际安全会议上发表过演讲;与人合著了两本书和多篇学术论文。
引言
本书概览
本书主要涉及Firefox、Chrome、IE及少量现代移动浏览器。
Web浏览器是当今数据呈现、检索和导航的瑞士军刀,自1990年蒂姆·博纳-李爵士发明了Web浏览器以来,该远超预期的应用就成为了世界上最受认可的软件之一。
本书将教你怎样入侵和防护现代浏览器。
谁应该阅读本书
有技术背景,想了解Web浏览器实际风险的人。攻防均可。可以是管理员、程序猿,甚至信息安全从业者。
应大体了解服务器-客户端模型、HTTP协议、基本安全概念。未必需要有编程背景,但如果了解一些编程基本原则,在查看代码片段时会很有用。
鉴于JavaScript在浏览器的统治地位,本书很多实践例子都是用它写的。不过,即便没有JavaScript经验也不用担心,代码自带注释。
本书编排
按攻击思维分10章,每章按漏洞类别分节。
第一章:Web浏览器安全:审查攻击利用浏览器的方法学,覆盖浏览器呈现的攻击界面,以及浏览器如何增加了之前以为受保护资产的暴露面。
第二章:初始化控制:探索怎么在目标浏览器中执行你的代码。你将尝试跨站脚本漏洞、中间人攻击、社会工程等等。
第三章:保持控制:介绍怎样维持通信和驻留,给你多次执行指令的互动控制能力。你将在本章学到怎样使用载荷维护与浏览器的通信,发送多次指令迭代。本章是发起后续章节中各种攻击的基础。
第四章:绕过同源策略:同源策略(SOP)限制网站间的互动。但是浏览器本身、插件和扩展应用SOP的程度不同。这种不一致性给攻击者留下了利用边缘案例的机会。本章探索绕过不同SOP控制的方法。你还将发现拖放和各种UI矫正与时间攻击的问题。只要编码正确,SOP绕过技术可将浏览器转化为HTTP代理。
第五章:攻击用户:人往往是安全中最弱的一环。本章带你探索去匿名和秘密启动Web摄像头,在有/没有显式用户介入的情况下执行恶意文件。
第六章:攻击浏览器:尽管全书都讲的是攻击浏览器和绕过其安全控制,本章专注在去除掉所有扩展和插件的裸浏览器上。你将深入探究浏览器指纹获取,学习怎样发起攻击并入侵托管浏览器的主机。
第七章:攻击扩展:扩展就是往Web浏览器里添加/移除功能的软件。扩展与其表兄弟插件不同,不是独立的程序。扩展在受信任区以较高权限执行代码,并从互联网等低信任度区域接受输入。扩展中注入攻击风险甚高,事实上,某些攻击还能导致远程代码执行。本章带你剖析扩展攻击,了解提权漏洞利用。
第八章:攻击插件:插件是独立于Web浏览器执行的软件,Acrobat Reader、Flash Player、Java、QuickTime、RealPlayer、Shockwave和MediaPlayer都是插件。插件是漏洞重灾区,是夺取浏览器控制权的最可靠途径。本章教你使用流行免费工具分析并利用浏览器插件,你将学习绕过“点击播放”这样的防护机制,以及利用漏洞获得目标控制权。
第九章:攻击Web应用:本章关注可不违反同源策略(SOP)从浏览器发起的攻击。你将学到进行跨源资源指纹获取,甚至跨源常用Web应用漏洞发现的各种技巧。通过浏览器还能发现并利用跨源跨站脚本和SQL注入漏洞。但最后,你会理解怎样达成跨源远程代码执行、跨站请求伪造攻击、基于时间的延迟枚举、身份验证攻击,以及拒绝服务攻击。
第十章:攻击网络:通过端口扫描发现未知主机来描绘内网攻击界面,探索过程还有NAT定位这样的呈现技术加持。本章还介绍了利用Web浏览器与非Web服务直接通信的方法,以及利用协议间漏洞利用技术来入侵浏览器内网中的目标。
尾声:最后的想法:关于浏览器安全的未来。
Web上有什么
本书相关网站:https://browserhacker.com或www.wiley.com/go/browserhackershandbook。上面有本书内容相关的信息和增补,还包括了可供复制粘贴的代码片段,章节问题的示例视频。
编译你的武器库
要明确,你的知识才是你工具箱中最重要的工具。本书中最常见到的工具是浏览器漏洞利用框架(BeEF)和Metasploit。本书作者是BeEF项目核心开发人员,大量例子来源于BeEF代码库,绝大部分过程都被自动化了。