混淆 Mimikatz 下载程序以逃避 Defender(2024)

admin 2024年10月14日16:24:28评论32 views字数 2175阅读7分15秒阅读模式

混淆 Mimikatz 下载程序以逃避 Defender(2024)

大家好,今天我将展示如何混淆 Mimikatz 下载程序以绕过 Defender 检测。

我将使用安装了 Visual Studio 和 python 的虚拟机,同时在 Windows Defender 中还将 Documents 文件夹作为例外,我们可以在其中工作而不受 Defender 的打扰。

确保进入 Windows 安全中心并禁用样本提交!这样我们就能确保自己的工作技术不会太快被泄露。同时避免上传到 VirusTotal。

我们将对 BetterSafetyKatz 进行混淆。

https://github.com/Flangvik/BetterSafetyKatz

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

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

现在我将使用 InvisibilityCloack 进行初步混淆

https://github.com/h4wkst3r/InvisibilityCloak

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

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

混淆 Mimikatz 下载程序以逃避 Defender(2024)

混淆 Mimikatz 下载程序以逃避 Defender(2024)

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

混淆 Mimikatz 下载程序以逃避 Defender(2024)

我们将在 Visual Studio 中打开它,然后将其编译为 Release

混淆 Mimikatz 下载程序以逃避 Defender(2024)

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

混淆 Mimikatz 下载程序以逃避 Defender(2024)

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

为此,我们将使用 DefenderCheck

https://github.com/matterpreter/DefenderCheck

DefenderCheck 将自动将可执行文件分割成多个部分,以识别文件的哪些部分正在触发 Defender。
要使用 DefenderCheck,我们需要从在 Defender 中作为例外添加的文件夹运行它,然后禁用实时监控。

混淆 Mimikatz 下载程序以逃避 Defender(2024)

它表明 Defender 仍将可执行文件检测为恶意文件。现在让我们看看输出,看看是什么原因导致它检测到它。

混淆 Mimikatz 下载程序以逃避 Defender(2024)

输出似乎显示了一些变量和函数名称,其中最突出的是“SharpSploit”,这是 BetterSafetyKatz 使用的 .NET 后期利用库,这可能是触发 Defender 的原因。我将使用 VisualStudio 中的“文件中的替换”选项将单词 SharpSploit 的每个实例替换为其他内容。

混淆 Mimikatz 下载程序以逃避 Defender(2024)

我们再次编译代码并确保它仍然有效。

现在我将再次运行 DefenderCheck。

混淆 Mimikatz 下载程序以逃避 Defender(2024)

如果它给出了不同的结果,那么这是一个很好的迹象,表明我们改变了它正在检测的东西。现在我们看到了不同的函数和变量名。既然我经常看到 Token 这个词,为什么不试着替换它呢?

混淆 Mimikatz 下载程序以逃避 Defender(2024)

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

混淆 Mimikatz 下载程序以逃避 Defender(2024)

尽管我们可以看到单词 Token 发生了变化,但我们再次得到了类似的结果。有时,DefenderCheck 输出的最后几行会触发检测。我将替换单词“Utilities”。

混淆 Mimikatz 下载程序以逃避 Defender(2024)

然后再次编译,确保它仍然有效,然后再次运行 DefenderCheck。

混淆 Mimikatz 下载程序以逃避 Defender(2024)

我们得到了不同的结果,我将再次押注在最后一行,并将“助手”一词替换

混淆 Mimikatz 下载程序以逃避 Defender(2024)

然后编译,确保它有效并再次运行 DefenderCheck。

混淆 Mimikatz 下载程序以逃避 Defender(2024)

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

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

混淆 Mimikatz 下载程序以逃避 Defender(2024)

混淆 Mimikatz 下载程序以逃避 Defender(2024)

混淆 Mimikatz 下载程序以逃避 Defender(2024)

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

混淆 Mimikatz 下载程序以逃避 Defender(2024)

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

混淆 Mimikatz 下载程序以逃避 Defender(2024)

我将删除该行,因为我们并不真正需要它,因为它所做的只是将消息打印到控制台。

混淆 Mimikatz 下载程序以逃避 Defender(2024)

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

混淆 Mimikatz 下载程序以逃避 Defender(2024)

现在我将再次启用实时监控,将文件复制到 Program Files 并运行它。我们可以看到它运行良好,无需触发 Defender!

混淆 Mimikatz 下载程序以逃避 Defender(2024)

我为什么要将它移到 Program Files?经过大量实验后,我意识到如果我们将它放在用户文件夹中,Defender 行为检测将被触发并吞噬我们的可执行文件,但是如果我将它放在 Program Files 中,它不会触发 Defender 行为检测。我确保没有将 Program Files 添加为排除项,还测试了将非混淆的恶意软件放入 Program Files 中,结果发现 Defender 立即吞噬了它们。由于 Mimikatz 是我们理想情况下以管理员权限运行的东西,所以我们可以将其放在 Program Files 中以避免触发行为检测。

最后要说的是,如果几周甚至几天后这不再起作用,请不要感到惊讶。更多地使用本文作为混淆工具的起点,并研究更多方法来进一步混淆它们,例如,您可以尝试其他用于 C# 的混淆工具!

原文始发于微信公众号(Ots安全):混淆 Mimikatz 下载程序以逃避 Defender(2024)

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

发表评论

匿名网友 填写信息