Windows和Linux 系统/进程内存dump方式汇总

Windows和Linux 系统/进程内存dump方式汇总

Linux 系统内存转储

LiME 是一款专为 Linux 操作系统设计的工具,用于创建系统 RAM 的安全副本。它以内核模块的形式工作,可以将各种格式(例如 raw、lime 格式)的内存内容导出到磁盘文件。

安装LiME

LiME 用于分析和安全调查,从系统内存中收集数据。这包括有关正在运行的系统进程、网络连接、用户会话甚至潜在恶意软件的宝贵信息。LiME 允许通过创建完整且未更改的数据副本来回顾性分析系统关闭或活动期间发生的事件。

root@VM-24-5-ubuntu:~/tools# git clone https://github.com/504ensicsLabs/LiME.git
Cloning into 'LiME'...
remote: Enumerating objects: 386, done.
remote: Counting objects: 100% (37/37), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 386 (delta 18), reused 28 (delta 14), pack-reused 349
Receiving objects: 100% (386/386), 1.62 MiB | 7.33 MiB/s, done.
Resolving deltas: 100% (207/207), done.
root@VM-24-5-ubuntu:~/tools# cd LiME/src/
root@VM-24-5-ubuntu:~/tools/LiME/src# ls
deflate.c  disk.c  hash.c  lime.h  main.c  Makefile  Makefile.sample  tcp.c
root@VM-24-5-ubuntu:~/tools/LiME/src# make
make -C /lib/modules/5.15.0-107-generic/build M="/root/tools/LiME-master/src" modules
make[1]: Entering directory '/usr/src/linux-headers-5.15.0-107-generic'
  CC [M]  /root/tools/LiME-master/src/tcp.o
  CC [M]  /root/tools/LiME-master/src/disk.o
  CC [M]  /root/tools/LiME-master/src/main.o
  CC [M]  /root/tools/LiME-master/src/hash.o
  CC [M]  /root/tools/LiME-master/src/deflate.o
  LD [M]  /root/tools/LiME-master/src/lime.o
  MODPOST /root/tools/LiME-master/src/Module.symvers
  CC [M]  /root/tools/LiME-master/src/lime.mod.o
  LD [M]  /root/tools/LiME-master/src/lime.ko
  BTF [M] /root/tools/LiME-master/src/lime.ko
Skipping BTF generation for /root/tools/LiME-master/src/lime.ko due to unavailability of vmlinux
make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-107-generic'
strip --strip-unneeded lime.ko
mv lime.ko lime-5.15.0-107-generic.ko

生成带有kernel版本号的ko模块就算LiME编译安装完成了。

LiME 内存转储

insmod lime-5.15.0-107-generic.ko "path=/tmp/ubuntu.mem format=lime"

加载ko内核模块执行内存转储操作。记得每次转储完后需要rmmod ko模块,否则下次执行时会报错。

内存转储压缩传输

转储后的原始内存文件和当前系统内存大小是完全一样的。体积太大需要压缩传输。

root@VM-24-5-ubuntu:/tmp# tar czvf ubuntu.mem.tgz ubuntu.mem 
ubuntu.mem
root@VM-24-5-ubuntu:/tmp# ls -lh ubuntu.mem*
-r--r--r-- 1 root root 2.0G Jul 22 18:19 ubuntu.mem
-rw-r--r-- 1 root root 550M Jul 22 18:35 ubuntu.mem.tgz

Linux 进程内存转储

gcore 转储指定进程内存

gcore 是一个用于生成进程的核心文件的工具,它是 GDB 的一部分。使用这个命令可以创建一个指定进程的内存 dump 文件,然后可以用 GDB 或其他工具进行分析。

安装gdb

 apt install gdb -y

使用方式

gcore -o <输出文件名> <进程ID>

Windows 内存转储

Windows内存取证是指对系统物理内存 (RAM) 进行详细检查,对于了解计算机的当前状态或过去执行的操作至关重要。在系统崩溃、恶意软件攻击或其他安全漏洞等情况下,存储在 RAM 中的数据可能包含重要信息。

Dumplt 内存转储

Windows上的内存转储非常简单,使用管理员运行Dumplt就能直接转储Windows的内存。

FTK 内存转储

AccessData FTK Imager 是一款行业标准软件产品,为数字取证专业人员提供一套强大的工具。它允许用户创建、检查和分析来自各种媒体和文件系统的数据图像,包括硬盘、USB 、CD/DVD、SAN、RAID、Jaz/Zip 磁盘甚至 RAM。使用 FTK Imager 创建的图像允许详细检查数字证据,同时保留其完整性。

Windows 进程内存转储

赞赏

微信赞赏支付宝赞赏

Zgao

愿有一日,安全圈的师傅们都能用上Zgao写的工具。

发表评论