制作面向Volatility的Linux配置文件

2021-07-25 02:06卢小贝李士文
计算机与网络 2021年11期
关键词:配置文件源代码内核

卢小贝 李士文

使用内存取证框架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下正常使用,测试结果如下图。

猜你喜欢
配置文件源代码内核
掌握颜色查找表的魔力
人民情怀:柳青为文为人的内核(评论)
从Windows 10中删除所有网络配置文件
基于TXL的源代码插桩技术研究
初春
用软件处理Windows沙盒配置文件
互不干涉混用Chromium Edge
微软发布新Edge浏览器预览版下载换装Chrome内核
保护好自己的“源代码”
解密别克安全“源代码”