leludo84/vol3-linux-profiles

GitHub: leludo84/vol3-linux-profiles

为 Volatility3 内存取证框架提供预构建的 Linux 发行版内核符号表,简化 Linux 内存镜像分析的前期准备工作。

Stars: 77 | Forks: 5

# Volatility 3 Linux 配置文件 ## 项目 本项目的目标是为仅限 **x86_64** 版本的主要 Linux 发行版构建并提供所有可能的 Volatility3 配置文件。 本项目包含所有内核版本,包括安全更新。 ## 配置文件 | 发行版 | 时间段 | 路径 | 数量 | | ------------ | ---------------------- | --------------------------------------- | ----------------- | | Almalinux 8 | 全部 | [profiles/almalinux8/](profiles/almalinux8/) | 68 | | Almalinux 9 | 全部 | [profiles/almalinux9/](profiles/almalinux9/) | 64 | | Almalinux 10 | 全部 | [profiles/almalinux10/](profiles/almalinux10/) | 11 | | Centos 6 | 全部 | [profiles/centos6/](profiles/centos6/) | 230 | | Centos 7 | 全部 | [profiles/centos7/](profiles/centos7/) | 116 | | Centos 8 | 全部 | [profiles/centos8/](profiles/centos8/) | 29 | | Ubuntu 16 | 全部 | [profiles/ubuntu16/](profiles/ubuntu16/) | 778 | | Ubuntu 18 | 全部 | [profiles/ubuntu18/](profiles/ubuntu18/) | 812 | | Ubuntu 20 | 从 2021-10-12 至今 | [profiles/ubuntu20/](profiles/ubuntu20/) | 777 | | Ubuntu 22 | 从 2023 年 4 月 至今 | [profiles/ubuntu22/](profiles/ubuntu22/) | 1161 | | Ubuntu 24 | 从 2024 年 6 月 至今 | [profiles/ubuntu24/](profiles/ubuntu24/) | 178 | | Debian 6 至 13 (debian snapshot) | 全部 | [profiles/debian-snapshot/](profiles/debian-snapshot/) | 2283 | :warning: Ubuntu 20、22 和 24 在其仓库中不提供旧的软件包(最近 15 或 20 个内核)。本项目没有比这更早的配置文件。对于旧的符号文件,请使用 https://github.com/p0dalirius/volatility3-symbols。 ## 我的配置文件在哪里? 有两种方法可以找到您的配置文件: 1. 使用内核包名称和版本,并根据 Linux 发行版添加 *-dbg*、*-dbgsym* 或 *-debuginfo*; 2. 使用 Linux banner 索引 (*banners.ndjson*),例如: ``` grep "Linux version 6.2.0-1007-aws (buildd@lcy02-amd64-106) (x86_64-linux-gnu-gcc-11 (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #7~22.04.1-Ubuntu SMP Fri Jul 7 13:49:28 UTC 2023 (Ubuntu 6.2.0-1007.7~22.04.1-aws 6.2.13)" banners.ndjson | jq .symbols_file "linux-image-unsigned-6.2.0-1007-aws-dbgsym_6.2.0-1007.7~22.04.1_x86_64.json.xz" ``` ## Volatility3 符号文件自动下载 Volatility 可以通过输入 ISF 服务器的地址自动下载符号文件。它将直接从 GitHub 下载 *banners-isf.json* 索引,并在其中找到符号文件的 URL。 在 **volatility3/framework/constants/\_\_init\_\_.py** 中将常量 **REMOTE_ISF_URL** 设置为 *https://raw.githubusercontent.com/leludo84/vol3-linux-profiles/main/banners-isf.json*。 ## 手动安装配置文件 每个配置文件都打包为压缩的 `.json.xz` 文件。您可以通过将文件复制到 `volatility3/symbols/linux/` 目录中,在您的 Volatility 安装中单独启用它们。 ## Profilator ### 构建 Profilator 所有处理器均为 Docker 容器。使用此脚本构建它们: ``` cd sources make ``` ### 运行 ## 如何手动构建 Linux 配置文件 ### dwarf2json 安装 在分析机上,从 https://github.com/volatilityfoundation/dwarf2json 下载并编译 **dwarf2json** ``` # 如果未安装 Go: apt install golang-go -y # 下载并编译 git clone https://github.com/volatilityfoundation/dwarf2json.git cd dwarf2json/ go build ``` ### 带调试符号的 Linux 内核 要使用 **dwarf** 创建配置文件,您必须下载或安装一个版本与采样版本严格相同的带有调试符号的 Linux 内核。 根据发行版的不同,相应软件包的名称如下: | 发行版 | 软件包名称 | 仓库 | 归档仓库 | | :-------: | ------------------------------------ | :----------------------: | :-------------------------------: | | Debian | **linux-image-$(uname -r)-dbg** | *main* | http://snapshot.debian.org/ | | Ubuntu | **linux-image-$(uname -r)-dbgsym** | http://ddebs.ubuntu.com/ | **none** | | CentOS | **kernel-debuginfo-$(uname -r).rpm** | base-debuginfo | https://vault.centos.org/ | | RedHat | **kernel-debuginfo-$(uname -r).rpm** | RHEL, RHN | RedHat Network (付费) | | AlmaLinux | **kernel-debuginfo-$(uname -r).rpm** | baseos-debuginfo | https://repo.almalinux.org/vault/ | 更多信息: - https://access.redhat.com/solutions/9907 - https://www.ibm.com/docs/en/linux-on-systems?topic=linuxonibm/liacf/oprofkernelsymrhel.html - https://wiki.ubuntu.com/Debug%20Symbol%20Packages ### 构建配置文件 ``` ./dwarf2json linux --elf /usr/lib/debug/boot/vmlinux-4.4.0-137-generic > linux-4.4.0.json cp linux-4.4.0.json /symbols/ ``` ### 测试 ``` python3 vol.py -vvvv -f ram.img linux.pslist.PsList ```
标签:Almalinux, CentOS, DAST, Debian, Homebrew安装, Linux内核, Linux配置文件, SecList, Volatility3, x86_64, 内存取证, 内存镜像分析, 内核符号表, 库, 应急响应, 恶意软件分析, 数字取证, 日志审计, 符号文件, 自动化脚本, 请求拦截, 逆向工具