RustiveDump:一款基于NT系统调用的LSASS内存转储工具

科技   2024-11-18 19:12   上海  

关于RustiveDump


RustiveDump是一款基于NT系统调用的LSASS内存转储工具,该工具使用Rust开发,旨在帮助广大研究人员仅使用NT 系统调用转储lsass.exe进程的内存。



该工具能够创建最小的 minidump,其中包含SystemInfo、ModuleList和Memory64List等基本组件,使用 Rust 构建,无 std,独立于 C 运行时 (CRT)。它可以编译为 shellcode (PIC),并支持 XOR 加密和远程文件传输。


功能介绍


1、所有操作均采用 NT 系统调用:RustiveDump 绕过标准 API,并利用 NT 系统调用执行所有操作。

2、无Std和 CRT 独立:RustiveDump 使用 Rust 的特性构建no_std,消除了对 Rust 标准库的依赖,并且独立于 CRT 库,因此精简版本仅18KB。

3、位置独立代码 (PIC):RustiveDump 现在实现了 Rustic64 的设计,允许将其编译为shellcode (PIC),从而使其更加通用。

4、间接 NT 系统调用:该工具使用间接系统调用,通过Hell's Gate、Halo's Gate和Tartarus' Gate等技术检索系统服务编号 (SSN) 。

5、精益内存转储:RustiveDump 生成集中内存转储,仅包含必要数据(即SystemInfo、ModuleList和Memory64List),确保没有臃肿的文件,足以满足您的内存分析工具(如Mimikatz或Pypykatz)的需求。

6、XOR 加密:RustiveDump 可以在保存或传输转储文件之前使用 XOR 对其进行加密,为转储的内存添加额外的安全层。

7、远程文件传输:可以使用winsock API 调用,支持将转储文件直接发送到远程服务器。

8、调试模式:调试模式提供每个步骤的详细日志,可以在构建过程中启用。


工具要求


Rust

Cargo


工具安装


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

git clone https://github.com/safedv/RustiveDump.git


代码构建


RustiveDump 通过Cargo Make提供了几个可配置的构建选项,以自定义工具的行为。您可以启用XOR 加密、远程文件传输和详细日志记录等功能。


可用功能:

xor:使用 XOR 加密来加密转储文件。

debug:为流程的每个步骤启用详细日志。

remote:通过 Winsock 将转储文件发送到远程服务器。

lsasrv:过滤内存转储以仅包含来自lsass.exe的lsasrv.dll模块。


要使用不同的功能组合构建 RustiveDump,请使用以下命令:


基本构建(本地保存转储,无附加功能):

cargo make


使用特定功能进行构建:

cargo make --env FEATURES=xor,remote,lsasrv,debug

构建为 Shellcode (PIC):

cargo make --env FEATURES=xor,remote pic


内存转储文件结构


RustiveDump 生成一个极简的 minidump 文件,仅包含Mimikatz和Pypykatz等工具的基本组件。该文件由三个核心流组成:

1、SystemInfo Stream:操作系统版本和架构详情。

2、ModuleList Stream:列出lsass.exe中加载的模块。

3、Memory64List Stream :来自lsass.exe的内存区域。


许可证协议


本项目的开发与发布遵循MIT开源许可协议。


项目地址


RustiveDump

https://github.com/safedv/RustiveDump


FreeBuf粉丝交流群招新啦!
在这里,拓宽网安边界
甲方安全建设干货;
乙方最新技术理念;
全球最新的网络安全资讯;
群内不定期开启各种抽奖活动;
FreeBuf盲盒、大象公仔......
扫码添加小蜜蜂微信回复「加群」,申请加入群聊

https://github.com/libyal/libmdmp/blob/main/documentation/Minidump%20(MDMP)%20format.asciidoc
https://github.com/ricardojoserf
https://github.com/safedv/Rustic64

FreeBuf
中国网络安全行业门户
 最新文章