Linpmem:一款功能强大的Linux物理内存提取工具 | xxxLinpmem:一款功能强大的Linux物理内存提取工具 – xxx
菜单

Linpmem:一款功能强大的Linux物理内存提取工具

二月 27, 2024 - FreeBuf

关于Linpmem

Linpmem是一款功能强大的Linux物理内存提取工具,该工具专为x64 Linux设计,可以帮助广大研究人员在执行安全分析过程中快速读取Linux物理内存数据。

该工具类似Windows下的Winpmem,Linpmem不是一个传统的内存转储工具,该工具提供了一个API来从任何物理地址读取数据。除此之外,Linpmem还提供了多种读取物理内存的访问模式,例如字节、dward、qward和缓冲区访问模式等,其中缓冲区访问模式适用于大多数情况。

Linpmem:一款功能强大的Linux物理内存提取工具

功能介绍

1、支持使用多种访问模式从内存物理地址读取数据;

2、CRS信息服务(可以通过pid指定目标进程);

3、虚拟地址转物理地址转换服务;

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/Velocidex/Linpmem.git

工具配置

内核驱动器构建

在使用该工具之前,我们必须按照下列步骤手动构建Linpmem驱动器。

第一步:获取正确的Header

我们需要使用到make工具和一个C编译器,这里推荐使用gcc。

确保安装好了linux-headers,具体的包名可能取决于Linux发行版的版本,下列命令可以检查是否已经安装好了linux-headers:

ls -l /usr/lib/modules/`uname -r`/

需要注意的是,

第二步:make

切换到项目目录中,并使用下列命令即可完成项目编译:

cd Linpmem  make

除此之外,你还需要在当前目录下生成linpmem.ko。

加载驱动器

linpmem.ko模块可以通过下列命令完成加载:

insmod path-to-linpmem.ko

或使用下列命令卸载模块:

rmmod path-to-linpmem.ko

加载之后,为了与Linpmem驱动器交互,我们还需要创建下列服务:

mknod /dev/linpmem c 42 0

工具使用演示

演示代码

下面给出的演示代码详细说明了如何与驱动器进行交互,我们可以在“./userspace_interface/linpmem_shared.h”路径下找到用户空间API参考信息:

cd demo  gcc -o test test.c  (sudo) ./test

请注意,这份代码非常重要!

命令行接口工具

$ ./pmem -h  Command-line client for the linpmem driver     Usage: pmem [OPTIONS] [COMMAND]     Commands:    insmod  加载Linpmem驱动器    help     打印工具帮助信息和退出     Options:    -a, --address <ADDRESS>            需要执行物理读取操作的地址    -v, --virt-address <VIRT_ADDRESS>  将地址转换成目标进程的地址空间(默认:当前进程)    -s, --size <SIZE>                   缓冲区读取操作大小    -m, --mode <MODE>             读取操作所使用的读取模式,可选byte, word, dword, qword, buffer    -p, --pid <PID>                     目标进程CR3信息        --cr3                          查询目标进程的CR3值(默认:当前进程)        --verbose                      显示调试输出    -h, --help                          打印帮助信息    -V, --version                       打印工具版本

许可证协议

本项目的开发与发布遵循GPL-2.0开源许可证协议。

项目地址

Linpmem:【GitHub传送门

参考资料

https://github.com/Velocidex/WinPmem

本文作者:, 转载请注明来自FreeBuf.COM

# linux安全 # 内存取证 # 内存转储 # 内存数据提取 # 内存安全

Notice: Undefined variable: canUpdate in /var/www/html/wordpress/wp-content/plugins/wp-autopost-pro/wp-autopost-function.php on line 51