黑客免杀攻防PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:任晓珲著
- 出 版 社:北京:机械工业出版社
- 出版年份:2013
- ISBN:9787111440420
- 页数:446 页
基础篇 初级免杀技术 2
第1章 变脸 2
1.1 为何变脸 2
1.2 何为变脸 3
1.3 免杀的发展史 3
1.4 免杀技术的简单原理 4
1.5 免杀与其他技术的区别 5
1.5.1 免杀不是Rootkit技术 5
1.5.2 免杀不是加密解密技术 5
1.6 小结 6
第2章 免杀基础知识 7
2.1 如何开始免杀 7
2.2 反病毒软件原理与反病毒技术介绍 8
2.2.1 反病毒软件的工作原理 8
2.2.2 基于文件扫描的反病毒技术 9
2.2.3 基于内存扫描的反病毒技术 12
2.2.4 基于行为监控的反病毒技术 12
2.2.5 基于新兴技术的反病毒技术 12
2.2.6 反病毒技术前沿 14
2.2.7 反病毒技术展望 14
2.3 了解PE文件 15
2.3.1 什么是PE文件 15
2.3.2 PE文件的结构 16
2.4 免杀原理 17
2.4.1 文件免杀原理 17
2.4.2 内存免杀原理 20
2.4.3 行为免杀原理 21
2.5 工具脱壳技巧 21
2.5.1 壳的分类 22
2.5.2 免杀与脱壳是什么关系 23
2.5.3 使用专用脱壳工具脱壳 24
2.5.4 使用通用脱壳工具脱壳 25
2.6 小结 26
第3章 免杀与特征码 27
3.1 特征码免杀技术 27
3.1.1 理想状态下的免杀 27
3.1.2 由脚本木马免杀理解特征码 28
3.2 特征码定位原理 29
3.2.1 特征码逐块填充定位原理 29
3.2.2 特征码逐块暴露定位原理 31
3.2.3 特征码混合定位原理 34
3.3 脚本木马定位特征码 35
3.4 MyCCL查找文件特征码 39
3.4.1 MyCCL的典型应用 39
3.4.2 针对MyCCL的一点思考 41
3.5 MyCCL查找内存特征码 43
3.6 特征码修改方法 44
3.6.1 简单的特征码修改 44
3.6.2 特征码修改进阶 45
3.7 小结 50
第4章 其他免杀技术 51
4.1 修改入口点免杀 51
4.2 使用VMProtect加密 54
4.3 Overlay附加数据的处理及应用 54
4.4 驱动程序免杀修改技巧 55
4.4.1 驱动程序的常见免杀方法 55
4.4.2 驱动程序的手工免杀思路 56
4.5 补丁在免杀中的应用 57
4.6 PE文件进阶介绍 59
4.6.1 PE文件格式 60
4.6.2 虚拟内存的简单介绍 62
4.6.3 PE文件的内存映射 63
4.7 网页木马的免杀 66
4.7.1 脚本木马免杀 66
4.7.2 网页挂马的免杀 77
4.8 小结 78
第5章 花指令与免杀 80
5.1 什么是花指令 80
5.2 脚本木马的花指令应用 81
5.3 花指令的根基——汇编语言 83
5.3.1 认识汇编 83
5.3.2 通过反汇编添加任意功能 85
5.4 花指令入门 88
5.5 花指令在免杀领域的应用 91
5.5.1 花指令的应用技巧 91
5.5.2 花指令的修改技巧简介 91
5.5.3 空白区域寻找与加空白区段 92
5.6 花指令的高级应用 94
5.6.1 花指令的提取与快速应用 94
5.6.2 SEH异常的应用 96
5.7 小结 97
第6章 壳在免杀中的应用 98
6.1 壳的基础知识 98
6.2 壳在免杀领域的应用 99
6.2.1 加壳的免杀原理 100
6.2.2 FreeRes多重加壳 100
6.3 壳的修改技巧 101
6.3.1 壳的初级修改 101
6.3.2 制作通用补丁 102
6.4 小结 107
高级篇 免杀技术进阶 110
第7章 PE文件格式详解 110
7.1 MS-DOS头 111
7.1.1 重要字段 112
7.1.2 其他字段 112
7.2 PE文件头 113
7.2.1 Signature字段 113
7.2.2 IMAGE FILE HEADER结构 113
7.2.3 IMAGE OPTIONAL HEADER结构(x86/x64) 115
7.2.4 数据目录表 118
7.3 区段表 119
7.3.1 IMAGE SECTION HEADER结构 119
7.3.2 区段名功能约定 121
7.3.3 区段对齐详解 122
7.3.4 地址转换 123
7.4 导出表 123
7.4.1 IMAGE EXPORT DIRECTORY结构 123
7.4.2 识别导出表 124
7.5 导入表 127
7.5.1 IMAGE IMPORT DESCRIPTOR结构 128
7.5.2 识别导入表 130
7.6 资源 132
7.6.1 资源结构 132
7.6.2 识别资源 135
7.7 异常 137
7.8 安全 139
7.8.1 安全目录结构 139
7.8.2 识别安全结构 140
7.9 基址重定位 141
7.9.1 基址重定位表结构 141
7.9.2 识别基址重定位表 143
7.10 调试 146
7.11 特殊结构数据(版权) 147
7.12 全局指针 147
7.13 TLS 148
7.13.1 TLS的回调函数 149
7.13.2 TLS的结构(x86/x64) 151
7.13.3 识别TLS 152
7.14 载入配置(x86/x64) 153
7.15 绑定导入表 155
7.15.1 绑定导入表结构 155
7.15.2 识别绑定导入表 156
7.16 导入地址表 157
7.17 延迟加载表 157
7.17.1 延迟加载表结构 158
7.17.2 识别延迟加载表 159
7.18 COM描述符 159
7.19 小结 159
第8章 PE文件知识在免杀中的应用 161
8.1 PE文件与免杀思路 161
8.1.1 移动PE文件头位置免杀 161
8.1.2 导入表移动免杀 163
8.1.3 导出表移动免杀 165
8.2 PE文件与反启发式扫描 165
8.2.1 最后一个区段为代码段 165
8.2.2 可疑的区段头部属性 166
8.2.3 可疑的PE选项头的有效尺寸值 166
8.2.4 可疑的代码节名称 166
8.2.5 多个PE头部 166
8.2.6 导入表项存在可疑导入 167
8.3 一个稍显复杂的例子——隐藏导入表 167
8.3.1 操作原理与先决条件 167
8.3.2 修改PE文件 168
8.3.3 构造我们的反汇编代码 168
8.4 小结 169
第9章 软件逆向工程 170
9.1 准备工作 170
9.1.1 要准备的工具及基础知识 171
9.1.2 程序是从哪里开始运行的 171
9.2 一个简单的小例子 177
9.3 函数识别初探 179
9.4 if-else分支 185
9.4.1 以常量为判断条件的简单if-else分支 185
9.4.2 以变量为判断条件的简单if-else分支 186
9.4.3 以常量为判断条件的复杂if-else分支 188
9.4.4 以变量为判断条件的复杂if-else分支 189
9.4.5 识别三目运算符 190
9.5 循环分支 194
9.5.1 do-while循环 194
9.5.2 while循环 196
9.5.3 for循环 199
9.5.4 循环体的语句外提优化 202
9.6 switch-case分支 203
9.6.1 简单switch-case分支识别技巧 203
9.6.2 复杂分支的switch-case识别 208
9.6.3 switch-case分支结构与稀疏矩阵 210
9.6.4 switch-case分支结构与平衡二叉树 215
9.7 加法与减法的识别与优化原理 220
9.7.1 加法的识别与优化 221
9.7.2 减法的识别与优化 223
9.8 乘法与除法的识别与优化原理 224
9.8.1 乘法的位移优化 224
9.8.2 乘法的lea指令优化 225
9.8.3 除法与倒数相乘 228
9.8.4 倒数相乘与定点运算的配合 229
9.8.5 除法运算的识别与优化 230
9.8.6 取模运算的识别与优化 236
9.9 指针与数组 238
9.9.1 指针与数组的渊源 238
9.9.2 数组的不同表达方式 242
9.10 数组、结构体与对象 243
9.10.1 数组与结构体 243
9.10.2 结构体与类 245
9.11 变量作用域的识别 245
9.12 识别构造与析构函数 247
9.12.1 快速识别出类 248
9.12.2 识别构造函数 252
9.12.3 识别析构函数 253
9.13 虚函数与纯虚函数的识别 254
9.13.1 识别简单的虚函数 254
9.13.2 识别较复杂的虚函数 260
9.14 正确识别类的继承关系 275
9.15 最后一役 290
9.15.1 MFC逆向初探 291
9.15.2 分析BypassUAC.exe 292
9.16 小结 301
第10章 源码级免杀 302
10.1 怎样定位产生特征的源代码 302
10.1.1 定位文件特征 302
10.1.2 定位行为特征 304
10.2 基于源码的特征修改 304
10.2.1 变换编译器与编译选项 304
10.2.2 添加垃圾代码 305
10.2.3 语法变换 306
10.2.4 添加汇编花指令 306
10.3 小结 307
第11章 详解C++壳的编写 308
11.1 了解壳的运行流程 308
11.2 设计一个纯C++编写的壳 309
11.2.1 用C++编写的壳应该是什么样的 310
11.2.2 编写过程中会遇到的问题 310
11.3 用C++写一个简单的壳 311
11.3.1 配置工程 312
11.3.2 编写Stub部分 314
11.3.3 编写加壳部分 318
11.3.4 编写界面部分 325
11.4 设计一个由C++编写的专业壳 326
11.4.1 为问题找到答案 326
11.4.2 设计专业壳的框架 329
11.4.3 如何设计Stub部分 330
11.4.4 如何设计加壳部分 331
11.4.5 需要注意的细节问题 334
11.5 怎样调试由C++编写的Stub部分 334
11.6 小结 335
第12章 黑客是怎样打造免杀壳的 336
12.1 免杀壳与加密壳的异同 336
12.2 导入表加密 337
12.3 代码混淆与代码乱序 337
12.4 附加驱动 338
12.5 小结 339
第13章 脱壳技术 340
13.1 寻找OEP 340
13.1.1 利用内存断点 340
13.1.2 利用堆栈平衡 342
13.1.3 利用编译语言特点 343
13.1.4 利用跨区段跳转 345
13.2 转储内存映像 346
13.3 重建导入表 346
13.3.1 导入表重建原理 347
13.3.2 使用ImportREC重建导入表 347
13.4 小结 348
第14章 Rootkit基础 349
14.1 构建一个Rootkit基础环境 349
14.1.1 构建开发环境 349
14.1.2 构建基于Visual Studio 2012的调试环境 350
14.1.3 构建基于WinDbg的调试环境 354
14.1.4 将Rootkit加载到系统 356
14.1.5 创建一个简单的驱动并调试 357
14.2 何为Ring0层 360
14.3 关键表 361
14.4 内存分页 362
14.4.1 地址转译 363
14.4.2 内存访问检查 367
14.4.3 Windows对重要表的保护 368
14.5 内存描述符表 369
14.6 中断描述符表(IDT) 369
14.7 系统服务调度表 371
14.8 控制寄存器 371
14.8.1 利用CR0禁用内存保护机制 371
14.8.2 其他控制寄存器 372
14.9 小结 372
第15章 Rootkit在免杀中的应用 373
15.1 用户模式Rootkit 373
15.1.1 DLL远程注入技巧 373
15.1.2 内联钩子 375
15.1.3 导入地址表钩子 375
15.1.4 一个保护文件不被删除的例子 376
15.2 内核编程基础 377
15.2.1 内核编程环境与用户层编程环境的异同 377
15.2.2 如何选择Windows驱动开发模型 378
15.2.3 驱动设备与请求处理 378
15.2.4 内核编程中的数据类型 386
15.2.5 函数调用 387
15.2.6 Windows内核编程的特点 389
15.3 内核模式Rootkit 390
15.3.1 SYSENTER钩子 390
15.3.2 SSDT钩子 394
15.3.3 内联钩子 399
15.3.4 IRP钩子 401
15.3.5 LADDR钩子 406
15.3.6 IDT钩子 411
15.3.7 IOAPIC钩子 413
15.4 小结 417
第16章 免杀技术前沿 418
16.1 免杀技术的发展趋势 418
16.2 免杀前沿之突破主动防御 419
16.2.1 “移花接木”之屏幕截图突破主动防御 419
16.2.2 “暗渡陈仓”之利用可信进程突破主动防御 419
16.2.3 “釜底抽薪”之利用系统进程突破主动防御 420
16.2.4 “顺手牵羊”之利用逻辑漏洞突破主动防御 420
16.2.5 “浑水摸鱼”之利用变形复制突破主动防御 420
16.2.6 “金蝉脱壳”之利用异同逃逸虚拟机 420
16.2.7 “借尸还魂”之利用替换文件突破主动防御 421
16.2.8 “借刀杀人”之利用调试接口突破主动防御 421
16.3 黑客免杀技术的展望 421
16.4 小结 422
扩展篇 遏制免杀技术初探 424
第17章 浅谈部分免杀技巧的遏制 424
17.1 盯紧PE文件 424
17.2 盯紧程序行为 425
17.3 小结 425
第18章 反特征码定位 426
18.1 释放干扰码 426
18.2 定位行为的判定 426
18.3 设定“靶特征码” 427
18.4 小结 427
第19章 遏制免杀与Anti Rootkit 428
19.1 适当的监控 428
19.2 基本检测逻辑 428
19.3 Rootkit检测方法初探 429
19.4 小结 430
第20章 浅谈反病毒产品的改进 431
20.1 云查杀与本地查杀紧密结合 431
20.2 注重感染型病毒木马的清除工作 431
20.3 精进启发式扫描解决效率问题 432
20.4 小结 432
附录A 80x86汇编基础知识 433
- 《化学攻防战》李陵书责编;杨敏锋 2020
- 《黑客大揭秘 近源渗透测试》柴坤哲 2020
- 《黑客攻防 从入门到精通 实战篇 第2版》王叶 2020
- 《小鸟大战僵尸 2 森林攻防战》晴天著 2013
- 《黑客攻防技巧》黄波编著 2013
- 《计算机与网络应用基础》高长玉,王建主编 2013
- 《Metasploit渗透测试魔鬼训练营》诸葛建伟编著 2013
- 《知识经济的黑客》张莉红著 1998
- 《网络安全技术案例教程》归奕红,刘宁编著 2010
- 《恶搞 反叛与颠覆》曾一果著 2013
- 《幼儿英语游戏活动指导与实训》苏小菊,任晓琴主编;颜晓芳,覃静,谢恬恬,钟博维副主编 2020
- 《19-20世纪美国沃尔特·饶申布什的基督教社会关怀思想研究》任晓龙著 2018
- 《基于多尺度分析的混凝土随机损伤本构理论研究》任晓丹 2010
- 《高职高专十二五规划教材 土建工程CAD》石晓梅,任晓辉主编 2013
- 《中国特色社会主义理论与实践研究》任晓伟主编 2013
- 《生活门诊 任晓时生活漫画集》任晓时绘;姚意克,于彬/文 1999
- 《中国梦 谁的梦?》任晓驷编著 2013
- 《世界与中国札记》任晓著 2013
- 《高职高专十二五规划教材 建筑力学》滕斌,任晓辉主编;朱兆平,李文川,冯新红等副主编 2013
- 《深度阅读 世界知名报刊 关注民生最热点 英汉对照》(美)MichelleWoo,任晓娟编译 2014
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019