混淆Mimikatz下载器以规避Defender检测

admin 2025年1月28日14:00:33评论14 views字数 2281阅读7分36秒阅读模式

 

本文将展示如何混淆 Mimikatz 下载器,以绕过 Defender 检测,注意⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。

我将使用一台虚拟机,并在其上安装了 Visual Studio 和 Python。我还将 Windows Defender 中的文档文件夹设为例外,这样我们可以在不被 Defender 打扰的情况下进行操作。

请确保在 Windows 安全设置中禁用样本提交!这样我们可以确保不会过早暴露我们自己的工作技巧。还要避免上传到 VirusTotal。

我们将混淆 BetterSafetyKatz:https://github.com/Flangvik/BetterSafetyKatz

BetterSafetyKatz 的工作方式是,它将直接从 gentilkiwi GitHub 仓库获取最新的预编译 Mimikatz 版本,进行运行时修补已检测到的签名,并使用 SharpSploit DInvoke 将其加载到内存中。你还可以将链接或路径作为参数传递给可执行文件,它会尝试从那里获取 Mimkatz 的 zip 压缩包。

我将下载 BetterSafetyKatz 并从 zip 文件中提取项目。

现在,为了进行一些初步的混淆,我将使用 InvisibilityCloak:https://github.com/h4wkst3r/InvisibilityCloak

这是一个 Python 脚本,可以对 C# Visual Studio 项目进行修改。它将更改文件中的项目名称,然后根据我们给定的方法对字符串进行混淆。

我将把 BetterSafetyKatz 文件夹作为 -d 参数传递,然后将项目名称更改为 DarkMagician,并使用 -n 参数,最后指定我希望使用 -m reverse 来反转所有字符串。

混淆Mimikatz下载器以规避Defender检测
img
混淆Mimikatz下载器以规避Defender检测
img

现在我们应该看到我们的项目文件已经被重命名。

混淆Mimikatz下载器以规避Defender检测
img

我们将在 Visual Studio 中打开它,然后以 Release 方式编译。

混淆Mimikatz下载器以规避Defender检测
img

它应该能够成功编译且没有错误,我们可以运行程序以确保它正常工作。

混淆Mimikatz下载器以规避Defender检测
img

完美!现在,让我们尝试看看Defender是否仍然检测到它,如果检测到,找出我们可能需要更改的代码部分。

为此,我们将使用DefenderCheck:https://github.com/matterpreter/DefenderCheck

DefenderCheck将自动将可执行文件分割成若干部分,以识别哪些文件部分触发了Defender的警告。

使用DefenderCheck时,我们需要从在Defender中添加为例外的文件夹运行它,然后禁用实时监控。

混淆Mimikatz下载器以规避Defender检测
img

它显示Defender仍然将可执行文件检测为恶意。现在让我们查看输出,看看是什么可能导致它被检测到。

混淆Mimikatz下载器以规避Defender检测
img

输出似乎显示了一些变量和函数名,其中最显眼的是“SharpSploit”,这是BetterSafetyKatz使用的一个.NET后渗透库,可能正是这个触发了Defender。我将使用Visual Studio中的“替换文件中的内容”选项,将“SharpSploit”这个词的每个实例替换为其他内容。

混淆Mimikatz下载器以规避Defender检测
img

我们再次编译代码,并确保它仍然正常工作。

现在,我将再次运行DefenderCheck。

混淆Mimikatz下载器以规避Defender检测
img

如果它给我们不同的结果,那是一个好兆头,说明我们改变了它之前检测到的内容。现在我们看到不同的函数和变量名称。既然我看到“Token”这个词出现得很频繁,那为什么不试着替换它呢?

混淆Mimikatz下载器以规避Defender检测
img

我再次编译,确保它能正常工作,然后再次运行 DefenderCheck。

混淆Mimikatz下载器以规避Defender检测
img

我们再次得到类似的结果,尽管我们可以看到“Token”已经被更改。有时,触发检测的可能是 DefenderCheck 输出的最后几行。我将替换“Utilities”这个词。

混淆Mimikatz下载器以规避Defender检测
img

然后再次编译,确保它仍然可以正常工作,再次运行 DefenderCheck。

混淆Mimikatz下载器以规避Defender检测
img

我们得到了不同的结果,我再次猜测是最后几行中的某一行,替换掉了“Helpers”这个词。

混淆Mimikatz下载器以规避Defender检测
img

然后重新编译,确保它正常运行,再次运行 DefenderCheck。

混淆Mimikatz下载器以规避Defender检测
img

我们得到了不同的结果,这里有多个候选项,所以我将替换其中的许多。

我将替换“MiniDump”,“NtRead”和“NtWrite”。

混淆Mimikatz下载器以规避Defender检测
img
混淆Mimikatz下载器以规避Defender检测
img
混淆Mimikatz下载器以规避Defender检测
img

我们再次编译,确保它正常工作,然后再次运行 DefenderCheck。

混淆Mimikatz下载器以规避Defender检测
img

这次似乎是检测到了其中一个反转的字符串。

混淆Mimikatz下载器以规避Defender检测
img

我将删除那行代码,因为我们实际上并不需要它,它只是向控制台打印一条消息。

混淆Mimikatz下载器以规避Defender检测
img

我们再编译一次并运行 DefenderCheck,这次它没有发现任何威胁!

混淆Mimikatz下载器以规避Defender检测
img

现在我会再次启用实时监控,将文件复制到程序文件夹并运行。我们可以看到它运行完美,没有触发 Defender!

混淆Mimikatz下载器以规避Defender检测
img

为什么我把它移动到程序文件夹?经过多次实验,我意识到,如果我们将其放在用户文件夹中,Defender的行为检测会被触发,导致我们的可执行文件被删除;但是如果把它放在程序文件夹中,Defender的行为检测就不会被触发。我确保没有将程序文件夹添加为排除项,还测试过将未经过混淆的恶意软件放入程序文件夹,Defender立刻就会删除它们。由于Mimikatz是我们理想中需要以管理员权限运行的工具,因此我们可以将其放在程序文件夹中,以避免触发行为检测。

声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。

原文始发于微信公众号(白帽子左一):混淆Mimikatz下载器以规避Defender检测

 

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月28日14:00:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   混淆Mimikatz下载器以规避Defender检测https://cn-sec.com/archives/3684933.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息