Linux导出进程和系统内存
2023-6-4 21:31:29 Author: 安全孺子牛(查看原文) 阅读量:48 收藏

1、通过GDB导出进程内存

1.查看SSH进程(示例)

通过PS查看进程ID,获取到SSH的进程ID

ps -aux | grep sshd

2.GDB指定进程ID

gdb -p 19861

通过generate-core-file导出进程信息,会生成以core.进程ID的文件

generate-core-file

3.通过strings查看dump文件

strings core.19861 | more

4.查看进程输出

more /proc/19861/cmdline

5.查看进程关联

file /proc/19861/exe

2、通过ProcDump导出进程内存

1.下载工具

https://github.com/Sysinternals/ProcDump-for-Linux/releases
sudo dpkg -i procdump_1.5-16239_amd64.deb

2.dump进程

指定dump的进程ID,并dump出以dump.进程ID的文件

procdump 19861 dump

3.创建10秒内3个核心存储

在10秒内创建3个核心存储,并存储在/tmp路径下

procdump -n 3  19861 /tmp

3、通过avlm导出系统内存

    avlm是微软基于 Rust 编写的X86_64用户空间易失性内存获取工具可用于在不知道目标操作系统分布的情况下获取内存,并且直接提供二进制工具,不需要在操作系统进行编译。

https://github.com/microsoft/avml

# 文件下载后赋予可执行权限

chmod +x avml

# 根据系统内存大小生成相同大小的文件

./avml memory.dump

使用volatility可直接进行分析,该示例为在本机的kali中生成的系统内存镜像

python3 vol.py -f /opt/test/memory.dump banners.Banners


文章来源: http://mp.weixin.qq.com/s?__biz=MzI2MDI0NTM2Nw==&mid=2247489952&idx=1&sn=f95ffde0272ee79e4c42198d4a30a04f&chksm=ea6dcbb8dd1a42ae1857a79d7705212c7de4e392bb264467b48508c8d425633a8074080f78d8#rd
如有侵权请联系:admin#unsafe.sh