首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Khan安全团队

    使用重复句柄转储 LSASS

    这篇文章将演示如何使用这样的句柄通过MiniDumpWriteDump API转储 LSASS 。 有人警告我不要在MiniDumpWriteDump 调用中使用重复的句柄,因为 API 只会打开自己的 LSASS 句柄,而不是使用提供的句柄。 Calling MiniDumpWriteDump... NtOpenProcess called. Target PID: 1056. Access: PROCESS_ALL_ACCESS Handle: 0x314 Calling MiniDumpWriteDump... PID: 21068, Handle: 0x6B4 MiniDumpWriteDump successful.

    1K20编辑于 2021-12-29
  • 来自专栏内网安全学习笔记

    从转储lsass学习Windows安全

    MiniDumpWriteDump函数 BOOL MiniDumpWriteDump( [in] HANDLE hProcess, [in] CallbackParam ); https://learn.microsoft.com/en-us/windows/win32/api/minidumpapiset/nf-minidumpapiset-minidumpwritedump OpenProcess( PROCESS_VM_READ | PROCESS_QUERY_INFORMATION | PROCESS_DUP_HANDLE, false, PID ); //利用MiniDumpWriteDump 转储lsass BOOL status = MiniDumpWriteDump(LsassHandle, PID, OutFile,MiniDumpWithFullMemory,NULL,NULL, https://docs.microsoft.com/en-us/windows/win32/api/minidumpapiset/nf-minidumpapiset-minidumpwritedump

    1.7K20编辑于 2023-04-17
  • 来自专栏JusterZhu

    WinDbg

    CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = true)] static extern bool MiniDumpWriteDump Overload supporting MiniDumpExceptionInformation == NULL [DllImport("dbghelp.dll", EntryPoint = "MiniDumpWriteDump , CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = true)] static extern bool MiniDumpWriteDump MiniDumpWriteDump(currentProcessHandle, currentProcessId, fileHandle, (uint)options, IntPtr.Zero, IntPtr.Zero , IntPtr.Zero) : MiniDumpWriteDump(currentProcessHandle, currentProcessId, fileHandle, (uint)options,

    87310编辑于 2022-12-07
  • 来自专栏鸿鹄实验室

    OffenSive Csharp Development Part1

    dumplsass进程网上有很多的demo,其实更多的还是在使用MiniDumpWriteDump来进行内存dump,其原型如下: BOOL MiniDumpWriteDump( HANDLE delegate {callback}; 那我们就可以这样来写 [UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate bool MiniDumpWriteDump typeof(DMyUserCallFunction)); 那我们这里便是: IntPtr createPtr = GetProcAddress(LoadLibrary("Dbghelp.dll"), "MiniDumpWriteDump "); MiniDumpWriteDump miniDumpWriteDump = (MiniDumpWriteDump)Marshal.GetDelegateForFunctionPointer(createPtr , typeof(MiniDumpWriteDump)); GetProcAddress、LoadLibrary可以这样导入: //import Win32API [DllImport(

    92540发布于 2021-04-01
  • 来自专栏JDArmy

    Lsass memory dump

    MiniDumpW通过OpenProcess+CreateFileW+MiniDumpWriteDump函数来dump内存。 • 2、通过MiniDumpWriteDump读取lsass进程内存,并将结果保存到文件。 • 对抗点二:是MiniDumpWriteDump函数dump进程内存的操作中,当dump内存时,会涉及到读取lsass内存和创建文件并将内存写入文件。 ,后通过syscall的方式调用ZwOpenProcess+NtCreateFile+MiniDumpWriteDump来进行内存dump,能有效的规避用户层的杀软。 如果是句柄,则通过QueryFullProcessImageName来显示出句柄的可执行文件路径,如果是lsass.exe文件,则调用后续的MiniDumpWriteDump来获取lsass内存。

    2.7K10编辑于 2022-11-14
  • 来自专栏全栈程序员必看

    网盘lua调用失败(dumb down)

    前阵子在弄一个dump程序的时候遇到这样一个问题. dump程序在被dump程序debug情况下一切正常,release版本下调用了minidumpwritedump函数进行dump,但是minidumpwritedump

    5.6K10编辑于 2022-07-31
  • 来自专栏信安之路

    抓 Windows 密码,这 7 种技术够不够用!

    使用简单的 MiniDumpWriteDump API 转储 lsass 内存。 使用 MINIDUMP_CALLBACK_INFORMATION 回调转储 lsass 内存。 使用 MiniDumpWriteDump 的直接系统调用转储 lsass 内存。 使用直接系统调用转储 lsass 内存(本机转储,带有离线解析所需的流)。 随机选一个,比如 5,结果如图:

    24800编辑于 2024-11-22
  • 来自专栏鸿鹄实验室

    红队技巧:绕过ESET_NOD32抓取密码

    目前很多的dump手法使用的是利用MiniDumpWriteDump这个API进行进程的内存dump,demo如下: #include <windows.h> #include <DbgHelp.h> lsassPID << endl; } lsassHandle = OpenProcess(PROCESS_ALL_ACCESS, 0, lsassPID); BOOL isDumped = MiniDumpWriteDump

    1.2K40发布于 2021-04-01
  • 来自专栏黑白天安全团队

    dump LSASS

    Include memory defined by the MiniDumpWriteDump callback routine named MiniDumpCallbackRoutine of the https://diverto.github.io/2019/11/05/Extracting-Passwords-from-hiberfil-and-memdumps 使用API MiniDumpWriteDump 方法 在dbghelp.dll中,有一个名为MiniDumpWriteDump的函数,该函数是: ? 在内部,MiniDumpWriteDump使用未记录的NtReadVirtualMemory API读取其目标的进程内存。 MiniDumpWriteDump + PssCaptureSnapshot 由于向LSASS打开特权句柄并将其传递给MiniDumpWriteDump可能会很麻烦,因此一种更隐秘的方法是使用PssCaptureSnapshot

    2.6K30发布于 2021-03-16
  • 来自专栏全栈程序员必看

    程序发生崩溃dump文件_failed to create dump file

    MiniDumpWithPrivateWriteCopyMemory | MiniDumpIgnoreInaccessibleMemory | MiniDumpWithTokenInformation | MiniDumpFilterMemory ); MiniDumpWriteDump &mdei : 0, 0, &mci); //MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hFile, MiniDumpNormal

    1.8K20编辑于 2022-10-01
  • 来自专栏全栈程序员必看

    Windows下dump文件生成与分析

    1.3 程序中加入存储Dump的代码 通过SetUnhandledExceptionFilter设置捕获dump的入口,然后通过MiniDumpWriteDump生成dump文件。 dumpInfo.ThreadId = GetCurrentThreadId(); dumpInfo.ClientPointers = TRUE; // 写入Dump文件内容 MiniDumpWriteDump

    7.2K20编辑于 2022-08-15
  • 来自专栏DevOps

    C++/VisualStudio DMP文件的生成与调试

    GetCurrentThreadId(); dumpInfo.ExceptionPointers = pException; dumpInfo.ClientPointers = TRUE; ::MiniDumpWriteDump

    61210编辑于 2024-03-29
  • 来自专栏C++

    C++开发中的DUMP文件:解决崩溃与性能问题的利器(全文字数2w+)

    注意:在调用MiniDumpWriteDump之前,需要链接Dbghelp.lib库。 例如,在Windows平台上,可以使用MiniDumpWriteDump函数时指定MiniDumpWithFullMemory以外的选项,以避免记录完整的内存内容。 在Windows平台上使用MiniDumpWriteDump函数时,可以选择MiniDumpNormal或MiniDumpWithFullMemory以外的选项。 在Windows平台上使用MiniDumpWriteDump函数时,可以通过MINIDUMP_TYPE参数指定DUMP文件的类型。 关键技能总结生成DUMP文件:在Windows平台上,可以使用MiniDumpWriteDump函数生成小型DUMP文件,或通过Visual Studio、事件查看器等工具生成DUMP文件。

    2.1K31编辑于 2025-04-15
  • C/C++ 使用SEH让崩溃进程转存

    // 引发异常的线程id dumpInfo.ClientPointers = TRUE; // 则异常指针位于客户机或崩溃的进程的地址空间中 // 写入Dump文件内容 MiniDumpWriteDump

    64900编辑于 2022-12-28
  • 来自专栏sofu456

    mfc设置静态库和minidump

    einfo.ThreadId = ::GetCurrentThreadId(); einfo.ExceptionPointers = excp; einfo.ClientPointers = FALSE; ::MiniDumpWriteDump

    86710发布于 2019-12-10
  • 来自专栏网络安全攻防

    Dump LSASS SKill

    Duplicate handle: 1549097566208 [*] MiniDumpWriteDump: NOT Hooked! [*] Duplicate dump successful.

    1.5K20编辑于 2022-09-07
  • 来自专栏Gamma安全实验室

    红队技巧-绕过杀软dump-Lsass内存

    这工具好像是调用MiniDumpWriteDump api来dump内存的,自己都可以用c++实现个 #include "stdafx.h" #include <windows.h> #include lsassPID << endl; } lsassHandle = OpenProcess(PROCESS_ALL_ACCESS, 0, lsassPID); BOOL isDumped = MiniDumpWriteDump

    2.6K30发布于 2021-11-19
  • 来自专栏sofu456

    mfc设置静态库和minidump、restart

    einfo.ThreadId = ::GetCurrentThreadId(); einfo.ExceptionPointers = excp; einfo.ClientPointers = TRUE; ::MiniDumpWriteDump

    59420编辑于 2022-05-06
  • 来自专栏Qt6 研发工程师

    Qt C++调试之如何生成dump文件(收藏)

    异常捕获机制```cpp// Windows 异常处理LONG WINAPI CrashHandler(EXCEPTION_POINTERS* pExceptionInfo) { // 生成转储文件 MiniDumpWriteDump dumpInfo.ThreadId = GetCurrentThreadId(); dumpInfo.ClientPointers = TRUE; // 写入Dump文件内容 ::MiniDumpWriteDump

    31110编辑于 2026-01-22
  • 来自专栏JDArmy

    蓝军技术推送(第十弹)

    •通过MiniDumpWriteDump函数来dump LSASS内存。 而后又介绍了目前已有的免杀转储内存的方法,分别是: •创建LSASS的进程快照,通过进程快照来间接dump内存。

    95420编辑于 2022-06-06
领券