volailtty3分析内存: modpost: missing MODULE_LICENSE() in /root/volatility/tools/linux/module.o

最近有取证需求,在制作受害机器元数据符号遇到一个问题:

make -C //lib/modules/5.15.0-91-generic/build CONFIG_DEBUG_INFO=y M="/root/volatility/tools/linux" modules

make[1]: Entering directory '/usr/src/linux-headers-5.15.0-91-generic'

MODPOST /root/volatility/tools/linux/Module.symvers

ERROR: modpost: missing MODULE_LICENSE() in /root/volatility/tools/linux/module.o

make[2]: *** [scripts/Makefile.modpost:133: /root/volatility/tools/linux/Module.symvers] Error 1

make[2]: *** Deleting file '/root/volatility/tools/linux/Module.symvers'

make[1]: *** [Makefile:1830: modules] Error 2

make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-91-generic'

make: *** [Makefile:10: dwarf] Error 2

解决办法,在 module.c末尾加入

MODULE_LICENSE("GPL");


如果你不知道 module.c在哪,它位于/root/volatility/tools/linux

再次make,就没问题了


我看社区里边没有关于内存分析的知识我简单的写一下,想到哪写到哪,欢迎大佬补充

制作Profile

因为应急环境中,需要分析内存的都是出问题的,一般都是断网的,所以需要记录受害机器的内核及发行版本,如果你能拿到系统镜像或虚拟机就很简单了

  1. 如果你没办法在受害机器编译执行相关操作,请记录内核版本及发行版本,下载对应镜像获取相应版本的软件更新
  2. 如果你有受害机器镜像或可以直接在受害机器操作,直接按照本文操作即可

对于不同发行版本的Linux需要安装相关的内核头文件、必要开发文件及编译工具(make),其他发行版系统自行百度,比如Ubuntu需要linux-kernel-headers linux-source-x.xx.x

apt install -y linux-kernel-headers linux-source-5.15.0

首先去这个网站下载libdwarf源码,直接搜索Reason for release跳转到的相关下载位置

DWARF Page

下载完之后,解压

tar -xz libdwarf-0.9.2.tar.xz

进入到libdwarf目录执行以下:

./configure
make -j12
make install

成功安装输出dwtab会有如下图所示
Xnip2024-05-13_12-32-13

然后进行提取,注意volatility为你的vol项目目录如果你是安装的请找出vol安装路径,如果是git clone volatility,目录应是以下


Xnip2024-05-13_12-40-09

cd volatility/tools/linux
make
zip $(lsb_release -i -s)_$(uname -r)_profile.zip module.dwarf /boot/System.map-$(uname -r)

如果以上操作没有任何报错,制作成功后,会在该路径下出现这样的文件发行版本名称+内核版本_profile.zip,如以下

Ubuntu_5.15.0-91-generic_profile.zip

服务器资源由ZeptoVM赞助

Partners Wiki Discord