转储 lsass - NativeDump

admin 2024年6月20日12:30:27评论28 views字数 930阅读3分6秒阅读模式

NativeDump 允许仅使用 NTAPI 转储 lsass 进程,生成一个 Minidump 文件,其中仅包含需要由 Mimikatz 或 Pypykatz 等工具解析的流(SystemInfo、ModuleList 和 Memory64List Streams)。

项目地址:https://github.com/ricardojoserf/NativeDump

  • NTOpenProcessToken 和 NtAdjustPrivilegeToken 获取“SeDebugPrivilege”权限
  • RtlGetVersion 获取操作系统版本详细信息(主版本、次版本和内部版本号)。这对于 SystemInfo Stream 是必需的
  • NtQueryInformationProcess 和 NtReadVirtualMemory 获取 lsasrv.dll 地址。这是 ModuleList Stream 所需的唯一模块
  • NtOpenProcess 获取 lsass 进程的句柄
  • NtQueryVirtualMemory 和 NtReadVirtualMemory 循环遍历内存区域并转储所有可能的区域。同时填充 Memory64List Stream

该项目目前有三个分支(除了具有基本技术的主分支之外):

  • ntdlloverwrite - 使用磁盘上已有的 DLL 文件中的干净版本覆盖 ntdll.dll 的“.text”部分

  • delegates - 覆盖 ntdll.dll + 动态函数解析 + 使用 AES 进行字符串加密 + XOR 编码

  • remote - 覆盖 ntdll.dll + 动态函数解析 + 使用 AES 进行字符串加密 + 将文件发送到远程机器 + XOR 编码

  • all-modules-获取所有模块的信息(不仅仅是 lsasrv.dll)

用法:

NativeDump.exe [DUMP_FILE]

技术细节:创建最小的 Minidump 文件

读完Minidump未记录的结构后,其结构可以总结为:

  • 标头:签名(“MDMP”)、流目录的位置和流数量等信息
  • 流目录:每个流一个条目,包含每个流的类型、总大小和在文件中的位置
  • 流:每个流包含与流程相关的不同信息,并有自己的格式
  • 区域:进程中每个内存区域可读取的实际字节数

原文始发于微信公众号(TtTeam):转储 lsass - NativeDump

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月20日12:30:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   转储 lsass - NativeDumphttps://cn-sec.com/archives/2865782.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息