制作Linux内存镜像+制作对应的volatility profile
文章目录
制作Linux内存镜像
工具有很多,我这里用lmg
理论上lmg可以把linux内存文件(memory.lime),volatility profile一次性全整出来,但是我不知道为什么报错了
只打内存镜像用LIME就可以了
lmg安装
Lmg:https://github.com/halpomeranz/lmg 脚本主程序
avml:https://github.com/microsoft/avml/releases/tag/v0.3.0(可直接下载二进制文件) Linux的便携式内存采集工具
LiME:https://github.com/504ensicsLabs/LiME
1.在lmg里面建一个新的文件夹imgg,将需要的文件放进去
2.修改avml二进制文件名
mv avml avml-$(uname -m)
mv avml-convert avml-convert-$(uname -m)
添加执行权限
chmod +x avml-convert-x86_64
3.进入到LiME/src目录
patch < ../../../../lmg/lime-Makefile.patch
需要先安装patch
apt-get install patch
4.使用lmg
安装完成,可以使用二进制文件lmg来转储Linux系统内存
./lmg -y
保存路径在当前目录下capture文件下
我profile.zip没做出来
Whatever directory name is used, the directory will contain:
<hostname>-YYYY-MM-DD_hh.mm.ss-memory.lime -- the RAM capture
<hostname>-YYYY-MM-DD_hh.mm.ss-profile.zip -- Volatility(TM) profile
<hostname>-YYYY-MM-DD_hh.mm.ss-bash -- copy of target's /bin/bash
volatilityrc -- prototype Volatility config file
制作volatility profile
首先要安装dwarfdump(调试文件导出工具)&GCC/Make()&KernelHeaders(待分析系统的内核头文件)
sudo apt-get install dwarfdump
sudo apt-get install build-essential
KernelHeaders可以根据uname -r得到内核版本,不过这个我没有安装
linux-header-`uname -r`
1.创建vtypes
vtypes是内核数据结构,为创建该数据结构,我们需要检查我们的源码并针对我们要分析的系统内核编译module.c文件,这将会为我们生成一个名为module.dwarf文件,该文件包含了我们所需的内核调试信息。
cd volatility/tools/linux
make
2.获取符号表
一般我们可以在/boot目录下找到该System.map文件。该文件包含系统的符号信息。
3.制作用户配置文件
将moudle.dwarf以及system.map文件打包成一个zip文件,放在volatility/plugins/overlays/linux
下。
sudo zip ./volatility/plugins/overlays/linux/Ubuntu.zip ./tools/linux/module.dwarf /boot/System.map-`uname -r`
使用profile
放在volatility/plugins/overlays/linux
下之后查看info
root@volatility-master# python vol.py --info|grep Linux
Volatility Foundation Volatility Framew