内存取证-Volatility3手动导出Linux系统符号表

内存取证-Volatility3手动导出Linux系统符号表

└─# vol -f sample.mem linux.pstree.PsTree
Volatility 3 Framework 2.11.0
Progress:  100.00               Stacking attempts finished                 
Unsatisfied requirement plugins.PsTree.kernel.layer_name: 
Unsatisfied requirement plugins.PsTree.kernel.symbol_table_name: 

A translation layer requirement was not fulfilled.  Please verify that:
        A file was provided to create this layer (by -f, --single-location or by config)
        The file exists and is readable
        The file is a valid memory image and was acquired cleanly

A symbol table requirement was not fulfilled.  Please verify that:
        The associated translation layer requirement was fulfilled
        You have the correct symbol file for the requirement
        The symbol file is under the correct directory or zip file
        The symbol file is named appropriately or contains the correct banner

Unable to validate the plugin requirements: ['plugins.PsTree.kernel.layer_name', 'plugins.PsTree.kernel.symbol_table_name']

vol3分析Linux内存通常都会遇到上面的报错,就是缺少对应的系统符号表。但网上介绍Volatility3的文章大部分都是都把工具的命令行翻译成中文,当真的去实操vol分析内存时会发现有太多的坑,因为分析内存是需要当前系统的符号表。

vol3自带的Linux符号表非常少,而Linux的kernel版本又非常众多,大多数情况都需要在对应的机器上手动导出符号表才能开始分析内存。

阅读更多

rsync+tls 实现远程数据同步加密传输

rsync是一个高效的数据同步工具,但是使用rsync本身只支持ssh和rsync这两种传输协议。我最近遇到了一种场景是从境外的服务器上同步到国内的NAS上。直接传输很容易被GFW阻断掉,但是rsync本身不支持tls加密。

最终通过 trojan + rsync 实现伪装tls流量远程同步文件。

阅读更多

开发ko内核模块,无依赖实现监控DNS请求进程

监控Linux主机发起DNS请求的进程是应急响应中经常遇到的一个问题。虽然可以通过systemtap或者ebpf的方式实现,但是在实战场景下两者的安装都非常麻烦。

  1. ebpf不支持低版本的内核,升级内核又需要重启,真实场景下不太可能实现。并且大部分内核只支持源码编译安装ebpf,过程非常繁琐。
  2. systemtap必须安装当前指定内核版本的debuginfo,依赖多个包,动则几百M上G。镜像源都是国外的,在客户现场下载非常耗时。

监控发起DNS请求原本只是非常小的需求,用ebpf和systemtap简直是大材小用。我一直在思考有没有更轻量通用的解决方案。

阅读更多

使用KAPE自动化采集并分析Windows取证数据

KAPE(Kroll Artifact Parser and Extractor)用于获取和解析 Windows 取证所需的数据源。KAPE 是一款功能强大的免费软件分类程序,它将针对设备或存储位置,自定义获取重要的取证工件,并在几分钟内对其进行解析。由于速度快,KAPE 允许取证人员优先找到对他们的案件最关键的系统。此外,在数据采集过程中,可以查看 KAPE 生成的数据以获取线索、构建时间表等。

阅读更多