《杀不死的秘密:反汇编揭密黑客免杀变种技术》

杀不死的秘密:反汇编揭密黑客免杀变种技术
讲解过掉各大杀软和免杀技术
目录:

第一章 背景知识
1.1 免杀技术的发展……………………………………………….1
1.2 免杀技术的定义……………………………………………….2
1.3 杀毒软件查杀原理……………………………………………..2
1.3.1 特征码法…………………………………………….2
1.3.2 校验和法…………………………………………….3
1.3.3 行为监测法…………………………………………..4
1.3.4 软件模拟法…………………………………………..4
1.3.5 总结………………………………………………..4
1.4 常见杀毒软件及其杀毒引擎特点…………………………………..5
1.5 免杀技术的分类……………………………………………….6
1.5.1 内部免杀和外部免杀……………………………………6
1.5.2 特征码免杀和大范围免杀………………………………..6
1.5.3 文件免杀、内存免杀和行为免杀…………………………..6
1.5.4 盲免技术…………………………………………….7
第二章 搭建实验环境
2.1 免杀测试步骤及测试环境………………………………………..8
2.1.1 免杀测试中遇到的问题………………………………….8
2.1.2 虚拟机的概念…………………………………………8
2.1.3 VMware工作原理………………………………………9
2.1.4 系统还原技术…………………………………………9
2.1.5 冰点还原工作原理……………………………………..9
2.1.6 选用哪种方式测试免杀效果………………………………9
2.2 VMware的安装与使用………………………………………….10
2.2.1 安装VMware Workstation 6.5.2中文版……………………10
2.2.2 创建一个新的虚拟机……………………………………12
2.2.3 在VMware的虚拟机中安装Ghost XP………………………14
2.2.4 安装VMware Tools及简单使用VMware……………………16
2.3 冰点还原的安装与使用………………………………………….17
2.3.1 安装冰点还原…………………………………………17
2.3.2 使用冰点还原…………………………………………18
2.4 综合型的测试环境……………………………………………..19
2.5 常用免杀工具一览……………………………………………..19
第三章 免杀技术前置知识——PE结构
3.1 PE结构简单介绍………………………………………………26
3.1.1 PE文件结构(简化)……………………………………..26
3.1.2 初步理解内存地址……………………………………..26
3.1.3 文件偏移地址和虚拟地址转换…………………………….27
3.2 DOS文件头和DOS块……………………………………………27
3.2.1 DOS文件头…………………………………………..27
3.2.2 DOS块………………………………………………28
3.3 PE文件头……………………………………………………29
3.3.1 FileHeader字段………………………………………..29
3.3.2 OptionalHeader字段…………………………………….30
3.4 区段表和区段…………………………………………………32
3.5 输出表和输入表……………………………………………….32
3.5.1 输出表………………………………………………32
3.5.2 输入表………………………………………………33
3.6 什么是加壳免杀……………………………………………….33
3.6.1 加壳免杀概念…………………………………………33
3.6.2 壳程序的分类…………………………………………33
3.7 壳程序的使用…………………………………………………34
3.7.1 ASPack加壳实例……………………………………….34
3.7.2 UPX加壳实例………………………………………..35
3.7.3 NSPack加壳实例……………………………………….36
3.8 实战加壳免杀…………………………………………………37
3.9 从PEID实战PE结构…………………………………………..38
3.9.1 使用PEID载入一个文件…………………………………39
3.9.2 入口点………………………………………………39
3.9.3 EP段……………………………………………….39
3.9.4 文件偏移…………………………………………….40
3.9.5 首字节及汇编的概念……………………………………40
3.9.6 查壳功能…………………………………………….41
3.9.7 查壳原理…………………………………………….41
3.9.8 PEID的设置………………………………………….41
第四章 免杀技术前置知识——汇编基础
4.1 免杀技术与汇编及反汇编的关系…………………………………..42
4.1.1 机器语言…………………………………………….42
4.1.2 汇编语言…………………………………………….42
4.1.3 高级语言…………………………………………….42
4.1.4 反汇编………………………………………………42
4.1.5 汇编与反汇编…………………………………………43
4.2 寄存器和堆栈…………………………………………………44
4.2.1 寄存器………………………………………………44
4.2.2 堆栈………………………………………………..44
4.3 内存单元与内存寻址……………………………………………45
4.3.1 内存单元…………………………………………….45
4.3.2 内存地址…………………………………………….45
4.3.3 80386的寻址机制………………………………………46
4.3.4 大尾与小尾…………………………………………..47
4.4 JMP指令与EIP寄存器………………………………………….48
4.4.1 jmp(JuMP)指令………………………………………48
4.4.2 EIP寄存器……………………………………………48
4.5 常用传送指令…………………………………………………49
4.5.1 PUSH(PUSH)指令……………………………………49
4.5.2 POP(POP)指令………………………………………49
4.5.3 MOV(MOVe)指令……………………………………50
4.5.4 LEA(Load Effective Address)指令……………………….51
4.6 算术运算指令Ⅰ……………………………………………….52
4.6.1 ADD(ADD)指令……………………………………..52
4.6.2 SUB(SUBtract)指令…………………………………..52
4.7 标志寄存器…………………………………………………..52
4.7.1 ZF标志位……………………………………………52
4.7.2 PF标志位…………………………………………….53
4.7.3 SF标志位…………………………………………….54
4.7.4 CF标志位…………………………………………….54
4.8 算术运算指令Ⅱ……………………………………………….55
4.8.1 ADC(ADd with Carry)指令……………………………55
4.8.2 SBB(SuBtract with Borrow)指令……………………….55
4.8.3 INC(INCrement)指令………………………………….56
4.8.4 DEC(DECrement)指令………………………………..56
4.8.5 CMP(CoMPare)指令…………………………………..56
4.9 逻辑运算指令…………………………………………………57
4.9.1 AND(AND)指令……………………………………..57
4.9.2 OR(OR)指令………………………………………..57
4.9.3 XOR(eXclusive OR)指令………………………………58
4.9.4 TEST(TEST)指令…………………………………….58
4.10 程序转移指令………………………………………………..58
4.10.1 CALL(CALL)指令……………………………………58
4.10.2 RETN/RETF(RETurN/ RETurn [内容被过滤,请注意论坛文明])指令………………59
4.10.3 条件转移指令…………………………………………60
4.10.4 LOOP(LOOP)指令…………………………………..60
4.10.5 NOP(No OPeretion)指令……………………………..61
4.11 环境保存……………………………………………………61
4.11.1 变化的ESP寄存器…………………………………….61
4.11.2 LEAVE(LEAVE)指令…………………………………62
4.12 OD使用指南…………………………………………………62
4.12.1 将文件载入OD……………………………………….63
4.12.2 反汇编代码窗口………………………………………63
4.12.3 程序是如何执行的…………………………………….64
4.12.4 免杀过程中经常用到的OD的调试功能……………………..65
4.12.5 单步跟踪和单步步入…………………………………..65
4.12.6 断点和设置断点………………………………………66
4.12.7 编辑指令……………………………………………66
4.12.8 表达式跟随………………………………………….66
4.12.9 查找命令……………………………………………67
4.12.10 重新设置EIP………………………………………..67
4.12.11 复制到可执行文件……………………………………67
4.12.12 查看跳转方向……………………………………….67
4.13 手工加花免杀………………………………………………..68
4.13.1 加花免杀的原理………………………………………68
4.13.2 一个典型的花指令…………………………………….68
4.13.3 给上兴服务端加花…………………………………….68
4.14 工具加花免杀实例…………………………………………….72
4.15 为什么要编写花指令…………………………………………..73
4.15.1 堆栈平衡……………………………………………73
4.15.2 pushad和popad……………………………………….73
4.15.3 常用平衡指令………………………………………..73
4.16 C32Asm使用指南…………………………………………….74
4.16.1 打开文件……………………………………………74
4.16.2 编辑数据……………………………………………74
4.16.3 地址跳转……………………………………………75
4.16.4 数据查找……………………………………………75
4.16.5 文本操作……………………………………………75
4.16.6 保存文件……………………………………………75
4.17 API调用…………………………………………………….75
第五章 手工脱壳
5.1 脱壳基础知识…………………………………………………80
5.1.1 脱壳的概念…………………………………………..80
5.1.2 OEP(Original Entry Point)……………………………..80
5.1.3 脱壳的用处…………………………………………..80
5.2 单步跟踪法…………………………………………………..80
5.2.1 使用单步跟踪法追踪OEP的常见步骤……………………….80
5.2.2 使用单步跟踪法脱UPX壳……………………………….81
5.3 ESP定律法…………………………………………………..85
5.3.1 使用ESP定律追踪OEP的常见步骤…………………………85
5.3.2 ESP定律脱北斗壳………………………………………85
5.3.3 ESP定律原理…………………………………………86
5.4 二次断点法…………………………………………………..87
5.4.1 使用二次断点法追踪OEP的常见步骤……………………….87
5.4.2 使用二次断点法脱壳实例………………………………..87
5.5 末次异常法…………………………………………………..90
5.5.1 使用末次异常法追踪OEP的常见步骤……………………….90
5.5.2 使用末次异常法脱tElock 0.98……………………………90
5.6 模拟跟踪法…………………………………………………..95
5.6.1 模拟跟踪法的常见步骤………………………………….95
5.6.2 使用模拟跟踪法脱FSG 1.33壳……………………………95
5.7 SFX自动脱壳法……………………………………………….96
5.7.1 使用SFX自动脱壳法脱壳的常见步骤……………………….96
5.7.2 使用SFX自动脱壳法脱dxpack壳………………………….96
5.8 出口标志法…………………………………………………..97
5.8.1 使用出口标志法脱壳的常见步骤…………………………..97
5.8.2 使用出口标志法脱depack壳……………………………..98
5.9 使用脱壳脚本辅助脱壳………………………………………….99
5.10 使用脱壳工具脱壳…………………………………………….100
5.10.1 超级巡警脱壳工具的工作方法…………………………….100
5.10.2 使用超级巡警脱壳工具脱壳…………………………….100
第六章 常用大范围免杀方法
6.1 利用加多个花指令的方法实现木马免杀…………………………….101
6.1.1 加多花免杀的原理……………………………………..101
6.1.2 加多花免杀实例……………………………………….101
6.2 利用壳外花实现木马免杀……………………………………….104
6.3 利用FreeRes实现加多壳免杀……………………………………..106
6.4 利用修改壳头实现木马免杀………………………………………107
6.4.1 ASPack 2.12壳的修改………………………………….107
6.4.2 UPX壳的修改………………………………………..108
6.5 利用移动PE头的方法实现木马免杀……………………………….109
6.6 利用SEH技术给木马加花………………………………………..113
6.7 利用去头加花方法实现木马免杀…………………………………..114
6.8 利用reloc改壳免杀木马…………………………………………117
6.9 利用LordPE重建PE实现免杀…………………………………….119
6.10 利用添加PE数字签名实现免杀…………………………………..119
6.10.1 判断一个PE文件是否具有数字证书………………………120
6.10.2 获取PE文件内数字签名的起始位置……………………….120
6.10.3 获取PE文件内数字签名的长度………………………….120
6.10.4 拷贝数字签名到pcmain.dll中…………………………..120
6.10.5 给pcmain.dll添加PE数字签名相关配置信息…………………121
6.10.6 利用工具快速给PE文件添加数字签名……………………..121
第七章 特征码定位
7.1 再谈特征码…………………………………………………..122
7.1.1 特征码查杀两要素……………………………………..122
7.1.2 复合特征码查杀……………………………………….122
7.1.3 隐藏特征码………………………………………….123
7.1.4 启发式扫描…………………………………………..123
7.1.5 狭义上的特征码与广义上的特征码…………………………124
7.2 MyCCL定位原理………………………………………………124
7.2.1 MyCCL定位复合特征码的原理……………………………124
7.2.2 MyCCL对特征码的精确定位……………………………..125
7.2.3 隐式隐含特征码……………………………………….126
7.3 MultiCCL定位原理……………………………………………..126
7.4 MyCCL定位文件特征码实例…………………………………….128
7.4.1 粗略定位复合特征码……………………………………128
7.4.2 精确定位复合特征码……………………………………130
7.5 MultiCCL定位文件特征码实例……………………………………131
7.5.1 使用MultiCCL定位文件特征码……………………………131
7.5.2 MultiCCL保护区域的设置………………………………134
7.6 定位内存特征码………………………………………………135
7.6.1 使用MyCCL定位内存特征码……………………………..135
7.6.2 使用MultiCCL定位内存特征码……………………………136
7.7 启发式扫描与主动防御…………………………………………138
7.7.1 启发式扫描………………………………………….138
7.7.2 主动防御…………………………………………….139
第八章 特征码修改方法
8.1 等值替换法修改特征码…………………………………………140
8.2 修改ASCII特征码大小写………………………………………..141
8.2.1 ASCII码和ANSI码……………………………………..141
8.2.2 利用ASCII特征码大小写转换免杀LCX……………………..142
8.3 去除无用ASCII特征码…………………………………………142
8.4 移动ASCII特征码………………………………………………143
8.4.1 ASCII码数据如何发挥作用………………………………144
8.4.2 免杀原始文件…………………………………………144
8.4.3 移动ASCII特征码实例…………………………………..144
8.5 颠倒代码顺序实现特征码修改……………………………………147
8.6 利用vmprotect v1.21加密特征码…………………………………148
8.6.1 导出原始服务端中的SYS驱动文件………………………..148
8.6.2 免杀SYS驱动文件…………………………………….149
8.7 利用通用跳转法修改特征码………………………………………152
8.7.1 利用通用跳转法修改特征码的原理………………………..152
8.7.2 利用通用跳转法修改特征码……………………………..152
8.8 移动输入表函数特征码…………………………………………154
8.9 加空格免杀输入表文件名………………………………………..159
8.9.1 什么是加空格免杀法…………………………………..159
8.9.2 下面就来实际操作一下………………………………….159
8.10 修改输入表描述信息免杀……………………………………….160
8.11 移动输出表函数特征码………………………………………..160
8.11.1 认识输出表的结构……………………………………161
8.11.2 移动输出表函数名……………………………………162
8.12 利用异或算法加密特征码……………………………………….163
8.12.1 重温异或算法………………………………………..163
8.12.2 异或算法在免杀上的运用………………………………163
8.12.3 修改区段标志………………………………………..164
8.12.4 加入新区段,并记录相关数据……………………………165
8.12.5 实施加密……………………………………………167
8.13 利用异或算法加密输出表函数特征码……………………………..172
8.14 通过修改干扰码实现特征码免杀………………………………….174
8.14.1 修改第一部分干扰码…………………………………..175
8.14.2 修改第二部分干扰码…………………………………..175
8.14.3 修改第三部分干扰码…………………………………..176
8.14.4 修改特征码…………………………………………176
8.15 特征码交换………………………………………………….177
8.15.1 数据传送法修改特征码的原理……………………………177
8.15.2 特征码交换的原理及应用………………………………177
8.15.3 特征码交换实例………………………………………178
8.16 隐藏输入表………………………………………………….181
第九章 对抗新型安全工具
9.1 利用Abetter突破卡巴斯基主动防御……………………………….185
9.2 突破卡巴斯基、瑞星、360安全卫士的安全监控……………………….187
9.3 简单突破江民等杀毒软件主动防御…………………………………191
9.4 突破360安全卫士启动项监控Ⅰ…………………………………..191
9.4.1 突破360安全卫士启动项监控的原理………………………..191
9.4.2 突破360安全卫士启动项监控实例………………………..192
9.5 突破360安全卫士启动项监控Ⅱ…………………………………..194
第十章 综合免杀实例
10.1 免杀PcShare过诺顿11………………………………………..196
10.1.1 定位特征码………………………………………….196
10.1.2 特征码修改…………………………………………..196
10.2 免杀PcShare过NOD32………………………………………..199
10.2.1 PcMain.dll文件特征码的修改…………………………….199
10.2.2 PcInit.exe文件特征码的修改…………………………….201
10.3 免杀PcShare过瑞星……………………………………………202
10.3.1 免杀PcMain.dll……………………………………….202
10.3.2 免杀PcHide.sys……………………………………….214
10.3.3 免杀PcInit.exe……………………………………….214
10.4 免杀PcShare过卡巴斯基………………………………………..216
10.4.1 免杀PcMain.dll……………………………………….216
10.4.2 免杀PcInit.exe……………………………………….224
10.5 免杀PcShare附加数据过常见杀毒软件…………………………….233
10.5.1 修改配置信息加密密钥………………………………….233
10.5.2 设置动态密钥加密……………………………………..235
10.6 免杀PcShare过BitDefender 2010…………………………………239
10.6.1 免杀PcMain.dll……………………………………….240
10.6.2 免杀PcInit.exe……………………………………….242
第十一章 简单脚本免杀
11.1 PHP后门的免杀………………………………………………247
11.2 简单免杀ASP木马…………………………………………….248
11.3 拆分网页木马的特征码…………………………………………248
11.4 利用HTML混淆器免杀网页木马…………………………………251
11.5 用Escape加密网页木马…………………………………………252
11.6 最实用的ASP后门免杀方法……………………………………..253
11.7 脚本后门及网页木马的免杀综述…………………………………254
11.7.1 加密法…………………………………………….254
11.7.2 特征码修改法……………………………………….255
11.7.3 分割文件包含法………………………………………256
11.7.4 王牌“免杀法”………………………………………256
附录
汇编速查手册…………………………………………………….258
阅读本书过程中可能遇到的问题………………………………………261

 

资源下载资源下载价格2立即支付
版权声明:auter 发表于 2021-05-09 23:42:29。
转载请注明:《杀不死的秘密:反汇编揭密黑客免杀变种技术》 | 独角兽资源驿站

暂无评论

暂无评论...