取证Linux内存的题很少遇见,大多是Windows系统的内存取证。
volatility工具只自带Windows系统 profile ,Linux 需要自己添加。Linux的profile大体的制作方法如下:将module.dwarf和system.map打包成一个zip文件,接着zip移动到volatility/plugins/overlays/linux。
制作profile
这里记得换源 不然会有些莫名的报错
linux换内核
首先查看文件的系统内核版本
strings xxxx | grep "Linux version"
然后去https://www.kernel.org/下载你需要的内核版本的源代码
#准备环境
yum install gcc make ncurses-devel openssl-devel flex bison perl elfutils-libelf-devel -y
yum upgrade -y
#编译
make menuconfig(save->ok->exit->exit默认配置即可)
make -j `nproc` && make modules_install && make install
#完成后需要设置GRUB默认的内核版本,然后重启centos
grub2-set-default 0 && grub2-mkconfig -o /etc/grub2.cfg
grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"
之后重启然后重新选择操作系统内核即可
找system.map文件
在/boot目录下找到system.map文件,一般格式为System.map-x.xx.x-x-amd64 这个文件包含系统的符号信息
生成module.dwarf文件
进入“/usr/src/kernels”查看,确保安装必要的linux头文件
#安装命令
yum install kernel-devel
进入“/lib/modules”路径下,创建build和source的软连接:
ln -s /usr/src/linux-headers-x.xx.x-x-amd64 build
ln -s /usr/src/linux-headers-x.xx.x-x-common source
下面的步骤需要下载github里的volatility
在虚拟机里会连接失败
换xshell链接
如上图 在Xshell连接时,主机的IP地址应该填:
192.168.116.134 这里可能要进行代理设置
我是将小猫中config.yaml的地址改成了192.168.116.134:22
然后继续在xshell中进行后续操作
将/volatility/tools/linux目录设置为777权限
然后安装一下dwarfdump
yum install elfutils-devel
wget http://www.prevanders.net/libdwarf-20140413.tar.gz
tar -zxvf libdwarf-20140413.tar.gz
cd dwarf-20140413/
sudo ./configure
sudo make install
cd dwarfdump
make install
在“/volatility/tools/linux”目录,执行make命令,即可得到module.dwarf like this:
vtypes是内核数据结构,为创建该数据结构,我们需要检查我们的源码并针对我们要分析的系统内核编译module.c文件,这将会为我们生成一个名为module.dwarf文件,该文件包含了我们所需的内核调试信息。
压缩成ZIP文件
将上面得到的module.dwarf和system.map放在一起打包为ZIP文件,就是我们需要的profile文件。再将制作好的ZIP文件放置volatility/plugins/overlays/linux/目录下,通过volatility --info查看,就可以看到我们配置好profile文件了(volatility会以它识别方式重新命名配置文件)。
sudo zip centos.zip module.dwarf /boot/System.map-`uname -r`
接下来道题看一下
24dasctfServerMeM
首先要先安装centos7
https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
这里的安装过程不再过多叙述
安装完成之后需要先换源 这里用阿里源
vi /etc/yum.repos.d/CentOS-Base.repo
#在vi编辑器中:
#按 i 进入插入模式
#修改内容,比如添加baseurl
#按 Esc 退出插入模式
#输入 :wq 保存并退出
进入文件中把每一个mirrorlist前加上#
然后把每一个baseurl修改成一下baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64/
记住先识别Linux内核版本
strings 1.mem | grep -i 'Linux version' | uniq
膜拜大佬视频 接下来按照视频操作就可以
https://www.bilibili.com/video/BV1TuxLeVEQk/?vd_source=c3818b0eda9c04681a6f35489c67db01
接下来算法研究必须要提上日程了(bushi)