网站技术实现方案,包头网站建设多少钱,在家做网站维护兼职,衡水网站建设服务商CentOS#xff0c;Redhat和Fedora 都是Red Hat体系#xff0c;采用yum管理器#xff0c;不同于Debian、Ubuntu作为Debian体系使用apt 本文以CentOS为例#xff0c;采用avml制作内存镜像#xff0c;并利用volatility官方所给工具制作profile符号文件#xff0c;进行简单的… CentOSRedhat和Fedora 都是Red Hat体系采用yum管理器不同于Debian、Ubuntu作为Debian体系使用apt 本文以CentOS为例采用avml制作内存镜像并利用volatility官方所给工具制作profile符号文件进行简单的内存取证实验 虚拟机安装
本次实验测试了centos7和centos8版本其他同理
https://mirrors.aliyun.com/centos/8.5.2111/isos/x86_64/CentOS-8.5.2111-x86_64-dvd1.iso https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
安装过程不过多赘述了安装时建议直接选最小安装centos一般用ssh连图形化界面不太好用 其他都默认就行 安装好后查看一下ip 发现net没分配到ip 配置一下网卡ifcfg后跟的ens网卡名称和上面对应
vi /etc/sysconfig/network-scripts/ifcfg-ens160重启一下服务
# CentOS7
service network restart
# CentOS8
service NetworkManager restart有内网ip了就可以ssh连了
制作内存镜像建议可以放到最后
下载avmlReleases · microsoft/avml (github.com)
然后用ssh传到centos里给予运行权限
chmod 711 avml打内存镜像
./avml out.lime制作profile
将vol的tools目录下的linux文件夹传到centos里并尝试编译
make遇到致命错误
make -C //lib/modules/3.10.0-1160.el7.x86_64/build CONFIG_DEBUG_INFOy M/root/linux modules
make: *** //lib/modules/3.10.0-1160.el7.x86_64/build: 没有那个文件或目录。 停止。
make: *** [dwarf] 错误 2提示/lib/modules/3.10.0-1160.el7.x86_64/build目录不存在
查看了一下发现build符号链接指向/usr/src/kernels/3.10.0-1160.el7.x86_64 这符合通常的情况因为在许多Linux发行版中内核源码通常位于/usr/src/kernels/目录下。 这种设置是为了让开发人员方便地访问内核源码特别是用于编译内核模块时。 进一步发现kernels目录下没有对应内核开发包
[rootlocalhost 3.10.0-1160.el7.x86_64]# cd /usr/src/kernels/3.10.0-1160.el7.x86_64
-bash: cd: /usr/src/kernels/3.10.0-1160.el7.x86_64: 没有那个文件或目录
[rootlocalhost 3.10.0-1160.el7.x86_64]# ls -a /usr/src/kernels
. ..安装内核开发包全部选yes就可以
sudo yum install kernel-devel再查看发现已经有了 但是发现名字跟之前的软连接对不上之前软连接指向的是/usr/src/kernels/3.10.0-1160.el7.x86_64
重新构造软连接
sudo rm /lib/modules/3.10.0-1160.el7.x86_64/build
sudo ln -s /usr/src/kernels/3.10.0-1160.108.1.el7.x86_64 /lib/modules/3.10.0-1160.el7.x86_64/buildps在这里可以看到其实内核的kernel已经做了一部分修改了建议在这一步先reboot一下 如果内存镜像在这一步之前打的后面做下去会提示报错 ArmAddressSpace: Failed valid Address Space check所以建议内存镜像放在最后去制作 再进行make又遇到致命错误
[rootlocalhost linux]# make
make -C //lib/modules/3.10.0-1160.el7.x86_64/build CONFIG_DEBUG_INFOy M/root/linux modules
make[1]: 进入目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”
arch/x86/Makefile:96: stack-protector enabled but compiler support broken
arch/x86/Makefile:169: *** CONFIG_RETPOLINEy, but not supported by the compiler. Compiler update recommended.。 停止。
make[1]: 离开目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”
make: *** [dwarf] 错误 2指出编译器不支持所需的特性。特别地指出启用了 RETPOLINE一种用于缓解Spectre漏洞的技术但是编译器不支持。
centos默认编译器是gcc重新安装一下
# 安装软件源
sudo yum install epel-release
# 安装gcc
sudo yum install gcc再make这次提示报错没有dwarfdump
[rootlocalhost linux]# make
make -C //lib/modules/3.10.0-1160.el7.x86_64/build CONFIG_DEBUG_INFOy M/root/linux modules
make[1]: 进入目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”Building modules, stage 2.MODPOST 1 modules
make[1]: 离开目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”
dwarfdump -di module.ko module.dwarf
/bin/sh: dwarfdump: 未找到命令
make: *** [dwarf] 错误 127
[rootlocalhost linux]# dwarfdump
-bash: dwarfdump: 未找到命令安装dwarfdump
这里不建议安装最新版本的dwarfdump在后面继续做会产生报错ValueError: invalid literal for int() with base 16: ‘128 (-128)’ · Issue #866 · volatilityfoundation/volatility (github.com)
但是暂未有前辈给出修改方案所以建议安装了较新版本的dwarfdump或者产生如下所述报错的重新卸载并装老版本的dwarfdump
ValueError: invalid literal for int() with base 16: 168 (-88)# 下载并解压包
wget https://www.prevanders.net/libdwarf-20201201.tar.gztar -xf libdwarf-20201201.tar.gz
cd libdwarf-20201201# 配置并编译
sudo ./configure
sudo make install
继续回到linux目录下编译成功得到dwarf内核调试文件
[rootlocalhost linux]# make
make -C //lib/modules/3.10.0-1160.el7.x86_64/build CONFIG_DEBUG_INFOy M/root/linux modules
make[1]: 进入目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”Building modules, stage 2.MODPOST 1 modules
make[1]: 离开目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”
dwarfdump -di module.ko module.dwarf
make -C //lib/modules/3.10.0-1160.el7.x86_64/build M/root/linux clean
make[1]: 进入目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”CLEAN /root/linux/.tmp_versionsCLEAN /root/linux/Module.symvers
make[1]: 离开目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”
[rootlocalhost linux]# ls
kcore libdwarf-0.9.1.tar.xz Makefile Makefile.enterprise module.c module.cile module.dwarf
[rootlocalhost linux]# ls -lh
总用量 5.0M
drwxr-xr-x. 2 root root 71 2月 5 20:14 kcore
-rw-r--r--. 1 root root 2.6M 1月 28 03:27 libdwarf-0.9.1.tar.xz
-rw-r--r--. 1 root root 384 2月 5 20:14 Makefile
-rw-r--r--. 1 root root 314 2月 5 20:14 Makefile.enterprise
-rw-r--r--. 1 root root 18K 2月 5 20:14 module.c
-rw-r--r--. 1 root root 46 2月 5 20:20 module.cile
-rw-r--r--. 1 root root 2.4M 2月 5 21:12 module.dwarf获取system.map内存表文件
ls -lh /boot/System.map-$(uname -r)[rootlocalhost linux]# ls -lh /boot/System.map-$(uname -r)
-rw-------. 1 root root 3.5M 10月 20 2020 /boot/System.map-3.10.0-1160.el7.x86_64打包
sudo zip $(lsb_release -i -s)_$(uname -r)_profile.zip module.dwarf /boot/System.map-$(uname -r)# 如果没有lsb_release命令
yum install redhat-lsb-core[rootlocalhost linux]# sudo zip $(lsb_release -i -s)_$(uname -r)_profile.zip module.dwarf /boot/System.map-$(uname -r)adding: module.dwarf (deflated 91%)adding: boot/System.map-3.10.0-1160.108.1.el7.x86_64 (deflated 79%)
[rootlocalhost linux]# ls
CentOS_3.10.0-1160.108.1.el7.x86_64_profile.zip kcore Makefile Makefile.enterprise module.c module.cile module.dwarf将zip移到volatility2\volatility\plugins\overlays\linux目录下
# linux下用grep我volatility2装在windows里
python2 vol.py --info | findstr Linux python2 vol.py -f out.lime --profileLinuxCentOS_3_10_0-1160_108_1_el7_x86_64_profilex64 linux_banner成功解析