您的位置:首页 > 其它

逆向分析的经验

2015-07-03 16:06 204 查看
感谢Light4Freedom团队的Wins0n写的技术分享PPT以及周侃的PPT

常用工具:

Windbg / OllyDbg / Immunity Debugger / PEiD

IDA Pro / Hex-Rays Decompiler / ARM / x64 ……

ILSpy

Metasploit

Python

Putty / WinSCP / nc

C32Asm / 010Editor

SysinternalsSuite / PCHunter / InnoExtractor

ApkTool /JD-GUI/dex2jar

加了VMP的x64驱动:

想要进行调试需要配置Windbg和VMWare,最好还能事先下载好符号文件

在虚拟机加载驱动文件后,使用PCHunter把驱动Dump出来,然后拖入IDA分析,在字符串中看到Flag明文

隐写题目:

在分析一个逆向题时提取出一段二进制内容,文件开头内容为RIFF WAVEfmt,实际上是一个wav音频文件,而且声音经过了反转处理

善用工具:

有一个逆向分析题给了一个InnoSetup的安装包,但是需要密码才能进行下一步安装操作,网上找了一个InnoExtractor工具,可以直接提取安装包内的文件

PEiD不止查壳:

PEiD附带的Krypto ANALyzer可以快速识别成熟的密码算法

.net分析:

简单的.NET程序,可以直接使用ILSpy工具进行分析,在ILSpy中可以看到反编译的源码

IDA设置FLIRT Signature:

有时候IDA无法正确应用FLIRT Signature,比如一个Delphi编译的程序,如果没有被正确识别,那么很多库函数都无法自动识别。

设置方式:File -> Load File -> FLIRT signature file

缓冲区溢出

Stack-Guard 针对修改栈空间上函数返回地址的攻击,Stack-Guard给出两种方式阻止攻击:1.在函数返回前检测函数返回地址是否被修改;2.阻止任何程序对函数返回地址的修改。

ProPolice的主题思想和StackGuard很相似,他们也是使用canary值来检测堆栈攻击。他们的创新之处在于他们重新安排本地变量使得char缓冲区一直是在顶部来保护栈,这样其他的本地变量就不会被溢出破坏

CCured是C中加强类型及边界检查的研究,他们都是采用动静结合方式。CCured 辨别的目的在于防止指针的不恰当时使用,并且可以防止程序进入其不应该进入的内存区域。

Chaperon针对二进制代码检测缓冲区溢出,不需要源代码的支持。它可以截取malloc和free系统调用,检测堆访问的合法性;并且可以检测出堆上的内存泄漏;以及对未初始化内存的访问。相比于堆上的缓冲区溢出检测,Chaperon对栈缓冲区溢出检测比较简单粗糙。探测代码有时也会因为缓冲区溢出而被覆盖,导致最后给出错误的缓冲区溢出信息

Libsafe实际上是一个动静结合的工具。静态的方面,他为C中的库函数中一些潜在的缓冲区溢出漏洞打补丁。在实际的函数调用前做一个边界检查可以保证返回值和基指针不被重写。

Memcheck通过为内存的每个比特位建立影子内存从而更准确的发现比特级别的内存错误。对每一次内存操作Memcheck都需要进行探测并对影子内存进行相应的修改。由此带来的是性能上的严重损失,通常会比正常运行程序慢20-30倍

二进制翻译工具

Valgrind 影子内存

Memcheck,Taintcheck,Hobbes,Redux

DynamoRIO

Pin是Intel公司开发的一个动态二进制探测框架,具有易用、透明、高效、可移植、健壮等特点,目前支持IA64/Linux、x86/Linux、x86-64/Linux、ARM/Linux平台的客户程序。

PinOS是在Pin的基础上进行扩展的动态二进制探测框架。PinOS是在虚拟机Xen和Intel虚拟技术基础上构建的。它作用于硬件和操作系统之间,因此PinOS能够对整个系统的代码进行探测,包括用户空间的代码和内核空间的代码

DynamoRIO是在IA-32框架中实现的,它支持微软的Windows操作系统以及Linux操作系统。DynamoRIO非常的稳定,并且具有很高的性能。

DynamoRIO是一个动态二进制分析平台,支持二进制分析技术,能在不影响程序执行结果的前提下,通过在程序动态执行过程中插入额外的分析代码,动态监控程序的执行过程。DynamoRIO工作在操作系统和应用程序之间,它采用了代码缓存技术,通过将程序的代码拷贝进代码缓存的方法来对目标程序进行模拟执行。在模拟执行过程中,用户可以对目标的二进制代码进行修改,实行指令级分析。

DynamoRIO具有良好的扩展机制,用户可以利用DynamoRIO提供的接口编写各种二进制分析工具

Tools

Taintcheck

GIFT

LIFT

Dytan

IDA相关插件

idb2sig

unispector IDA中显示UNICODE字符

IDA to SoftIce converter/loader 将IDA中的符号提取转换成SoftICE识别的格式

Amante4’s plugIns by Mostek version: 0.1g

IDA功能是虽强大,但对String References等不能提供好的界面和操作,对我们来说,己习惯了W32DASM的String References、Import 和Export三种功能形式,幸好有了这个插件,使IDA这三个功能更加方便使用.安装时将文件解压到IDA的plugins目录

IDA470流程图生成插件

IDA Pro 5.0中文语言文件

IDA pro 4.9中文语言文件,只要将idag.CHS解压到IDA目录即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: