【取证分析】CentOS_5.5_安装GCC编译LiME
字数 1250 2025-08-20 18:17:07

CentOS 5.5环境下安装GCC并编译LiME进行内存取证分析

1. 背景与需求分析

在CentOS 5.5系统中进行内存取证分析时,面临以下挑战:

  • 生产环境缺少GCC和GDB等基本开发工具
  • 系统版本较老,yum源已停止更新
  • 需要获取完整内存镜像用于volatility分析

2. 解决方案选择

考虑两种方案后选择第二种:

  1. 进程内存转储方案:使用/proc/[PID]/maps抓取单个进程内存(被否决,因进程过多)
  2. LiME内核模块方案:编译LiME模块直接获取完整内存镜像

3. 环境准备

3.1 获取CentOS 5.5安装镜像

下载地址:http://vault.centos.org/5.5/isos/x86_64/CentOS-5.5-x86_64-bin-DVD.torrent

3.2 挂载ISO镜像

在VMWare中:

  1. 选择菜单VM > Settings
  2. 选择CDROM
  3. 设置参数为Use ISO image
  4. 选择下载的CentOS镜像文件

4. GCC安装步骤

以root身份执行以下命令安装GCC及相关依赖:

cd /media/CentOS_5.5_Final/CentOS
rpm -ivh cpp-4.1.2-48.el5.x86_64.rpm
rpm -ivh kernel-headers-2.6.18-194.el5.x86_64.rpm
rpm -ivh libgomp-4.4.0-6.el5.x86_64.rpm
rpm -ivh glibc-headers-2.5-49.x86_64.rpm
rpm -ivh libgomp-4.4.0-6.el5.x86_64.rpm  # 重复安装确认依赖
rpm -ivh kernel-devel-2.6.18-194.el5.x86_64.rpm
rpm -ivh glibc-devel-2.5-49.x86_64.rpm
rpm -ivh gcc-4.1.2-48.el5.x86_64.rpm

5. LiME编译与使用

5.1 解压与编译

tar -zxvf LiME.tar.gz
cd /home/yunwei/Desktop/malware/LiME/src/
make

编译成功后会在src目录下生成lime-2.6.18-194.el5.ko内核模块

5.2 内存抓取

# 抓取内存到指定路径
insmod lime-`uname -r`.ko path=/home/yunwei/Desktop/malware/centos5.lime format=lime

# 完成抓取后卸载模块
rmmod lime

6. 元数据制作(Volatility Profile)

6.1 安装dwarfdump工具

6.1.1 安装依赖

cd /media/CentOS_5.5_Final/CentOS/
rpm -ivh elfutils-libelf-0.137-3.el5.x86_64.rpm 
rpm -ivh elfutils-libelf-devel-static-0.137-3.el5.x86_64.rpm 
rpm -ivh elfutils-libelf-devel-0.137-3.el5.x86_64.rpm

6.1.2 编译libdwarf

git clone https://github.com/tomhughes/libdwarf.git
cd libdwarf
./configure
make
cd dwarfdump/
make install

6.2 编译volatility工具模块

tar -zxvf volatility.tar.gz
cd volatility/tools/linux/
make

编译问题解决
需要注释掉module.c文件中198-221行的代码段:

/*#if LINUX_VERSION_CODE == KERNEL_VERSION(2,6,18)
....
struct module_sections module_sect_attrs;
#endif*/

6.3 打包元数据

zip CentOS5.5_2.6.18-194.el5-x86_64.zip module.dwarf /boot/System.map-`uname -r`

将生成的zip文件放入volatility的插件目录:
volatility-master\volatility\plugins\overlays\linux

7. 使用Volatility分析内存镜像

示例命令:

vol.py -f "D:\malware\CentOS5.5_2.6.18-194.el5_test.lime" --profile=LinuxCentOS5_5_2_6_18-194_el5-x86_64x64 linux_pslist

8. 参考资源

  1. Linux安装GCC问题解决:https://blog.csdn.net/yvanboyang/article/details/73274004
  2. CentOS 5.5安装GCC与g++:https://www.linuxidc.com/Linux/2011-07/38657.htm
  3. CentOS 6.5手动安装gcc:https://blog.csdn.net/testcs_dn/article/details/41727767
  4. Volatility学习笔记:http://vdchuyen.com/blog/2016/01/01/build-volatility-centos-profile.html

9. 关键注意事项

  1. 必须使用与目标系统完全匹配的内核版本进行编译
  2. 内存抓取前确保有足够的磁盘空间
  3. 每次抓取后必须rmmod lime才能进行下一次抓取
  4. Volatility profile必须与系统内核版本严格匹配
  5. 老版本系统可能需要手动解决依赖问题
CentOS 5.5环境下安装GCC并编译LiME进行内存取证分析 1. 背景与需求分析 在CentOS 5.5系统中进行内存取证分析时,面临以下挑战: 生产环境缺少GCC和GDB等基本开发工具 系统版本较老,yum源已停止更新 需要获取完整内存镜像用于volatility分析 2. 解决方案选择 考虑两种方案后选择第二种: 进程内存转储方案 :使用 /proc/[PID]/maps 抓取单个进程内存(被否决,因进程过多) LiME内核模块方案 :编译LiME模块直接获取完整内存镜像 3. 环境准备 3.1 获取CentOS 5.5安装镜像 下载地址:http://vault.centos.org/5.5/isos/x86_ 64/CentOS-5.5-x86_ 64-bin-DVD.torrent 3.2 挂载ISO镜像 在VMWare中: 选择菜单 VM > Settings 选择 CDROM 设置参数为 Use ISO image 选择下载的CentOS镜像文件 4. GCC安装步骤 以root身份执行以下命令安装GCC及相关依赖: 5. LiME编译与使用 5.1 解压与编译 编译成功后会在src目录下生成 lime-2.6.18-194.el5.ko 内核模块 5.2 内存抓取 6. 元数据制作(Volatility Profile) 6.1 安装dwarfdump工具 6.1.1 安装依赖 6.1.2 编译libdwarf 6.2 编译volatility工具模块 编译问题解决 : 需要注释掉 module.c 文件中198-221行的代码段: 6.3 打包元数据 将生成的zip文件放入volatility的插件目录: volatility-master\volatility\plugins\overlays\linux 7. 使用Volatility分析内存镜像 示例命令: 8. 参考资源 Linux安装GCC问题解决:https://blog.csdn.net/yvanboyang/article/details/73274004 CentOS 5.5安装GCC与g++:https://www.linuxidc.com/Linux/2011-07/38657.htm CentOS 6.5手动安装gcc:https://blog.csdn.net/testcs_ dn/article/details/41727767 Volatility学习笔记:http://vdchuyen.com/blog/2016/01/01/build-volatility-centos-profile.html 9. 关键注意事项 必须使用与目标系统完全匹配的内核版本进行编译 内存抓取前确保有足够的磁盘空间 每次抓取后必须 rmmod lime 才能进行下一次抓取 Volatility profile必须与系统内核版本严格匹配 老版本系统可能需要手动解决依赖问题