首页
社区
课程
招聘
[翻译] IDA Pro DDR插件详解
发表于: 2021-1-13 10:30 6925

[翻译] IDA Pro DDR插件详解

2021-1-13 10:30
6925

IDA中的静态逆向工程通常会成问题。某些值是在运行时计算的,这使得很难理解某个基本块在做什么。如果您尝试通过调试一个恶意软件来执行动态分析,则该恶意软件通常会检测到并开始以不同的方式运行。思科Talos推出了动态数据解析器(DDR),该插件是IDA的插件,可简化反向工程恶意软件。DDR正在使用检测技术在运行时从样本中解析动态值。

DDR具有如图所示客户端/服务器体系结构。DDR IDA插件和DDR服务器是Python脚本。DynamoRio客户端是用C编写的DLL,它由DynamoRIO工具drrun.exe执行。该DLL使用检测技术在运行时分析和监视恶意软件样本。IDA插件运行在IDA中,是前端;DDR服务器运行在恶意代码机器上,是服务端。通常,所有分析过程都是通过插件控制的。后端DynamoRIO客户端分析完成后,将结果发送回插件。我们选择JSON作为此数据的格式,以使其更易于故障排除并易于由第三方Python脚本解析。
图片描述
从理论上讲,可以在同一台PC上运行插件和服务器,但是就执行恶意软件示例而言,强烈建议在单独的计算机上执行此操作。在大多数情况下,可以从IDA中的DDR菜单开始分析以收集动态值。下图显示了通用的工作流程。但是,如果要在无Python的系统上执行恶意软件,则也可以手动执行分析并单独运行DynamoRio客户端。
图片描述
图片描述
一旦在IDA日志输出窗口中看到插件已成功接收到JSON文件,就可以选择“获取值...”或“获取内存...”菜单之一来解析动态值或操作数。

安装要求Python模块和DynamoRIO框架。
DynamoRIO框架地址:
https://github.com/DynamoRIO/dynamorio/releases/tag/cronbuild-8.0.18547
首先,在“恶意软件PC”上安装Python 3,并确保“分析PC”上的IDA也使用Python 3设置。DDR不支持Python2。由于IDA早期版本中的错误,如果您想在IDA <7.5中运行DDR插件,则应在IDA计算机上安装Python 3.7。DDR服务器端仍可以是Python 3.8或3.7。

将归档文件提取到“恶意软件PC”上。最后,从归档文件根目录执行DDR_INSTALLER.py脚本。该脚本不会影响您现有的Python环境,它将为DDR创建专用的虚拟Python环境。它还没有任何非标准的Python模块依赖项。脚本在运行时会下载所有依赖项。它还会将DynamoRio框架安装到您的DDR安装目录中。该脚本将指导您完成DDR服务器和DDR IDA插件的整个安装过程。仔细阅读脚本的输出,其中包含许多其他提示,这些提示对于安装非常重要。
运行DDR_INSTALLER.py脚本后按照提示进行安装。
图片描述
安装过程中服务端IP使用“恶意软件PC”的IP。
安装完成后会要求启动ddr_server.py即服务端。
在DDR目录将ddr_plugin/ddr和ddr_plugin/ddr_plugin.py放到IDA插件目录。
开启IDA后即可使用DDR进行跟踪。

将plugins文件夹内文件放到IDA插件目录内。
修改ddr_config.json,修改WEBSERVER为服务端IP(“恶意软件PC”);修改CA_CERT为DDR证书绝对路径;修改DDR_WEBAPI_KEY和服务端key一致;将服务端生成的ddr_server.crt证书放到IDA插件目录的ddr目录内。

eg:-a 1 -b “test string”
图片描述

图片描述

图片描述

光标所在处设置为断点,只运行断点之前命令。
图片描述

光标选定位置设置为本次追踪起始执行地址,类似于设定执行esp。
图片描述

光标选定基本块,将其添加到列表,在后续跟踪时可以选定跟踪基本块列表。
图片描述

选定地址范围进行追踪。
图片描述

对标记所在的整个基本块进行追踪。
图片描述

对标记的基本块列表进行跟踪。可通过显示基本块列表进行查看。

对当前代码段进行完整跟踪。

相对于完整跟踪。

选定缓冲区大小。
图片描述

图片描述

将设置的值转储到缓冲区文件。

将缓冲区文件保存到文件。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2021-2-4 15:32 被kanxue编辑 ,原因:
上传的附件:
收藏
免费 7
支持
分享
最新回复 (5)
雪    币: 1829
活跃值: (4045)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2021-1-15 10:42
0
雪    币: 14539
活跃值: (17553)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
3
感谢分享,内容应该是机器翻译的吧
2021-1-15 11:16
0
雪    币: 264
活跃值: (549)
能力值: ( LV4,RANK:52 )
在线值:
发帖
回帖
粉丝
4
人工完成,每个功能都亲自使用然后输出的报告,非机器翻译
2021-1-15 14:26
0
雪    币: 1378
活跃值: (3067)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我馋这个插件好久了...非常感谢翻译 .
2021-2-1 16:23
0
雪    币: 12352
活跃值: (5118)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6

多谢楼主分享哟
2021-3-24 10:43
0
游客
登录 | 注册 方可回帖
返回
//