注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络信息安全灰帽黑客(第5版)

灰帽黑客(第5版)

灰帽黑客(第5版)

定 价:¥128.00

作 者: [美] 艾伦·哈珀(Allen Harper) 著
出版社: 清华大学出版社
丛编项: 安全技术经典译丛
标 签: 暂缺

购买这本书可以去


ISBN: 9787302527688 出版时间: 2019-06-01 包装: 平装
开本: 16开 页数: 555 字数:  

内容简介

  利用Ettercap来构建和发动欺骗攻击 ? 使用模糊器来诱发错误条件并使软件崩溃 ? 利用高级逆向工程技术对Windows和Linux上的软件发起漏洞攻击 ? 绕过Windows访问控制和内存保护方案 ? 利用Padding Oracle Attack攻击Web应用程序 ? 研究最近0-day漏洞中使用的“释放后重用”技术 ? 使用高级XSS攻击来劫持Web浏览器 ? 理解勒索软件及其如何控制桌面 ? 使用JEB 和DAD反编译器来剖析Android恶意软件 ? 通过二进制比较来查找1-day漏洞 ? 使用软件无线电(SDR)攻击无线系统 ? 攻击物联网设备 ? 剖析和攻击嵌入式设备 ? 了解漏洞赏金计划 ? 部署下一代蜜罐 ? 剖析ATM恶意软件和常见的ATM攻击 ? 从业务角度分析道德黑客攻击

作者简介

  Allen Harper博士,CISSP。Allen曾担任美国海军陆战队(Marine Corps)军官,2007年,在伊拉克之旅结束后退役。Allen拥有30年以上的IT/安全经验。Allen从Capella大学获得IT博士学位,研究方向是信息保障和安全;从海军研究生院(NPS)获得计算机科学硕士学位,从北卡罗来纳州大学获得计算机工程学士学位。Allen负责为Honeynet项目指导开发名为roo的第三代蜜墙CD-ROM。Allen曾担任多家《财富》500强公司和政府机构的安全顾问。Allen对物联网、逆向工程、漏洞发现以及各种形式的道德黑客攻击感兴趣。Allen是N2 Net Security有限公司的创始人,曾担任Tangible安全公司的执行副总裁和首席道德黑客。Allen目前担任利伯缇大学(位于弗吉尼亚州林奇堡市)网络卓越中心的执行总监。Daniel Regalado(又名Danux)是一名墨西哥裔的安全研究员,在安全领域拥有16年以上的丰富经验,曾参与恶意软件、零日攻击、ATM、物联网设备、静脉注射泵和汽车信息娱乐系统的剖析和渗透测试。Daniel曾在FireEye和赛门铁克(Symantec)等知名公司工作,目前担任Zingbox的首席安全研究员。Daniel曾分析针对全球银行ATM的恶意软件攻击,获得多项发明,并因此成名,著名的发明有Ploutus、Padpin和Ripper。Ryan Linn在安全领域积累了逾20年的经验。曾担任系统编程人员、公司安全人员,还领导过全球网络安全咨询工作。Ryan参与过多个开源项目,包括Metasploit和Browser Exploitation Framework (BeEF)等。Ryan的推特账号是@sussurro,曾在多个安全会议(包括Black Hat、DEFCON)上发表研究报告,并为全球机构提供攻击和取证技术方面的培训。Stephen Sims是一位业内专家,在信息技术和安全领域拥有逾15年的经验。Stephen目前在旧金山担任顾问,提供逆向工程、漏洞攻击程序开发、威胁建模和渗透测试方面的咨询。Stephen从诺威治大学获得信息保障硕士学位,是SANS机构的高级讲师、课程作者和研究员,编写高级漏洞攻击程序和渗透测试课程。Stephen曾在多个重要的技术会议上发表演讲,如RSA、 BSides、OWASP AppSec、ThaiCERT和AISA等。Stephen的推特账号是@Steph3nSims。Branko Spasojevic是谷歌检测和响应团队的安全工程师。他曾在赛门铁克担任逆向工程师,并分析过各类威胁和APT组。Linda Martinez是Tangible安全公司商业服务交付部门的首席信息安全官兼副总裁。Linda是一位老道的信息安全执行官和业内专家,具有18年以上的管理技术团队、开拓技术业务范围以及为客户提供优质咨询服务的经验。Linda负责管理Tangible安全公司商业服务交付部门,业务范围包括:渗透测试(红队和紫队操作),硬件攻击,产品和供应链安全,治理、风险管理和合规,应急响应和数字取证。身为首席信息安全官,Linda还为多家公司提供专家级指导。此前,Linda曾担任N2 Net Security的运营副总裁,曾参与创立信息安全研究和咨询公司Executive Instruments,并担任首席运营官。Michael Baucom目前担任Tangible安全公司Tangible实验室的副总裁,曾参与多个项目,包括软件安全评估、SDLC咨询、工具开发和渗透测试。此前,Michael曾在美国海军陆战队担任地面无线电维修员。另外,Michael曾在IBM、Motorola和Broadcom担任多个职位,包括测试工程师、设备驱动程序开发人员以及嵌入式系统软件开发人员。Michael还担任Black Hat培训师,为本书提供技术建议,曾在多个技术会议上发表演讲。Michael目前的研究方向是渗透测试活动的自动化、嵌入式系统安全和手机安全。Chris Eagle是位于加州蒙特利尔的海军研究生院(Naval Postgraduate School,NPS)计算机科学系的高级讲师。作为一位具有30年以上经验的计算机工程师及科学家,他曾撰写多本书籍,曾担任DARPA的Cyber Grand Challenge的首席架构师,经常在安全会议上发表演讲,为安全社区贡献了多个流行的开源工具。Shon Harris(已故)令人无限怀念。Shon是Logical Security公司的总裁、一位安全顾问,曾担任美国空军信息战(U.S. Air Force Information Warfare)部队的工程师,也是一名作家、教育工作者。Shon撰写了畅销全球的《CISSP认证考试指南》(新版本是第8版)以及其他多本著作。Shon曾为来自多个不同行业的各类公司提供咨询服务,也曾为广泛的客户讲授计算机和信息安全课程,这些客户包括RSA、Department of Defense、Department of Energy、West Point、National Security Agency (NSA)、Bank of America、Defense Information Systems Agency (DISA)和BMC等。Shon被Information Security Magazine评为信息安全领域25位杰出的女性精英之一。免责声明:本书中发表的内容均属作者个人观点,并不代表美国政府或这里提及的其他任何公司。

图书目录

目    录
 
第Ⅰ部分  备    战
第1章  灰帽黑客—— 道德和法律   3
1.1  了解敌人   3
1.1.1  当前的安全状况   3
1.1.2  识别攻击   5
1.2  灰帽黑客之道   5
1.2.1  模拟攻击   6
1.2.2  测试频率及关注点   9
1.3  网络安全相关法律的演变   10
1.4  本章小结   13
第2章  编程技能   15
2.1  C编程语言   15
2.1.1  C语言程序的基本结构   15
2.1.2  程序示例   22
2.1.3  使用gcc进行编译   23
2.2  计算机内存   24
2.2.1  随机存取存储器   24
2.2.2  字节序   25
2.2.3  内存分段   25
2.2.4  内存中的程序   25
2.2.5  缓冲区   27
2.2.6  内存中的字符串   27
2.2.7  指针   27
2.2.8  内存知识小结   28
2.3  Intel处理器   29
2.4  汇编语言基础   30
2.4.1  机器语言、汇编语言与C语言   30
2.4.2  AT&T与NASM   30
2.4.3  寻址模式   33
2.4.4  汇编文件结构   34
2.4.5  汇编过程   35
2.5  使用gdb进行调试   35
2.5.1  gdb基础   35
2.5.2  使用gdb进行反汇编   37
2.6  Python编程技能   38
2.6.1  获取Python   39
2.6.2  Python的“Hello world”程序   39
2.6.3  Python对象   39
2.6.4  字符串   40
2.6.5  数值   41
2.6.6  列表   42
2.6.7  字典   44
2.6.8  Python文件操作   44
2.6.9  Python套接字编程   46
2.7  本章小结   47
第3章  下一代模糊测试   49
3.1  模糊测试简介   49
3.2  模糊测试器的类型   50
3.2.1  数据变异模糊测试器   50
3.2.2  数据生成模糊测试器   50
3.2.3  遗传模糊测试   50
3.3  Peach数据变异模糊测试   51
3.4  Peach数据生成模糊测试   56
3.5  AFL遗传或进化模糊测试   64
3.6  本章小结   68
第4章  下一代逆向工程   69
4.1  代码标注   69
4.1.1  使用IDAscope的IDB标注   69
4.1.2  C 代码分析   75
4.2  协作分析   79
4.2.1  利用FIRST协作知识   80
4.2.2  使用BinNavi进行协作   82
4.3  动态分析   84
4.3.1  使用Cuckoo沙箱自动执行动态分析   84
4.3.2  使用Labeless填补静态工具与动态工具之间的空隙   85
4.3.3  实验4-1:将IDA标注应用于x64dbg调试器   86
4.3.4  实验4-2:将调试器内存区域导入IDA   87
4.4  本章小结   88
第5章  软件定义的无线电   89
5.1  SDR入门   89
5.1.1  从何处购买   89
5.1.2  了解管理规则   91
5.2  示例   91
5.2.1  搜索   91
5.2.2  捕获   92
5.2.3  重放   94
5.2.4  分析   96
5.2.5  预览   102
5.2.6  执行   104
5.3  本章小结   105
第Ⅱ部分  从业务角度分析黑客攻击
第6章  成为一名渗透测试人员   109
6.1  从新手成长为专家的历程   109
6.1.1  渗透测试精神   110
6.1.2  渗透测试分类   110
6.1.3  未来的黑客攻击   110
6.1.4  了解技术   111
6.1.5  知道什么是“良好”的   111
6.1.6  渗透测试培训   112
6.1.7  实践   112
6.1.8  学位课程   115
6.1.9  知识传播   115
6.2  渗透测试人员和职业技能   116
6.2.1  个人责任   116
6.2.2  成为一名值得信赖的顾问   117
6.2.3  管理渗透测试   119
6.3  本章小结   122
第7章  红队的行动   123
7.1  红队的基本行动   124
7.1.1  策略、行动和战术重点   124
7.1.2  评估比较   125
7.2  红队的目标   126
7.3  常见问题   127
7.3.1  范围受限   127
7.3.2  时间受限   127
7.3.3  参与者受限   127
7.3.4  克服条件的限制   127
7.4  沟通   128
7.4.1  规划会议   128
7.4.2  确定可衡量的事件   129
7.5  理解威胁   129
7.6  攻击框架   130
7.7  测试环境   131
7.8  自适应测试   132
7.8.1  外部评估   132
7.8.2  物理安全评估   133
7.8.3  社交工程攻击   133
7.8.4  内部评估   134
7.9  吸取的教训   135
7.10  本章小结   136
第8章  紫队的行动   137
8.1  紫队简介   137
8.2  蓝队的基本行动   138
8.2.1  了解敌人   139
8.2.2  了解自己   139
8.2.3  安全程序   140
8.2.4  事故响应程序   140
8.2.5  常见的蓝队挑战   142
8.3  紫队的基本行动   143
8.3.1  决策框架   143
8.3.2  破坏杀伤链   144
8.3.3  杀伤链对策框架   146
8.3.4  沟通   146
8.4  紫队的优化和自动化   147
8.5  本章小结   148
第9章  漏洞赏金计划   149
9.1  漏洞披露的历史   149
9.1.1  完全向供应商披露   150
9.1.2  完全向公众披露   151
9.1.3  负责任的披露方式   152
9.1.4  再没有免费的Bug   152
9.2  漏洞赏金计划   153
9.2.1  漏洞赏金计划的类型   153
9.2.2  激励措施   155
9.2.3  围绕漏洞赏金计划的争议   155
9.2.4  主流的漏洞赏金计划促进者   155
9.3  Bugcrowd详解   156
9.3.1  程序所有者Web界面   156
9.3.2  程序所有者API示例   161
9.3.3  研究人员Web界面   162
9.4  通过发现漏洞谋生   163
9.4.1  选择一个目标   163
9.4.2  如有必要,进行注册   163
9.4.3  理解游戏规则   164
9.4.4  发现漏洞   164
9.4.5  报告漏洞   164
9.4.6  领取赏金   165
9.5  事故响应   165
9.5.1  沟通   165
9.5.2  鉴别和分级   165
9.5.3  修复   166
9.5.4  向用户披露   166
9.5.5  公关   166
9.6  本章小结   167
第Ⅲ部分  漏 洞 攻 击
第10章  不使用漏洞获取权限   171
10.1  捕获口令哈希   171
10.1.1  理解LLMNR和NBNS   171
10.1.2  理解Windows NTLMv1和NTLMv2身份认证   172
10.1.3  使用Responder   173
10.1.4  实验10-1:使用Responder获取口令   175
10.2  使用Winexe   178
10.2.1  实验10-2:使用Winexe访问远程系统   178
10.2.2  实验10-3:使用Winexe提升权限   179
10.3  使用WMI   180
10.3.1  实验10-4:使用WMI查询系统信息   180
10.3.2  实验10-5:使用WMI执行命令   182
10.4  利用WinRM   185
10.4.1  实验10-6:使用WinRM执行命令   185
10.4.2  实验10-7:使用WinRM远程运行PowerShell   186
10.5  本章小结   188
第11章  基本的Linux漏洞攻击   189
11.1  堆栈操作和函数调用过程   189
11.2  缓冲区溢出   191
11.2.1  实验11-1:meet.c溢出   192
11.2.2  缓冲区溢出的后果   196
11.3  本地缓冲区溢出漏洞攻击   197
11.3.1  实验11-2:漏洞攻击的组件   197
11.3.2  实验11-3:在命令行上进行堆栈溢出漏洞攻击   200
11.3.3  实验11-4:使用通用漏洞攻击代码进行堆栈溢出漏洞攻击   203
11.3.4  实验11-5:对小缓冲区进行漏洞攻击   205
11.4  漏洞攻击的开发过程   208
11.5  本章小结   215
第12章  高级的Linux漏洞攻击   217
12.1  格式化字符串漏洞攻击   217
12.1.1  格式化字符串   217
12.1.2  实验12-1:从任意内存读取   222
12.1.3  实验12-2:写入任意内存   224
12.1.4  实验12-3:改变程序执行   226
12.2  内存保护机制   229
12.2.1  编译器的改进   229
12.2.2  实验12-4:绕过栈保护   231
12.2.3  内核补丁和脚本   234
12.2.4  实验12-5:Return to Libc漏洞攻击   235
12.2.5  实验12-6:使用ret2libc保持权限   240
12.2.6  结论   244
12.3  本章小结   245
第13章  基本的Windows漏洞攻击   247
13.1  编译和调试Windows程序   247
13.1.1  实验13-1:在Windows上编译程序   248
13.1.2  Windows编译选项   249
13.1.3  在Windows上使用Immunity Debugger进行调试   250
13.1.4  实验13-2:程序崩溃   253
13.2  编写Windows漏洞攻击程序   256
13.2.1  回顾漏洞攻击程序的开发过程   256
13.2.2  实验13-3:攻击ProSSHD服务器   256
13.3  理解SEH   267
13.4  理解和绕过Windows内存保护   269
13.4.1  SafeSEH   269
13.4.2  绕过SafeSEH   270
13.4.3  SEHOP   271
13.4.4  绕过SEHOP   271
13.4.5  基于堆栈的缓冲区溢出检测(/GS)   278
13.4.6  绕过/GS   280
13.4.7  堆保护   280
13.5  本章小结   281
第14章  高级的Windows漏洞攻击   283
14.1  DEP   283
14.2  ASLR   284
14.3  EMET和Windows Defender Exploit Guard   285
14.4  绕过ASLR   285
14.5  绕过DEP和ASLR   287
14.5.1  VirtualProtect函数   287
14.5.2  ROP   287
14.5.3  指令片段   288
14.5.4  构建ROP链   289
14.6  通过内存泄漏突破ASLR   293
14.6.1  触发缺陷   294
14.6.2  跟踪内存泄漏   297
14.6.3  内存泄漏武器化   308
14.6.4  构建RVA ROP链   311
14.7  本章小结   315
第15章  PowerShell漏洞攻击   317
15.1  为什么使用PowerShell   317
15.1.1  利用现有资源   317
15.1.2  PowerShell日志记录   318
15.1.3  PowerShell的可移植性   319
15.2  加载PowerShell脚本   319
15.2.1  实验15-1:攻击条件   319
15.2.2  实验15-2:在命令行上传递命令   321
15.2.3  实验15-3:编码的命令   322
15.2.4  实验15-4:通过Web启动   323
15.3  使用PowerSploit进行漏洞攻击和后漏洞攻击   325
15.3.1  实验15-5:设置PowerSploit   325
15.3.2  实验15-6:通过PowerShell运行Mimikatz   327
15.3.3  实验15-7:使用PowerSploit创建持续访问   330
15.4  使用Empire实现命令和控制   333
15.4.1  实验15-8:设置Empire   333
15.4.2  实验15-9:使用Empire执行命令和控制   333
15.4.3  实验15-10:使用Empire攻克系统   334
15.5  本章小结   337
第16章  下一代Web应用程序漏洞攻击   339
16.1  XSS演化史   339
16.1.1  设置环境   340
16.1.2  实验16-1:温习XSS   341
16.1.3  实验16-2:XSS规避Internet防线   344
16.1.4  实验16-3:使用XSS更改应用程序逻辑   346
16.1.5  实验16-4:为XSS使用DOM   348
16.2  框架漏洞   351
16.2.1  设置环境   352
16.2.2  实验16-5:CVE-2017-5638漏洞攻击   352
16.2.3  实验16-6:CVE-2017-9805漏洞攻击   354
16.3  Padding Oracle Attack   357
16.4  本章小结   360
第17章  下一代补丁漏洞攻击   361
17.1  有关二进制比较的介绍   361
17.1.1  应用程序比较   361
17.1.2  补丁比较   362
17.2  二进制比较工具   363
17.2.1  BinDiff   364
17.2.2  turbodiff   365
17.2.3  实验17-1:首次文件比较   367
17.3  补丁管理流程   369
17.3.1  微软星期二补丁   370
17.3.2  获得并提取微软补丁   371
17.3.3  实验17-2:比较MS17-010   372
17.4  通过比较补丁进行漏洞攻击   375
17.4.1  DLL旁路漏洞   375
17.4.2  实验17-3:比较MS16-009   377
17.5  本章小结   382
第Ⅳ部分  高级恶意软件分析
第18章  剖析移动平台恶意软件   385
18.1  Android平台简介   385
18.1.1  Android应用程序包   385
18.1.2  应用程序清单   387
18.1.3  分析DEX   389
18.1.4  Java反编译   391
18.1.5  DEX反编译   392
18.1.6  DEX反汇编   394
18.1.7  示例18-1:在模拟器中运行APK   395
18.1.8  恶意软件分析   397
18.1.9  示例18-2:运用Droidbox进行黑盒APK监控   401
18.2  iOS平台   403
18.2.1  iOS安全   403
18.2.2  iOS应用程序   405
18.2.3  实验18-1:分析二进制属性列表文件   405
18.2.4  实验18-2:iPhone 4S越狱   406
18.2.5  实验18-3:解密Apple商店应用程序   407
18.3  本章小结   409
第19章  剖析勒索软件   411
19.1  勒索软件的历史   411
19.2  赎金支付选项   412
19.3  剖析Ransomlock   413
19.3.1  示例19-1:动态分析   413
19.3.2  示例19-2:静态分析   415
19.4  Wannacry   428
19.5  本章小结   434
第20章  ATM恶意软件   435
20.1  ATM概览   435
20.2  XFS概览   437
20.2.1  XFS体系结构   438
20.2.2  XFS管理器   439
20.3  分析ATM恶意软件   443
20.3.1  ATM恶意软件的类型   443
20.3.2  攻击者是如何在ATM上安装恶意软件的   444
20.3.3  剖析恶意软件   446
20.3.4  针对ATM恶意软件的对策   453
20.4  本章小结   454
第21章  欺骗:下一代蜜罐   455
21.1  欺骗简史   455
21.1.1  作为欺骗形式的蜜罐   456
21.1.2  部署时的考虑事项   458
21.1.3  设置虚拟机   458
21.2  开源蜜罐   459
21.2.1  实验21-1:Dionaea   459
21.2.2  实验21-2:ConPot   462
21.2.3  实验21-3:Cowrie   463
21.2.4  实验21-4:T-Pot   466
21.3  可选的商业化产品:TrapX   471
21.4  本章小结   480
第Ⅴ部分  物  联  网
第22章  攻击目标:物联网   483
22.1 IoT   483
22.1.1  连接设备的类型   483
22.1.2  无线协议   484
22.1.3  通信协议   485
22.1.4  安全方面的考虑事项   485
22.2  Shodan IoT搜索引擎   486
22.2.1  Web界面   486
22.2.2  实验22-1:使用Shodan命令行工具   488
22.2.3  Shodan API   489
22.2.4  实验22-2:测试Shodan API   489
22.2.5  实验22-3:使用MQTT   491
22.2.6  未经身份认证访问MQTT带来的启示   492
22.3  IoT蠕虫:只是时间问题   493
22.3.1  实验22-4:Mirai依然存在   493
22.3.2  预防措施   494
22.4  本章小结   494
第23章  剖析嵌入式设备   495
23.1  CPU   495
23.1.1  微处理器   495
23.1.2  微控制器   496
23.1.3  SoC   496
23.1.4  常见的处理器架构   496
23.2  串行接口   497
23.2.1  UART   497
23.2.2  SPI   502
23.2.3  I2C   503
23.3  调试接口   503
23.3.1  JTAG   503
23.3.2  SWD   505
23.4  软件   506
23.4.1  启动加载程序   507
23.4.2  无操作系统   508
23.4.3  实时操作系统   508
23.4.4  通用操作系统   509
23.5  本章小结   509
第24章  攻击嵌入式设备   511
24.1  对嵌入式设备中的漏洞进行静态分析   511
24.1.1  实验24-1:分析更新包   511
24.1.2  实验24-2:执行漏洞分析   515
24.2  使用硬件执行动态分析   518
24.2.1  设置测试环境   518
24.2.2  Ettercap   519
24.3  使用模拟器执行动态分析   523
24.3.1  FIRMADYNE工具   523
24.3.2  实验24-3:设置FIRMADYNE   523
24.3.3  实验24-4:模拟固件   525
24.3.4  实验24-5:攻击固件   528
24.4  本章小结   529
第25章  反制物联网恶意软件   531
25.1  对物联网设备的物理访问   531
25.1.1  RS-232概述   532
25.1.2  RS-232引脚排列   532
25.1.3  练习25-1:排除医疗设备的RS-232端口故障   533
25.2  建立威胁实验室   539
25.2.1  ARM和MIPS概述   540
25.2.2  实验25-1:使用QEMU设置系统   541
25.3  动态分析物联网恶意软件   544
25.3.1  实验25-2:动态分析恶意软件   544
25.3.2  PANDA   545
25.3.3  BeagleBone Black开发板   546
25.4  物联网恶意软件的逆向工程   546
25.4.1  ARM/MIPS指令集速成   546
25.4.2  实验25-3:IDA Pro远程调试和逆向工程   549
25.4.3  练习物联网恶意软件逆向工程   553
25.5  本章小结   555
 

本目录推荐