逆向工程恶意软件:Ghidra 入门,第 1 部分

欢迎回来,我有抱负的网络战士!

在逆向工程领域有许多优秀的工具可供使用(参见逆向工程,第 3 部分:IDA Pro 入门和第 5 部分:OllyDbg 入门),但现在我们有了一个很好的新选项,称为 Ghidra。 Ghidra 由美国国家安全局(美国国内领先的间谍机构和负责开发Stuxnet 恶意软件EternalBlue的机构)开发,该机构是世界顶级间谍机构之一。

我们在 2017 年的 Wikileaks Vault 7 泄漏中首次了解到 Ghidra,它于 2019 年春季作为免费和开源(在 Apache 许可下)软件发布。它是一个优秀的逆向工程工具,与 Ida Pro 不同,它是免费的!

Ghidra 几乎免费拥有 Ida Pro 的所有功能,因此如果您开始进行逆向工程,这可能是要使用的软件。

由于其有效性和有吸引力的价格点,我将在 Hackers-Arise 使用 Ghidra 做一系列逆向工程恶意软件教程。

我强烈建议您在继续使用 Ghidra 之前阅读以下教程:

  1. 逆向工程恶意软件,第 1 部分:入门
  2. 逆向工程恶意软件,第 2 部分:汇编程序基础
  3. 逆向工程恶意软件,第 4 部分:Windows 内部结构

第 1 步:下载 Ghidra

你可以在这里下载Ghidra。由于它是用 Java 编写的,因此它几乎适用于所有平台,包括 Window、Mac OS 和 Linux。我将使用 Windows 10 来演示 Ghidra。

由于 Ghidra 是一个 Java 应用程序并且需要 JDK 11。确保您的 JDK 是最新的,如果不是,请从 Oracle 下载它。

第 2 步:启动 Ghidra

下载 Ghidra 后,您可以通过单击 .bat 文件(有点老派)来启动它。

Ghidra 通过短暂显示此徽标打开…

…然后显示此窗口以开始您的第一个项目。项目类似于文件夹,可以包含您正在处理的多个文件。

单击“新建项目”。

这将打开一个如下所示的窗口。Ghidra 的功能之一是能够在文件或项目上进行协作。在这种情况下,单击“共享项目”。在这里,我们将单独处理一个项目,因此单击“非共享项目”。然后单击下一步。

然后,系统会要求您提供项目的位置和名称。在 Windows 中,默认情况下,项目将放置在您的 C:\User\<Name>\ghidra 目录中。我会用那个。然后输入您的项目名称。在这里,我将我的项目称为“MyFirstGhidraProject”。

接下来,我们需要导入一个文件。这是您要分析的软件或恶意软件。转到文件 –> 导入文件。

选择要分析的文件。在这种情况下,我将分析crackme0x00.exe(这些简单的crackme可在https://github.com/Maijin/radare2-workshop-2015/tree/master/IOLI-crackme获得)。

当您选择文件时,Ghidra 将回复以下信息。单击确定。

然后 Ghidra 会显示如下所示的屏幕,其中包含有关文件的关键信息。

接下来,此屏幕会弹出您的项目和导入的文件。您可以双击文件或将文件“拖放”到其上方的绿色 Ghidra 龙。

然后 Ghidra 开始工作。首先,它在中心的列表窗口中显示程序的汇编语言,然后询问您是否要分析文件。单击“是”。

Ghidra 现在将分析您的文件并显示类似于以下四个窗口的信息。

这四个窗口是;

窗口#1 是符号(Symbo)

此窗口允许您查看二进制文件的导入、导出、函数、标签、类和命名空间。

Window #2 是列表窗口

此窗口以汇编语言显示代码的细分。

窗口#3 是反编译器窗口

反编译器使您能够看到高级语言可能会是什么样子。

窗口#4 是数据类型管理器窗口

数据类型管理器允许您查看所有已定义的数据类型。

现在,您已准备好开始分析和逆向工程此文件!

概括

逆向工程恶意软件是网络安全学科中最高水平的技能之一,也是收入最高的技能之一。Ghidra 是一款出色的逆向工程工具,几乎可以在任何平台上运行,而且价格极具吸引力(免费)。在这个逆向工程系列中,我们将使用美国国家安全局的这个工具对多个恶意软件进行逆向工程,从简单的开始,逐步发展到更高级的。

发表评论

您的电子邮箱地址不会被公开。