0day安全:软件缝隙分析技能(第2版)》
第1篇 缝隙运用原理(初级)
第1章 基础知识 2
1.1 缝隙概述 2
1.1.1 bug与缝隙 2
1.1.2 几个令人困惑的安全问题 2
1.1.3 缝隙发掘、缝隙分析、缝隙运用 3
1.1.4 缝隙的发布与0 day呼应 5
1.2 二进制文件概述 5
1.2.1 PE文件格局 5
1.2.2 虚拟内存 6
1.2.3 PE文件与虚拟内存之间的映射 7
1.3 必备东西 11
1.3.1 OllyDbg简介 11
1.3.2 SoftICE简介 11
1.3.3 WinDbg简介 16
1.3.4 IDA Pro简介 18
1.3.5 二进制编辑器 20
1.3.6 VMware简介 21
1.3.7 Python编程环境 28
1.4 Crack小试验 29
第2章 栈溢出原理与实践 38
2.1 系统栈的作业原理 38
2.1.1 内存的不同用处 38
2.1.2 栈与系统栈 39
2.1.3 函数调用时发生了什么 这个key是随机数。假设翻开签名的话,客户端和服务端是用这个做为key进行签名的。40
2.1.4 寄存器与函数栈帧 43
2.1.5 函数调用约好与相关指令 44
2.2 批改邻接变量 47
2.2.1 批改邻接变量的原理 47
2.2.2 打破暗码验证程序 49
2.3 批改函数回来地址 53
2.3.1 回来地址与程序流程 53
2.3.2 控制程序的实行流程 57
2.4 代码植入 62
2.4.1 代码植入的原理 62
2.4.2 向进程中植入代码 62
第3章 开发shellcode的艺术 71
3.1 shellcode概述 71
3.1.1 shellcode与exploit 71
3.1.2 shellcode需求处理的问题 72
3.2 定位shellcode 73
3.2.1 栈帧移位与jmp esp 73
3.2.2 获取“跳板”的地址 76
3.2.3 运用“跳板”定位的exploit 78
3.3 缓冲区的安排 81
3.3.1 缓冲区的组成 81
3.3.2 举高栈顶维护shellcode 83
3.3.3 运用其他跳转指令 83
3.3.4 不运用跳转指令 84
3.3.5 函数回来地址移位 85
3.4 开发通用的shellcode 87
3.4.1 定位API的原理 87
3.4.2 shellcode的加载与调试 88
3.4.3 动态定位API地址的shellcode 89
3.5 shellcode编码技能 98
3.5.1 为什么要对shellcode编码 98
3.5.2 会“变形”的shellcode 99
3.6 为shellcode“减肥” 103
3.6.1 shellcode减肥大法 103
3.6.2 挑选恰当的hash算法 105
3.6.3 191个字节的bindshell 107
第4章 用MetaSploit开发Exploit 119
4.1 缝隙检验渠道MSF 简介 119
4.2 侵略Windows系统 121
4.2.1 缝隙简介 121
4.2.2 图形界面的缝隙检验 121
4.2.3 console界面的缝隙检验 125
4.3 运用MSF制造shellcode 126
4.4 用MSF扫描“跳板” 128
4.5 Ruby言语简介 129
4.6 “傻瓜式”Exploit开发 134
4.7 用MSF发布POC 140
第5章 堆溢出运用 144
5.1 堆的作业原理 144
5.1.1 Windows堆的前史 144
5.1.2 堆与栈的差异 145
5.1.3 堆的数据结构与办理战略 146
5.2 在堆中周游 151
5.2.1 堆分配函数之间的调用联系 151
5.2.2 堆的调试办法 152
5.2.3 辨认堆表 155
5.2.4 堆块的分配 158
5.2.5 堆块的开释 159
5.2.6 堆块的兼并 159
5.2.7 快表的运用 161
5.3 堆溢出运用(上)——DWORD SHOOT 163
5.3.1 链表“拆开”中的问题 163
5.3.2 在调试中领会“DWORD SHOOT” 165
5.4 堆溢出运用(下)——代码植入 169
5.4.1 DWORD SHOOT的运用办法 169
5.4.2 狙击P.E.B中RtlEnterCritical-Section()的函数指针 170
5.4.3 堆溢出运用的注意事项 175
第6章 五花八门的内存侵犯技能 178
6.1 狙击Windows反常处理机制 178
6.1.1 S.E.H概述 178
6.1.2 在栈溢出中运用S.E.H 180
6.1.3 在堆溢出中运用S.E.H 184
6.1.4 深化发掘Windows反常处理 187
6.1.5 其他反常处理机制的运用思路 192
6.2 “off by one”的运用 196
6.3 侵犯C++的虚函数 198
6.4 Heap Spray:堆与栈的协同侵犯 201
第7章 手机里的缓冲区溢出 204
7.1 Windows Mobile简介 204
7.1.1 Windows Mobile宿世此生 204
7.1.2 Windows Mobile架构概述 205
7.1.3 Windows Mobile的内存办理 209
7.2 ARM简介 212
7.2.1 ARM是什么 212
7.2.2 ARM寄存器结构 212
7.2.3 ARM汇编指令结构 215
7.2.4 ARM指令寻址办法 220
7.2.5 ARM的函数调用与回来 222
7.3 Windows Mobile上的Hel
◆版别号:0.4.3
loWorld 2237.4 远程调试东西简介 227
7.4.1 远程信息查看办理套件 227
7.4.2 手机上的调试——Microsoft Visual Studio 231
7.4.3 手机上的调试——IDA 233
7.5 手机上的exploit me 237
第8章 其他类型的软件缝隙 243
8.1 格局化串缝隙 243
8.1.1 printf中的缺点 243
8.1.2 用printf读取内存数据 244
8.1.3 用printf向内存写数据 245
8.1.4 格局化串缝隙的检测与防备 246
8.2 SQL注入侵犯 247
8.2.1 SQL注入原理 247
8.2.2 侵犯PHP+MySQL网站 248
8.2.3 侵犯ASP+SQL Server网站 250
8.2.4 注入侵犯的检测与防备 252
8.3 其他注入办法 253
8.3.1 Cookie注入,绕过马其诺防地 253
8.3.2 XPath注入,XML的阿喀琉斯之踵 254
8.4 XSS侵犯 255
8.4.1 脚本可以“跨站”的原因 255
8.4.2 XSS Reflection侵犯场景 256
8.4.3 Stored XSS侵犯场景 258
8.4.4 侵犯事例回忆:XSS蠕虫 258
8.4.5 XSS的检测与防备 259
8.5 途径回溯缝隙 260
8.5.1 途径回溯的底子原理 260
8.5.2 范式化与途径回溯 261
第2篇 缝隙运用原理(高档)
第9章 Windows安全机制概述 264
第10章 栈中的看护天使:GS 267
10.1 GS安全编译选项的维护原理 267
10.2 运用未被维护的内存打破GS 271
10.3 掩盖虚函数打破GS 273
10.4 侵犯反常处理打破GS 276
10.5 一起替换栈中和.data中的Cookie打破GS 280
第11章 亡羊补牢:SafeSEH 284
11.1 SafeSEH对反常处理的维护原理 284
11.2 侵犯回来地址绕过SafeSEH 288
11.3 运用虚函数绕过SafeSEH 288
11.4 从堆中绕过SafeSEH 288
11.5 运用未启用SafeSEH模块绕过SafeSEH 292
1其间,两个DLL文件都加了VMP壳,成功工作后会删去母体和工作进程中的各个跳板进程,以躲避寻找检测,毕竟只残留驱动躲藏的DLL文件通过PendingFileRenameOperations结束延时删去。1.6 运用加载模块之外的地址绕过SafeSEH 299
11.7 运用Adobe Flash Player ActiveX控件绕过SafeSEH 305
第12章 数据与程序的分水岭:DEP 313
12.1 DEP机制的维护原理 313
12.2 侵犯未启用DEP的程序 316
12.3 运用Ret2Libc应战DEP 317
12.3.1 Ret2Libc实战之运用ZwSetInformationProcess 318
12.3.2 Ret2Libc实战之运用VirtualProtect 330
12.3.3 Ret2Libc实战之运用VirtualAlloc 339
12.4 运用可实行内存应战DEP 348
12.5 运用.NET应战DEP 352
12.6 运用Java applet应战DEP 359
第13章 在内存中躲猫猫:ASLR 363
13.1 内存随机化维护机制的原理 363
13.2 侵犯未启用ASLR的模块 367
13.3 运用部分掩盖进行定位内存地址 372
13.4 运用Heap spray技能定位内存地址 376
13.5 运用Java applet heap spray技能定位内存地址 379
13.6 为.NET控件禁用ASLR 382
第14章 S.E.H终极防护:SEHOP 386
14.1 SEHOP的原理 386
14.2 侵犯回来地址 388
14.3 侵犯虚函数 388
14.4 运用未启用SEHOP的模块 388
14.5 假造S.E.H链表 390
第15章 重重维护下的堆 396
15.1 堆维护机制的原理 396
15.2 侵犯堆中存储的变量 397
15.3 运用chunk重设巨细侵犯堆 398
15.4 运用Lookaside表进行堆溢出 407
第3篇 缝隙发掘技能
第16章 缝隙发掘技能简介 414
16.1 缝隙发掘概述 414
16.2 动态检验技能 415
16.2.1 SPIKE简介 415
16.2.2 beSTORM简介 421
16.3 静态代码审计 429
第17章 文件类型缝隙发掘 与Smart Fuzz 431
17.1 Smart Fuzz概述 431
在检验进程中 taskhost.exe 在开机后只作业一次,wuauclt.exe 并不是一贯可以作业, explorer.exe 是仅有可以运用的可靠进程。17.1.1 文件格局Fuzz的底子办法 431
17.1.2 Blind Fuzz和Smart Fuzz 432
17.2 用Peach发掘文件缝隙 433
17.2.1 Peach介绍及设备 433
17.2.2 XML介绍 434
17.2.3 界说简略的 Peach Pit 436
17.2.4 界说数据之间的依存联系 440
17.2.5 用P解压drivertoolkit.zip文件。each Fuzz PNG文件 441
17.3 010脚本,杂乱文件解析的瑞士军刀 446
17.3.1 010 Editor简介 446
17.3.2 010脚本编写入门 447
17.3.3 010脚本编写进步——PNG文件解析 449
17.3.4 深化解析,深化发掘——PPT文件解析 452
第18章 FTP的缝隙发掘 457
18.1 FTP协议简介 457
18.2 缝隙发掘手记1:DOS 457
18.3 缝隙发掘手记2:拜访权限 466
18.4 缝隙发掘手记3:缓冲区溢出 468
18.5 缝隙发掘手记4:Fuzz DIY 472
第19章 E-Mail的缝隙发掘 477
19.1 发掘 *** TP缝隙 477
19.1.1 *** TP协议简介 477
19.1.2 *** TP缝隙发掘手记 478
19.2 发掘POP3缝隙 480
19.2.1 POP3协议简介 480
19.2.2 POP3缝隙发掘手记 481
19.3 发掘IMAP4缝隙 489
19.3.1 IMAP4协议简介 489
19.3.2 IMAP4缝隙发掘手记 490
19.4 其他E-mail缝隙 491
19.4.1 URL中的途径回溯 491
19.4.2 内存中的 for (; pThunk->u1.Function; pThunk++)途径回溯 494
19.4.3 邮件中的XSS 500
第20章 ActiveX控件的缝隙发掘 502
20.1 ActiveX控件简介 502
20.1.1 浏览器与ActiveX控件的联系 502
20.1.2 控件的特点 503
20.2 手艺检验ActiveX控件 504
20.2.1 树立检验模板 504
20.2.2 获取控件的接口信息 505
20.3 用东西检验ActiveX控件:COMRaider 509
20.4 发掘ActiveX缝隙 516
20.4.1 ActiveX缝隙的分类 516
20.4.2 缝隙发掘手记1:超星阅读器溢出 517
20.4.3 缝隙发掘手记2:目录操作权限 521
20.4.4 缝隙发掘手记3:文件读权限 523
20.4.5 缝隙发掘手记3:文件删去权限 525
第4篇 操作系统内核安全
第21章 探究ring0 528
21.1 内核基础知识介绍 528
21.1.1 内核概述 528
21.1.2 驱动编写之Hello World 528
21.1.3 差遣例程与IRP结构 533
21.1.4 Ring3翻开驱动设备 537
21.1.5 DeviceIoControl函数与IoControlCode 538
21.1.6 Ring3/Ring0的四种通讯办法 539
21.2 内核调试入门 541
21.2.1 创立内核调试环境 541
21.2.2 蓝屏分析 549
21.3 内核缝隙概述 551
21.3.1 内核缝隙的分类 551
21.3.2 内核缝隙的研讨进程 553
21.4 编写安全的驱动程序 555
21.4.1 输入输出查看 555
21.4.2 验证驱动的调用者 556
21.4.3 白名单机制的应战 556
第22章 内核缝隙运用技能 557
22.1 运用试验之exploitme.sys 557
22.2 内核缝隙运用思路 559
22.3 内核缝隙运用办法 560
22.4 内核缝隙运用实战与编程 565
22.5 Ring0 Shellcode的编写 570
第23章 FUZZ驱动程序 579
23.1 内核FUZZ思路 579
23.2 内核FUZZ东西介绍 581
23.3 内核FUZZ东西DIY 583
23.3.1 Fuzz目标、Fuzz战略、Fuzz项 583
23.3.2 IoControl MITM Fuzz 583
23.3.3 IoControl Driver Fuzz 585
23.3.4 MyIoControl Fuzzer界面 586
23.4 内核缝隙发掘实战 588
23.4.1 超级巡警ASTDriver.sys本地提权缝隙 588
23.4.2 东方微点mp110013.sys本地提权缝隙 594
23.4.3 瑞星HookCont.sys驱动本地拒绝服务缝隙 601
第24章 内核缝隙事例分析 605
24.1 远程拒绝服务内核缝隙 605
24.2 本地拒绝服务内核缝隙 611
24.3 缓冲区溢出内核缝隙 614
24.4 任意地址写任意数据内核缝隙 619
24.5 任意地址写固定数据内核缝隙 622
第5篇 缝隙分析事例
第25章 缝隙分析技能概述 628
25.1 缝隙分析的办法 628
25.2运动中寻求打破:调试技能 629
25.2.1 断点技巧 630
25.2.2 回溯思路 644
25.3 用“白眉”在PE中散步 647
25.3.1 指令追寻技能与Paimei 647
25.3.2 Paimei的设备 648
25.3.3 运用PE Stalker 649
25.3.4 敏捷定位特定功用对应的代码 652
25.4 补丁比较 654
第26章 RPC侵略:MS06-040 与MS08-067 658
26.1 RPC缝隙 658
26.1.1 RPC缝隙简介 658
26.1.2 RPC编程简介 658
26.2 MS06-040 659
26.2.1 MS06-040简介 659
26.2.2 动态调试 660
26.2.3 静态分析 667
26.2.4 完成远程exploit 670
26.3 Windows XP环境下的MS06-040 exploit 677
26.3.1 静态分析 677
26.3.2 蠕虫样本的exploit办法 682
26.3.3 实践跨渠道exploit 684
26.4 MS08-067 690
26.4.1 MS08-067简介 690
26.4.2 知道Legacy Folder 693
26.4.3 “移经”
检验 694
26.4.4 “移经”危险 695
26.4.5 POC的结构 696
26.5 魔波、Conficker与蠕虫病毒 703
第27章 MS06-055分析:实战Heap Spray 705
27.1 MS06-055简介 705
27.1.1 矢量符号言语(VML)简介 705
27.1.2 0 day安全呼应写实 706
27.2 缝隙分析 707
27.3 缝隙运用 710
第28章 MS09-032分析:一个“&”引发的血案 713
28.1 MS09-032简介 713
28.2 缝隙原理及运用分析 713
第29章 Yahoo!Messenger栈 溢出缝隙 719
29.1 缝隙介绍 719
29.2 缝隙分析 719
29.3 缝隙运用 723
第30章 CVE-2009-0927:PDF中的 *** 725
30.1 CVE-2009-0927简介 725
30.2 PDF文档格局简介 725
30.3 缝隙原理及运用分析 727
第31章 坝之蚁穴:超长URL溢出缝隙 731
31.1 缝隙简介 731
31.3 缝隙原理及运用分析 731
第32章 暴风影音M3U文件解析缝隙 737
32.1 缝隙简介 737
32.2 M3U文件简介 737
32.3 缝隙原理及运用分析 738
第33章 LNK快捷办法文件缝隙 744
33.1 缝隙简介 744
33.2 缝隙原理及运用分析 744
链接:http://pan.baidu.com/s/1o6iSrwQ 暗码:31ss
实战靶机:0day安全 软件缝隙剖析技能
Terminal 1:masscan -p 1-65535 --rate 100000 --open-only -iL /data/portscan/iplist/allip.txt --excludefile /data/portscan/iplist/ip.exclude获取busybox到这儿,
底子可以供认是服务器中了勒索病毒,上传样本到360勒索病毒网站(http://lesuobingdu.360.cn)进行分析:供认web服务器中了sage勒索病毒,现在暂时无法解密。0day安全 软件漏洞分析技术
实战靶机毕竟,侵犯者成功切换到了root用户,并且具有权限来设备新的服务,他们就会设备ssh服务,然后配备免密登陆,将他们的公钥添加到服务授权的公钥中,这样一来,只需政策系统存活并且在工作中,侵犯者就可以以root用户身份远程实行任意指令:在iOS 10从前,MISValidateSignature可以通过简略地回来一个布尔值结束绕过。iOS 10往后,MISValidateSignature*函数的回来值为字典。Google Project Zero的安全研讨人员Ian Beer提出的处理方案是通过劫持amfid的exception handler,并把MISValidateSignatureAndCopyInfo函数指向一个无效地址,然后使得每次进行签名校验时amfid都会发生exception,毕竟回调到劫持的exception handler。从回调函数中获取到binary信息并正确回来CDHash,通过整个校验逻辑。如图1-1所示。2. janino-3.0.8.jar其间第23列分别是主机字节序ip:port ,例如”0500000A:0016″ -> “10.0.0.5″, 22
f.write(json.dumps(logs, separators=(',',':'))) .NET结构为该问题供应了一个处理方案,你可以指定一个Assembly Resolver工作处理程序。每当工作时无法从加载的程序集列表或磁盘上的文件找到程序集时,Assembly Resolver工作便被调用。程序集位于应用程序的底子目录之外时通常会发生这种情况。但是要注意,假设工作时找到符合其标准的磁盘上的文件,其将检验加载该文件。假设该文件不在SI战略容许之列,则加载将失利,但是从解析角度而言,工作时不认为这是失利,因而在这种情况下工作时不会调用我们的工作处理程序。实战靶机
# add here your custom APT repositories2、为待检验的特定内核接口编写模板描述。5) 之后,程序将之前解压处理并植入水印的XML文件恢复回正常的Word文档,至此水印URL在新文档中植入结束。不过,Google方案在“Androd O”上批改其原有战略,该系统方案在本年第三季度发布。所以用户或许还需求等候很长一段时间,因为现在仍然有上百万用户在等候他们的设备生产商推送Android Nougat(N)的更新。换句话来说,绝大多数的Android用户至少在接下来的一年时间里仍然有或许遭到勒索软件和银行木马等恶意软件的侵扰。
echo "本文件夹没有做过任何改动!";运用以下指令行编译检验代码:0day安全 软件漏洞分析技术
实战靶机关键字用反引号引起来 #登陆实行checkli
nux[+] Success: john.ford:August2016
Start——“初步” Stop——“间断”
本文分为两大部分, 之一部分是依据链接与批改符号表感染并劫持政策内核模块的初始函数与退出函数,使其成为寄生的宿主,结束隐蔽与耐久性。第二部分为结合三个实践比如 ( lssec, lssym,setsym )的ELF 文件解析起步, 这一部分供应了我们之一部分进行 HappyHacking 所需求的东西基础, setsym,一起也为更好的了解之一部分供应帮忙信息。实战靶机
那么还有没有其他办法?putenv和mail函数给了我们希望,假设系统没有修补bash缝隙,运用网上现已给出的poc:http://www.exploit-db.com/exploits/35146/ 可以轻松绕过。 nsects 44. 终究调用Shell.Application来实行恶意软件 0day安全 软件漏洞分析技术
实行这一步时,假设提示找不到 /etc/ssl/openssl.cnf 文件,应该是没有设备 openssl 库。
2014年,GData曾发布一份关于“TooHash行为”的白皮书,还介绍了一个被称为“Cohhoc”的恶意软件。这儿我不对cohhoc进行深挖,可以通过两个进程来解码C2地址。URL作为一个base64字符串存储(bitshifted或许OR’d)。下图展示的是解码URL字符串成为一个base64解码函数。特性Gardner说安卓环境中大大都的恶意软件文件都是已知的,但是任意在给守时间内,存在2-5%的恶意软件会被扫描器忽略,也就是他口中的低分挟制。而0day侵犯就包含在其间。在王者荣耀游戏中不少小伙伴们都想入手刘备520时之恋人皮肤,那么王者荣耀刘备520时之恋人皮肤值得买吗?下面小编就为大家带来王者荣耀刘备520时之恋人皮肤价值分析介绍,去看看吧。 刘备520时之恋...
随着社会的经济在发展,人们的生活水平在不断的提升,传统的饮食文化思想也在变得与时俱进了,更加现代化了。在大众消费市场上有着越来越多的美食产品,其中烧烤行业的加盟品牌更是数不胜数,烧烤是一种传统的特色美...
这位继青龙老贼之后,国内自媒体联盟WeMedia最具权势的合伙人,将带领公司向何处去? 全文约8300字,阅读大概需要16分钟。 财经天下(ID:cjtxzk) 文|孔明明 编辑|齐介仑 摄影...
别墅也有不同分类,比如叠墅。什么是叠墅?今日就由PChouse为你一一解答。 叠墅一般为四层带阁楼建筑,在综合情景洋房公寓与联排别墅特点的基础上产生的,由多层的复式住宅上下叠加在一起组合而成,下...
创造营...
按住电脑键盘右边小键盘上边的“NumLock”或“Caps Lock”按键,查验电脑键盘显示灯是不是亮。如果是,这代表着你能进到系统软件,除开视頻輸出一部分不成功。要是没有反映,可能是与计算机系统...