标题 | 制作面向Volatility的Linux配置文件 |
范文 | 卢小贝 李士文 使用内存取证框架Volatility对获得的内存样本进行分析之前,必须首先为目标操作系统创建一个配置文件。Volatility对所有Windows操作系统的主要版本都有内置的支持,使用时不需要进行额外的制作。然而Linux操作系统是不同的,由于其内核版本、子内核版本和定制内核的数量众多,使得Volatility无法为所有可能的Linux内核版本提供配置文件,需要使用者自己进行制作。 制作工具 下面列出了创建Linux配置文件所需的软件: dwarfdump:从ELF文件中解析调试信息的工具,如Linux内核和内核模块,输出各种内存结构定义。可以通过使用libdwarf-tools内置的dwarfdump,或者从源代码编译来安装这个工具。 编译器工具:编译c源代码所需的工具,如gcc和make。 Volatility取证框架:创建配置文件所需的VTypes需要Volatility取证框架内置的tools/linux/module.c内核模块,其声明了Volatility需要的所有类型的成员。 配置文件的制作 创建配置文件包括为特定内核版本生成一组VTyoes(结构定义)以及一个内核符号表。Volatility利用这些信息来源对内存镜像进行分析。 创建Vtypes 通过对想要分析的内核进行module.c内核模块的编译就可以实现Vtypes的创建。切换到volatility/tools/linux/目录下并键入make进行编译即可。如果成功,输出如下图所示。 在编译接近结束时,dwarfdump对module.ko生成module.dwarf文件。 獲取符号表 内核符号表包含在System.map文件中,可以在许多地方找到这个文件,包括发行版内核的安装包,安装内核的计算器的/boot目录下,或者编译内核的源代码目录。 System.map文件包含来自内核的所有符号的地址,Volatility使用它来定位内存中的关键数据结构,即便是同一个内核的简单重新编译,也足以改变符号的地址。其/boot目录下的文件如下图所示。 制作配置文件 要创建配置文件,需要将VTypes及内核符号表放入一个压缩文件中,然后将其移到到volatility/plugins/overlays/Linux/目录下并进行一个合适的命名,可以通过如下图所示的命令来完成这些步骤。 结果测试 要使用制作的配置文件,必须先找到volatility分配给它的名称,其格式为“Linux+zip文件名+"x86,x64或ARM"”,可以通过如下的命令进行查看。 可以看到制作的配置文件名称为LinuxCentos7x64。也可以在volatility下正常使用,测试结果如下图。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。