搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
出版时间 :
无库存
逆向与漏洞分析实践
0.00     定价 ¥ 59.00
泸西县图书馆
此书还可采购1本,持证读者免费借回家
  • ISBN:
    9787030726957
  • 作      者:
    魏强,武泽慧
  • 出 版 社 :
    科学出版社
  • 出版日期:
    2022-10-01
收藏
精彩书摘
第1章 基础工具
  本章主要介绍逆向和漏洞分析过程中需要使用的基础工具,按照逆向和漏洞分析的流程,先后介绍预处理工具、文件对比工具、动态分析工具、静态分析工具、漏洞挖掘工具、漏洞分析工具、漏洞利用工具的使用。读者学习完相关工具的使用后,可对二进制程序进行基本的逆向分析。
  1.1 工具概述
  软件逆向和漏洞分析过程中,需要借助分析工具完成一些辅助分析操作。涉及的工具较多,包括预处理工具、文件对比工具、动态分析工具、静态分析工具、漏洞挖掘工具和漏洞分析工具,在分析之后可以通过漏洞利用工具获取系统权限等。预处理工具包括脱壳工具、地址定位工具和地址计算工具;文件对比工具主要以 BinDiff和 Beyond Compare为例,类似工具的使用方法基本一致;动态分析工具介绍使用频率较高的 WinDbg、OllyDbg、x64Dbg和 Immunity Debugger;静态分析工具主要以 IDA Pro和 Hopper Disassembler为例;漏洞挖掘工具分为模糊测试类和符号执行类挖掘工具,模糊测试类代表工具包括 Peach、Sulley、AFL、 AFL-Go、Simple Fuzzer,符号执行类代表工具包括 KLEE、MAYHEM、Driller、Clang等;主流漏洞分析工具包括 BAP、BitBlaze、Intel Pin、Triton、BinNavi等;漏洞利用工具包括 Metasploit、Mona、Pompem等。本节主要对常用工具进行简单介绍,实际操作与案例分析会在第 6章中详细介绍。
  1.1.1 预处理工具
  预处理工具完成对待分析对象的预处理,通常包括分析目标对象是否存在加壳,然后进行脱壳,以及对待分析对象进行简单的地址关系计算等。
  1.脱壳工具
  目前有很多可用的加壳工具,加壳如同给软件加盾,脱壳即为击破该盾。软件脱壳方式有手动和自动两种,其中手动脱壳是用 TRW2000、TR、SoftiCE等调试工具进行的,涉及较多的汇编语言和软件调试方面的知识,需要使用者具备一定的逆向分析能力。自动脱壳是使用专门的脱壳工具进行的。对于特定的加壳软件,通常会有对应的脱壳软件存在,如 UPX Shell(既可用于加壳,也可以用于自身脱壳)或者 ASPack(用 UnASPack来脱壳)。
  脱壳工具一般分为通用和专用两种。通用脱壳工具根据壳的类型,通过模拟执行进行脱壳,支持的壳类型较多,但效果有限。专用脱壳工具通常只能针对某一类壳(甚至是某一个壳的具体版本)进行脱壳,虽然支持范围小,但针对性强,脱壳效果好。下面介绍两种通用的脱壳工具。
  1)linxerUnpacker
  linxerUnpacker由国内病毒专家姚纪卫编写发布,是全球首款基于反病毒虚拟机的通用脱壳软件。该工具完全基于虚拟机,将壳特征和编译器特征保存在 PEid_Sign.txt里,支持数十种主流的壳。如果识别不准确,该工具允许用户手动增加壳特征到配置文件中,扩展脱壳方式。对于已知特征的壳,基本上都有对应的脱壳函数;对于未知特征的壳,可以用 OEP(Original Entry Point)侦测来脱壳。该工具的使用界面如图 1-1所示,操作简单易上手。
  图 1-1 linxerUnpacker工具界面
  2)FFI
  FFI(File Format Identifier)工具是一款病毒分析的辅助工具,具备多种文件格式识别功能,使用了超级巡警的格式识别引擎,集查壳、虚拟机脱壳、 PE文件编辑、PE文件重建、导入表抓取(内置虚拟机解密导入表)、进程内存查看、附加数据处理、文件地址转换、PEiD插件支持、MD5计算等功能于一体,适合在病毒分析过程中对一些病毒木马样本进行脱壳等处理,如图 1-2所示。
  图 1-2 FFI工具界面
  2.地址定位工具
  1)Dependency Walker
  Dependency Walker为一款免费应用程序,在Windows操作系统上运行,可扫描任意 32位或 64位 Windows程序文件( .exe、.dll、.ocx、.sys等),并构建其从属模块的层次树状图,对找到特定模块的地址有较大帮助,该工具可列出当前模块导出的所有功能及其他模块实际正在调用的功能,也可以显示文件集和相关文件的详细信息,包括文件的完整路径、基地址、版本号、计算机类型、调试信息等,如图 1-3所示。
  图 1-3 Dependency Walker工具界面
  2)LordPE
  LordPE是一款功能强大的 PE文件分析修改工具,使用该工具用户可以查看 PE文件的格式并修改相关信息。具体功能为:①可对 PE文件头结构的内容进行查看,解析 PE文件结构;②可以解析各字段特征值的含义,并对特征值进行更改;③可解析 PE文件导入导出表结构,分析 PE文件的导入函数及导出函数信息,如图 1-4所示。
  图 1-4 LordPE工具界面
  3)Stud_PE
  Stud_PE是一款功能强大的 PE文件格式编辑工具,该工具可以解析 PE文件格式,进行文件格式的比较和壳的识别。此外,该工具还提供了插件支持功能,内置十六进制编辑器,可对资源进行修改,包含可视化资源查看器,可修改、替换、导出文件,以及添加函数、修改区段、查看程序进程等,如图 1-5所示。
  图 1-5 Stud_PE工具界面
  3.地址计算工具
  逆向工程计算器( Reversers’Calculator)是一款 32位十六进制基础逆向计算工具,支持十六进制逻辑运算和数学运算,可将十六进制数和二进制数转换为十进制数(有 /无符号)与八进制数,也可将字符串转换为十六进制值,如图 1-6所示。
  图 1-6 逆向工程计算器工具界面
  1.1.2 文件对比工具
  1)BinDiff
  BinDiff为一款图形化的二进制文件对比检查工具,其功能是将两个文件进行对比,为用户提供两个文件的对比分析结果,并找出其中的不同之处。此外,该工具还可进行文件反编译操作,常用于补丁对比分析等环节,如图 1-7所示。
  2)Beyond Compare
  Beyond Compare是一个专业的文件对比工具,主要用于对大型文件的对比,包含多种数据类型的内置比较引擎,只需更改对比要求,即可实现除文本之外的表格、图片、二进制文件、注册表之间的比较,如图 1-8所示。
  图 1-7 BinDiff工具主界面
  图 1-8 Beyond Compare工具主界面
  1.1.3 动态分析工具
  1)WinDbg
  WinDbg是一款在 Windows平台下的强大的用户态和内核态调试软件,是逆向分析过程中必不可少的工具,该工具能够通过 .dmp文件快速地定位到问题根源,可用于蓝屏、程序崩溃(如 IE崩溃)等原因的分析,熟练使用该工具可有效提升解决问题的效率和准确率,如图 1-9所示。
  图 1-9 WinDbg工具主界面
  2)OllyDbg
   OllyDbg(简称 OD,是由 Oleh Yuschuuk(www. ollydbg.de)编写的一款具有可视化界面的用OllyDbg户态调试器,运行在 Windows操作系统上。OllyDbg结合了动态调试和静态分析的功能,包含GUI,容易上手,并且对异常的跟踪处理相当灵活,通常 OllyDbg作为调试 Ring 3级程序的首选工具。该工具的反汇编引擎也很强大,可识别数千多种被 C语言和 Windows频繁使用的函数,并能将相关参数注解出来。该工具也可用于自动分析函数过程、循环语句、代码中的字符串等功能,如图 1-10所示。
  图 1-10 OllyDbg工具主界面
展开
目录
目录
第1章 基础工具 1
1.1 工具概述 1
1.1.1 预处理工具 1
1.1.2 文件对比工具 4
1.1.3 动态分析工具 5
1.1.4 静态分析工具 7
1.1.5 漏洞挖掘工具 9
1.1.6 漏洞分析工具 13
1.1.7 漏洞利用工具 16
1.2 IDA的使用 18
1.2.1 IDA加载自编译“Hello,World!”程序 18
1.2.2 IDA分析真实程序 19
1.2.3 IDA分析结果导出 23
1.2.4 IDA插件使用 23
1.2.5 IDA常用快捷键总结 24
1.3 WinDbg的使用 25
1.3.1 WinDbg加载自编译“Hello,World!”程序 25
1.3.2 WinDbg分析真实程序 27
1.3.3 WinDbg常用命令总结 30
1.3.4 WinDbg插件使用 31
1.4 OllyDbg的使用 31
1.4.1 OllyDbg加载自编译“Hello,World!”程序 31
1.4.2 OllyDbg分析真实程序 33
1.4.3 OllyDbg常用命令总结 34
1.4.4 OllyDbg插件使用 35
第2章 逆向基础实践 36
2.1 010 Editor破解 36
2.1.1 调试环境搭建 36
2.1.2 调试过程 36
2.2 ExifPro破解 53
2.2.1 调试环境搭建 54
2.2.2 调试过程 54
第3章 污点分析实践 63
3.1 Triton实验 63
3.1.1 安装 Triton 63
3.1.2 实例测试 71
3.2 BAP实验 81
3.2.1 安装 BAP 81
3.2.2实例测试 83
第4章 符号执行原理实践 88
4.1 KLEE实验 88
4.1.1 安装 KLEE 88
4.1.2 实例测试 92
4.2 angr实验 103
4.2.1 angr实验环境搭建 103
4.2.2 angr使用 103
4.2.3 实例测试 106
第5章 模糊测试原理实践 109
5.1 Peach实验 109
5.1.1 Peach介绍 109
5.1.2 安装 Peach 111
5.1.3 实例测试 114
5.2 AFL实验 126
5.2.1 AFL介绍 126
5.2.2 环境搭建 126
5.2.3 实例测试 130
第6章 实例分析 139
6.1 自编 Vulner程序实验 139
6.1.1 Vulner程序编写 139
6.1.2 AFL挖掘上述漏洞 146
6.2 CVE-2017-11882 Windows公式编辑器缓冲区溢出漏洞 147
6.2.1 漏洞介绍及测试环境 147
6.2.2 RTF结构基础知识 148
6.2.3 POC样本 RTF结构分析 150
6.2.4 漏洞分析 153
6.2.5 漏洞利用 161
6.2.6 补丁修复分析 166
6.3 CVE-2018-20250 WinRAR漏洞 168
6.3.1 漏洞介绍及测试环境 168
6.3.2 基础知识及 POC样本分析 169
6.3.3 漏洞分析 170
6.3.4 漏洞利用及防御措施 175
6.4 CVE-2020-0796 Windows SMB Ghost漏洞 185
6.4.1 漏洞介绍 185
6.4.2 调试环境搭建 186
6.4.3 漏洞分析 188
6.4.4 复盘反思 191
参考文献 192
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

温馨提示:请使用泸西县图书馆的读者帐号和密码进行登录

点击获取验证码
登录