图书介绍
灰帽黑客 正义黑客的道德规范、渗透测试、攻击方法和漏洞分析技术 第4版PDF|Epub|txt|kindle电子书版本网盘下载
- (美)DANIELREGALADO,SHONHARRIS等著;李枫译 著
- 出版社: 北京:清华大学出版社
- ISBN:7302428670
- 出版时间:2016
- 标注页数:528页
- 文件大小:70MB
- 文件页数:540页
- 主题词:计算机网络-安全技术
PDF下载
下载说明
灰帽黑客 正义黑客的道德规范、渗透测试、攻击方法和漏洞分析技术 第4版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第Ⅰ部分 速成课:备战3
第1章 道德黑客和法律制度3
1.1理解敌方策略的意义3
1.2正义黑客过程4
1.2.1渗透测试过程5
1.2.2不道德黑客的做法7
1.3网络法的兴起8
1.3.1了解各种网络法8
1.3.2关于“黑客”工具的争论13
1.4漏洞披露13
1.4.1各方看待问题的不同角度14
1.4.2个中缘由14
1.4.3 CERT目前采取的工作流程15
1.4.4 Internet安全组织16
1.4.5争议仍将存在17
1.4.6再没有免费的bug了18
1.4.7 bug赏金计划19
1.5本章小结19
1.6参考文献20
1.7扩展阅读21
第2章 编程技能23
2.1 C编程语言23
2.1.1 C语言基本结构23
2.1.2程序范例27
2.1.3使用gcc进行编译28
2.2计算机内存29
2.2.1随机存取存储器(RM)29
2.2.2字节序29
2.2.3内存分段30
2.2.4内存中的程序30
2.2.5缓冲区31
2.2.6内存中的字符串31
2.2.7指针31
2.2.8内存知识小结32
2.3 Intel处理器32
2.4汇编语言基础33
2.4.1机器指令、汇编语言与C语言33
2.4.2 AT&T与NASM33
2.4.3寻址模式36
2.4.4汇编文件结构37
2.4.5汇编过程37
2.5使用gdb进行调试37
2.5.1 gdb基础38
2.5.2使用gdb进行反汇编39
2.6 Python编程技能40
2.6.1获取Python40
2.6.2 Python的Hello World程序40
2.6.3 Python对象41
2.6.4字符串41
2.6.5数字42
2.6.6列表43
2.6.7字典44
2.6.8 Python文件操作45
2.6.9 Python套接字编程46
2.7本章小结47
2.8参考文献47
2.9扩展阅读47
第3章 静态分析49
3.1道德的逆向工程49
3.2使用逆向工程的原因50
3.3源代码分析51
3.3.1源代码审计工具51
3.3.2源代码审计工具的实用性53
3.3.3手工源代码审计54
3.3.4自动化源代码分析59
3.4二进制分析60
3.4.1二进制代码的手工审计60
3.4.2自动化的二进制分析工具72
3.5本章 小结74
3.6扩展阅读74
第4章 使用IDA Pro进行高级分析75
4.1静态分析难点75
4.1.1剥离的二进制文件75
4.1.2静态链接程序和FLAIR77
4.1.3数据结构分析83
4.1.4己编译的C++代码的怪异之处87
4.2扩展IDA Pro89
4.2.1 1DAPython脚本90
4.2.2执行Python代码98
4.3本章 小结98
4.4扩展阅读98
第5章 模糊测试的世界101
5.1模糊测试简介101
5.2选择目标102
5.2.1输入类型102
5.2.2易于自动化102
5.2.3复杂性103
5.3模糊器的类型104
5.3.1变异模糊器104
5.3.2生成模糊器105
5.4开始105
5.4.1寻找模糊测试模板106
5.4.2实验5-1:从互联网档案馆获取样本107
5.4.3利用代码覆盖率选取最优模板集108
5.4.4实验5-2:为模糊测试选取最优样本109
5.5 Peach模糊测试框架110
5.5.1 Peach模糊测试策略115
5.5.2速度的重要性116
5.5.3崩溃分析116
5.5.4实验5-3: Peach变异模糊测试120
5.5.5其他变异模糊器121
5.6生成模糊器121
5.7本章小结122
5.8扩展阅读122
第6章 shellcode策略125
6.1用户空间shellcode125
6.1.1系统调用125
6.1.2基本shellcode126
6.1.3端口绑定shellcode126
6.1.4反向shellcode128
6.1.5查找套接字shellcode129
6.1.6命令执行代码130
6.1.7文件传输代码130
6.1.8多级shellcode130
6.1.9系统调用代理shellcode131
6.1.10进程注入shellcode131
6.2其他shellcode考虑因素132
6.2.1 shellcode编码132
6.2.2自我破坏shellcode133
6.2.3反汇编shellcode134
6.3内核空间shellcode135
6.4本章小结136
6.5参考文献136
6.6扩展阅读137
第7章 编写Linux shellcode139
7.1基本的Linux shellcode139
7.1.1系统调用139
7.1.2使用C进行系统调用140
7.1.3使用汇编语言进行系统调用141
7.1.4 exit系统调用141
7.1.5 setreuid系统调用143
7.1.6利用execve实现创建shell的shellcode144
7.2实现端口绑定shellcode147
7.2.1 Linux套接字编程147
7.2.2用汇编程序创建套接字150
7.2.3测试shellcode152
7.3实现反向连接shellcode155
7.3.1反向连接的C代码155
7.3.2反向连接的汇编程序156
7.4 shellcode编码158
7.4.1简单的异或编码158
7.4.2编码后shellcode的结构158
7.4.3 JMP/CALL XOR解码器示例159
7.4.4 FNSTENV XOR示例160
7.4.5将代码整合起来162
7.5利用Metasploit自动生成shellcode164
7.5.1利用Metasploit生成 shellcode164
7.5.2利用Metasploit对 shellcode进行编码166
7.6本章小结167
7.7扩展阅读167
第Ⅱ部分 漏洞攻击171
第8章 基于欺骗的攻击171
8.1什么是欺骗171
8.2 ARP欺骗172
8.2.1实验8-1:使用Ettercap的ARP欺骗173
8.2.2查看网络流量174
8.2.3修改网络流量175
8.3 DNS欺骗181
8.3.1实验8-2:使用Ettercap进行DNS欺骗182
8.3.2执行攻击183
8.4 NetBIOS名称欺骗和LLMNR欺骗184
8.4.1实验8-3:使用Responder攻击NetBIOS和LLMNR185
8.4.2破解NTLMvl和NTLMv2哈希188
8.5本章小结188
8.6扩展阅读189
第9章 攻击Cisco路由器191
9.1攻击团体字符串和密码191
9.1.1实验9-1:使用Ncrack和Metasploit来猜测凭据191
9.1.2实验9-2:使用onesixtyone和Metasploit猜测团体字符串193
9.2 SNMP和TFTP195
9.2.1实验9-3:使用Metasploit下载配置文件195
9.2.2实验9-4:使用SNMP和TFTP修改配置197
9.3攻击Cisco密码199
9.3.1攻击CiscoType 7密码199
9.3.2实验9-5:使用Cain破解Type 7密码200
9.3.3实验9-6:使用Metasploit解密Type 7密码200
9.3.4攻击CiscoType 5密码201
9.3.5实验9-7:使用John the Ripper攻击CiscoType 5密码201
9.4使用隧道中转流量202
9.4.1实验9-8:建立GRE隧道203
9.4.2实验9-9:在GRE隧道上路由流量205
9.5漏洞攻击和其他攻击209
9.5.1 Cisco漏洞攻击209
9.5.2保持对Cisco设备的访问210
9.6本章小结210
9.7扩展阅读211
第10章 基本的Linux漏洞攻击213
10.1栈操作213
10.2缓冲区溢出214
10.2.1实验10-1:meet.c溢出216
10.2.2缓冲区溢出的后果219
10.3本地缓冲区溢出漏洞攻击220
10.3.1实验10-2:漏洞攻击的组件220
10.3.2实验10-3:在命令行上进行栈溢出漏洞攻击222
10.3.3实验10-4:使用通用漏洞攻击代码进行栈溢出漏洞攻击224
10.3.4实验10-5:对小缓冲区进行漏洞攻击225
10.4漏洞攻击的开发过程228
10.4.1实验10-6:构建定制漏洞攻击228
10.4.2确定偏移229
10.4.3确定攻击向量231
10.4.4生成shellcode232
10.4.5验证漏洞攻击233
10.5本章小结234
10.6扩展阅读234
第11章 高级Linux漏洞攻击235
11.1格式化字符串漏洞攻击235
11.1.1问题描述235
11.1.2实验11-1:从任意内存读取238
11.1.3实验11-2:写入任意内存241
11.1.4实验11-3:改变程序执行242
11.2内存保护机制245
11.2.1编译器的改进245
11.2.2实验11-4:绕过堆栈保护247
11.2.3内核补丁和脚本249
11.2.4实验11-5:“Return to libc”漏洞攻击250
11.2.5实验11-6:使用ret2libc保持权限254
11.2.6结论258
11.3本章小结259
11.4参考文献259
11.5扩展阅读259
第12章 Windows漏洞攻击261
12.1 Windows程序编译与调试261
12.1.1实验12-1:在Windows 上编译程序261
12.1.2在Windows上使用Immunity Debugger 进行调试263
12.1.3实验12-2:程序崩溃265
12.2编写Windows漏洞攻击程序268
12.2.1漏洞攻击程序开发过程回顾268
12.2.2实验12-3:攻击ProSSHD服务器268
12.3理解结构化异常处理(SEH)277
12.4本章小结279
12.5参考文献279
12.6扩展阅读279
第13章 绕过Windows内存保护281
13.1理解Windows内存保护(XP SP3、 Vista、 Windows 7/8、Server 2008和Server 2012)281
13.1.1基于栈的缓冲区溢出检测(/GS)281
13.1.2 SafeSEH282
13.1.3 SEHOP283
13.1.4堆保护283
13.1.5 DEP283
13.1.6 ASLR284
13.1.7 EMET285
13.2绕过Windows内存保护285
13.2.1绕过/GS285
13.2.2绕过SafeSEH286
13.2.3绕过ASLR287
13.2.4绕过DEP287
13.2.5绕过EMET293
13.2.6绕过SEHOP294
13.3本章小结300
13.4参考文献300
13.5扩展阅读301
第14章 攻击Windows访问控制模型303
14.1为何黑客要攻击访问控制机制303
14.1.1多数人并不理解访问控制机制303
14.1.2访问控制漏洞易于攻击304
14.1.3访问控制漏洞的数量巨大304
14.2 Windows访问控制的工作机制304
14.2.1安全标识符304
14.2.2访问令牌305
14.2.3安全描述符308
14.2.4访问检查311
14.3访问控制配置的分析工具314
14.3.1转储进程令牌314
14.3.2转储SD317
14.4特殊SID、特殊访问权限和“禁止访问”318
14.4.1特殊的SID318
14.4.2特殊访问权限320
14.4.3剖析“禁止访问”321
14.5分析访问控制引起的提权漏洞327
14.6各种关注的对象类型的攻击模式328
14.6.1针对服务的攻击328
14.6.2针对Windows注册表DACL的攻击334
14.6.3针对目录DACL的攻击337
14.6.4针对文件DACL的攻击342
14.7其他对象类型的枚举方法346
14.7.1枚举共享内存段346
14.7.2枚举命名管道347
14.7.3枚举进程347
14.7.4枚举其他命名的内核对象(信号量、互斥锁、事件、设备)348
14.8本章小结349
14.9扩展阅读349
第15章 攻击Web应用程序351
15.1概述十大Web漏洞351
15.2 MD5哈希注入352
15.2.1实验15-1:注入哈希352
15.3多字节编码注入357
15.3.1理解漏洞357
15.3.2实验15-2:利用多字节编码358
15.4搜捕跨站脚本攻击(XSS)362
15.4.1实验15-3: JavaScript块中的基本xSS注入363
15.5 Unicode规范化形式攻击364
15.5.1实验15-4:利用Unicode规范化364
15.5.2 Unicode规范化简介365
15.5.3规范化形式366
15.5.4准备好测试的环境367
15.5.5通过x5s插件执行xss 测试368
15.5.6手动发起攻击369
15.5.7添加自己的测试用例370
15.6本章小结371
15.7参考文献372
15.8扩展阅读372
第16章 攻击IE:堆溢出攻击373
16.1设置环境373
16.1.1 WinDbg配置373
16.1.2将浏览器附加到WinDbg374
16.2堆喷射简介374
16.3使用HTML5喷射376
16.3.1实验16-1:使用HTML5执行堆喷射377
16.4 DOM元素属性喷射(DEPS)379
16.4.1实验16-2:使用DEPS技术的堆喷射380
16.5 HeapLib2技术382
16.5.1通过耗尽缓存块来强制执行新的分配383
16.5.2实验16-3: HeapLib2喷射383
16.6使用字节数组的Flash喷射384
16.6.1实验16-4:使用Flash执行基本的堆喷射385
16.7使用整数向量的Flash喷射386
16.7.1实验16-5:使用Flash向量的堆喷射385
16.8利用低碎片堆(LFH)388
16.9本章小结389
16.10参考文献389
16.11扩展阅读389
第17章 攻击IE:释放后重用技术391
17.1释放后重用概述391
17.2分析释放后重用攻击(UAF)394
17.3利用UAF漏洞402
17.4本章小结407
17.5参考文献407
17.6扩展阅读408
第18章 使用BeEF进行高级客户端攻击409
18.1 BeEF基础409
18.1.1实验18-1:设置BeEF409
18.1.2实验18-2:使用BeEF控制台411
18.2挂钩浏览器414
18.2.1实验18-3:基本的XSS挂钩414
18.2.2实验18-4:使用网站欺骗挂钩浏览器415
18.2.3实验18-5:使用shank自动注入挂钩417
18.3使用BeEF获得指纹419
18.3.1实验18-6:使用BeEF获得浏览器指纹419
18.3.2实验18-7:使用BeEF获得用户指纹420
18.3.3实验18-8:使用BeEF获得计算机指纹421
18.4攻击浏览器423
18.4.1实验18-9:使用BeEF和Java来攻击浏览器423
18.4.2使用BeEF和Metasploit攻击浏览器426
18.5自动化攻击430
18.6本章小结432
18.7扩展阅读432
第19章 基于补丁比较的1-day漏洞开发433
19.1有关二进制比较的介绍433
19.1.1应用程序比较433
19.1.2补丁比较434
19.2二进制比较工具434
19.2.1 BinDiff435
19.2.2 turbodiff436
19.2.3实验19-1:首次文件比较438
19.3补丁管理流程440
19.3.1微软周二补丁440
19.3.2实验19-2:获得并提取微软补丁441
19.3.3检查补丁443
19.3.4实验19-3:使用turbodi比较MS14-006445
19.3.5内核调试447
19.3.6实验19-4:内核调试 MS14-006451
19.4本章小结454
19.5参考文献454
19.6扩展阅读454
第Ⅲ部分 高级恶意软件分析457
第20章 剖析Android恶意软件457
20.1 Android平台简介457
20.1.1 Android应用程序包457
20.1.2应用程序清单459
20.1.3分析DEX460
20.1.4 Java反编译462
20.1.5 DEX反编译463
20.1.6 DEX反汇编465
20.1.7练习20-1:在模拟器中运行APK466
20.2恶意软件分析468
20.2.1恶意软件分析入门468
20.2.2练习20-2:运用Droidbox进行黑盒APK监控471
20.3本章小结472
20.4扩展阅读473
第21章 剖析勒索软件475
21.1勒索软件的历史475
21.2赎金支付选项476
21.3剖析Ransomlock476
20.2.1实验21-1:动态分析477
20.2.2实验21-2:静态分析479
21.4 CryptoLocker491
21.5本章小结493
21.6扩展阅读493
第22章 分析64位恶意软件495
22.1 AMD64架构概述495
22.2解密C&C服务器498
22.3本章小结511
22.4扩展阅读511
第23章 下一代逆向工程513
23.1著名的IDA插件513
23.1.1 IDAscope513
23.1.2 IDAToolbag519
23.1.3协作522
23.2基于TrapX的蜜罐和沙箱技术523
23.2.1免费的动态分析工具523
23.2.2商业替代品:TrapX Malware Trap524
23.3本章小结527
23.4参考文献527
23.5扩展阅读527