Tenfk 发布于2022年11月8日 分享 发布于2022年11月8日 0x00 前言 上一篇文章《Mimilib利用分析》中提到了mimilib可以作为WinDbg的一个插件,所以本文将详细介绍这个插件的使用方法,实现从内核态转储文件导出密码,并基于利用思路给出防御建议。 0x01 简介 本文将介绍以下内容: 转储文件的分类 转储文件的两种导出方法 WinDbg环境配置 利用理念 辩护建议 0x02 dump文件的分类 转储文件分为以下两类: 1.User-Mode Dump File 用户模式转储文件分为以下两种类型: 完全用户模式转储 小型转储 简单理解:通常针对单个流程。 更多参考: https://docs . Microsoft . com/en-us/windows-硬件/驱动程序/调试器/用户模式-转储-文件 创建方法: 您可以使用Procdump来创建。 从用户模式转储文件导出密码的方法; 请参考之前的文章《渗透基础-从lsass.exe进程导出凭据》。 2.Kernel-Mode Dump Files 即内核模式转储文件,分为以下五种类型: 完全内存转储 内核内存转储 小型内存转储 自动内存转储 主动内存转储 简单理解:包括所有流程的信息。 创建方法: 启动创建转储文件的功能,当系统崩溃时会自动创建转储文件(BSOD) 更多参考: https://docs . Microsoft . com/en-us/windows-硬件/驱动程序/调试器/内核模式转储文件 0x03 从内核模式转储文件导出口令的方法 流程如下: 1.打开转储文件功能。 2.强制系统蓝屏(BSOD),系统将自动创建一个内核模式转储文件。 3.使用WinDbg加载转储文件,并调用mimilib导出明文密码。 应特别注意以下问题: 1.开启转储文件的功能 对应的注册表位置:HKEY _本地_机器\系统\当前控制集\控制\崩溃控制,注册表项CrashDumpEnabled,类型REG_DWORD 数值对应的功能如下: 0表示未启用。 1表示完全内存转储。 2表示核心内存转储。 3表示内存转储。 检查与该注册表对应的cmd命令,如下所示: reg query hklm \ SYSTEM \ current Control set \ Control \ crash Control/v crash dump enabled 这里需要将键值设置为1来开启全内存转储的功能,否则在使用WinDbg访问进程lsass.exe的内存时会提示页面目录无效,如下图所示。 修改该注册表的cmd命令如下: REG add hklm \ SYSTEM \ current Control set \ Control \ crash Control/v crash dump enabled/t REG _ DWORD/d 1/f 2.强制系统蓝屏(BSOD) (1)通过结束属性为critical process的进程导致BSOD 默认为关键流程的系统流程如下: csrss.exe lsass.exe services.exe smss.exe svchost.exe wininit.exe 在这里,您也可以先将指定的流程设置为关键流程,在该流程结束后,也会导致BSOD。 详情请参考之前的文章《结束进程导致BSOD的利用分析》。 (2)使用NotMyFault 下载地址: https://docs . Microsoft . com/en-us/sys internals/downloads/not my fault 触发蓝屏(BSOD)的命令如下: notmyfault.exe-accept EULA/崩溃 注: NotMyFault还支持使用以下命令暂停当前系统: notmyfault.exe-accept EULA/hang 默认情况下,BSOD后系统会自动重启,并生成文件C: \ Windows \ memory.dmp 3.使用WinDbg加载MEMORY.DMP 注: WinDbg可以在安装SDK后自动安装。 参考资料: https://docs . Microsoft . com/en-us/windows-硬件/驱动程序/调试器/调试器-下载-工具 使用WinDbg,选择打开故障转储并选择存储器。DMP. 获取转储文件详细信息的命令如下: !分析-v 错误警告:内核符号错误。请修复符号以进行分析。 如下图 这里需要修复符号文件,可以选择以下三种解决方案: (1) using the _NT_SYMBOL_PATH environment variable. 添加环境变量: set _ NT _ SYMBOL _ PATH=SRV * c:\ my SYMBOL * https://msdl . Microsoft . com/download/symbols (2) using the -y argument when starting the debugger. 使用WinDbg从指定的参数开始。 windbg.exe-y SRV * c:\ mysymbol * http://msdl . Microsoft . com/download/symbols (3)using .sympath and .sympath+ 添加符号文件路径 WinDbg的命令行操作:symphon SRV * c:\ my symbol * http://msdl . Microsoft . com/download/symbols 也可以通过界面操作来实现。 文件符号文件路径. 输入SRV * c:\ my symbol * http://mdl.microsoft.com/download/symbols. 设置后,所需的符号文件将自动从Microsoft公共符号服务器下载。 重新加载:重新加载 测试: !进程0 0 lsass.exe 正常负载,如下所示 如果此部分仍然失败,请尝试使用VPN连接到互联网。 如果测试环境不能连接到互联网,您可以通过SymChk获取清单文件来下载符号文件。 参考资料: https://docs . Microsoft . com/en-us/windows-hardware/drivers/debugger/using-a-manifest-file-with-symchk 在无法连接到Internet的计算机A上执行: sym chk/om c:\ Manifest \ man . txt/id c:\ test \ MEMORY。DMP 获取文件c:\Manifest\man.txt,将其复制到可以连接到Internet的计算机B上,并在计算机B上执行以下命令: sym chk/im c:\ test \ man . txt/s SRV * c:\ mysymbolNew * https://msdl . Microsoft . com/download/symbols 将生成一个新文件夹c:\mysymbolNew,将其复制到计算机A,在计算机A上启动WinDbg,并使用以下命令将新的符号文件位置指定为c:\mysymbolNew:symfix c:\mysymbolNew 测试:重新加载 !进程0 0 lsass.exe 正常负载,如下所示 4.加载mimilib插件 请参考之前的文章《Mimilib利用分析》。 (1)方法1 将mimilib.dll保存到WinDbg的winext目录中。 我的测试环境(Server2012R2x64)中保存的路径是:C:\ Program Files \ Debugging Tools for Windows(x64)\ Winext。 启动WinDbg 加载插件的命令如下:加载mimilib (2)方法2 直接加载mimilib的绝对路径,如下例所示:加载c:\test\mimilib 总而言之,设置配置环境以导出密码的完整命令如下:symphon SRV * c:\ my symbol * http://msdl . Microsoft . com/download/symbols。再装 !进程0 0 lsass.exe。工艺890f4530。加载c:\test\mimilib。再装 !米米卡茨 完整的过程如下 以下命令可用于将输出结果保存到文件中:logopen c:\test\log.txt !米米卡茨。对数关闭 0x04 利用思路 1.从用户模式转储文件导出口令 通过API MiniDumpWriteDump()获取进程lsass.exe的转储文件 使用mimikatz从转储文件中导出密码。该命令如下所示: mimikatz.exe日志' sekurlsa:minidump lsass . DMP ' ' sekurlsa:logon passwords full '退出 2.从内核模式转储文件导出口令 打开转储文件功能。 系统蓝屏(BSOD) 使用WinDbg加载转储文件,并调用mimilib导出明文密码。 0x05 防御建议 1.从用户模式转储文件导出口令 拦截API MiniDumpWriteDump()的行为,一些安全产品已经支持该行为。 2.从内核模式转储文件导出口令 打开转储加密功能 参考资料: https://docs . Microsoft . com/en-us/windows-server/虚拟化/hyper-v/manage/about-dump-encryption 注: 如果攻击者获得了系统的管理员权限,就可以关闭转储加密的功能。 0x06 小结 介绍了分别从用户态转储文件和内核态转储文件导出密码的方法,并基于利用的思想给出了防御建议。 留下回复 链接帖子 意见的链接 分享到其他网站 更多分享选项…
推荐的帖子