Mimikatz

Mimikatz

什么是Mimikatz?

Mimikatz是一款安全工具,可以从内存中提取明文密码、哈希、PIN 码和 Kerberos 票证。mimikatz还可以执行传递哈希、传递票据和构建黄金票据。

Mimikatz有什么功能?

​ Mimikatz 是一个非常多功能的工具,主要用于以下几种攻击和操作:

横向移动

Mimikatz 可以通过提取凭据或使用 NTLM 哈希进行 Pass-the-Hash 攻击。

凭据提取

​ Mimikatz 能够从内存中提取存储的用户凭据(如明文密码、哈希值、Kerberos 票据等)。

票据传递(Pass-the-Ticket)

​ Mimikatz 可以提取和使用 Kerberos 票据(TGT 或 TGS),以模拟合法用户的身份进行访问。这种技术可以绕过密码验证,只需使用提取到的票据。

哈希传递(Pass-the-Hash)

​ Mimikatz 允许使用已知的 NTLM 哈希值来模拟用户身份,而不需要知道用户的明文密码。这种技术在 Windows 环境中非常常见,用于获取访问权限。

Golden Ticket 和 Silver Ticket 攻击

​ Golden Ticket 攻击利用域控制器的 KRBTGT 账户的哈希值生成伪造的 Kerberos 票据,这些票据可以用于任意访问域中的资源。
​ Silver Ticket 攻击则利用服务账户的哈希值生成伪造的 Kerberos 服务票据,用于访问特定服务

凭据注入

​ Mimikatz 可以将特定的凭据注入到一个进程中,从而使该进程拥有这些凭据的访问权限。

安全账户管理(SAM)数据库和 LSA 秘密(LSA Secrets)提取

​ Mimikatz 能够从本地安全账户管理数据库中提取用户密码哈希值,以及从本地安全机构(LSA)中提取存储的秘密信息。

Mimikatz常用命令

提升 Mimikatz 进程的权限,使其能够访问敏感信息。通常情况下,需要以管理员权限运行。

privilege::debug

获取已登录用户的凭据: 该命令提取并显示当前已登录用户的明文密码、哈希和票据。

sekurlsa::logonpasswords

Screenshot_13.png

这个命令用来提取和导出当前登录会话的 Kerberos 票据。可用于后续的攻击,例如 Pass-the-Ticket 攻击。

sekurlsa::tickets /export

这个命令列出并导出当前会话中的所有 Kerberos 票据。

kerberos::list /export

Screenshot_2.png

Pass-the-Hash 攻击:PTH 攻击允许攻击者使用已知的 NTLM 哈希值来模拟用户身份,而不需要知道用户的明文密码。指定的 NTLM 哈希值来模拟用户 "Administrrator",并以该用户的身份打开一个新的命令提示符(cmd)。

sekurlsa::pth /user:Administrator /domain:DESKTOP-T3SUSMG /ntlm:492911d7c966541683cfa0a852927aa9 /run:cmd

Screenshot_3.png
具体参数解释:

/user:Administrateur:指定要模拟的用户名(这里是 "Administrateur")。
/domain:winxp:指定目标域(这里是 "winxp")。
/ntlm:f193d757b4d487ab7e5a3743f038f713:指定 NTLM 哈希值(这里是 "f193d757b4d487ab7e5a3743f038f713")。
/run:cmd:指定要运行的命令(这里是 "cmd",即命令提示符)。

sekurlsa::tickets /exportkerberos::list /export的区别

​ 虽然 sekurlsa::tickets /exportkerberos::list /export 都用于导出 Kerberos 票据,但它们的工作原理和提取方式有所不同。以下是这两个命令的详细解释和它们之间的区别:

sekurlsa::tickets /export

功能:从本地安全机构 (LSA) 内存中提取当前用户会话中的所有 Kerberos 票据。
作用:提取并导出所有与当前登录会话相关的 Kerberos 票据,包括服务票据 (TGS) 和票据授予票据 (TGT)。
执行环境:需要在目标系统上以高权限(通常是 SYSTEM 权限)运行,直接从内存中读取票据。

kerberos::list /export

功能:列出并导出当前用户的 Kerberos 票据。
作用:导出当前用户的所有 Kerberos 票据,通常包括用户身份验证时生成的票据。
执行环境:依赖于用户的会话上下文,可以从用户的进程环境中提取票据。

区别

数据来源:

sekurlsa::tickets 从 LSA 内存中提取票据,能够提取与所有会话和服务相关的票据。
kerberos::list 从当前用户的会话上下文中提取票据,通常仅限于当前用户相关的票据。

执行权限:

sekurlsa::tickets 通常需要更高的权限(如 SYSTEM 权限)来访问 LSA 内存。
kerberos::list 在用户的权限范围内运行,无需提升权限即可访问用户的 Kerberos 票据。

应用场景:

sekurlsa::tickets 适用于需要获取系统上所有用户和服务的 Kerberos 票据的场景,通常用于深度渗透测试和高级持久性威胁(APT)分析。
kerberos::list 更适合于快速列出和导出当前用户的 Kerberos 票据,便于进行针对用户的分析和攻击。

示例结果

假设你在同一台机器上以相同的高权限运行这两个命令,导出的结果可能会有重叠,但 sekurlsa::tickets /export 可能会包含更多的票据,包括其他用户和服务的票据,而 kerberos::list /export 只会导出当前用户的票据。

未完。。。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注