地址:zkanzz
本文主要演示如何修改 Sliver C2 中的 Mimikatz Beacon Object File(BOF),以规避 Windows Defender。
假设我们已经获取了 Beacon,并成功绕过了杀毒软件。
现在让我们尝试运行默认的 Mimikatz 命令。
这会被 Defender 检测到,并导致我们的 Beacon 被终止。

所以,我打算重新编译 Mimikatz 的 Sliver 扩展,并使用 s3cur3th1ssh1t 提供的以下混淆脚本:
此处省略10000行代码,可以直接访问链接:https://gist.githubusercontent.com/S3cur3Th1sSh1t/cb040a750f5984c41c8f979040ed112a/raw/b8d0d54c7595f88a4ffdaaba9070a3b07cc9164d/ObfuscateMimi_Seccond.sh 进行查看。
这个脚本最初是用来编译一个可以规避 Defender 的 .exe 文件的,然而,如今生成的 .exe 已无法绕过 Defender。不过,它仍然足够用于创建一个经过混淆的 .dll,该 .dll 将作为 BOF 在 Sliver C2 中加载。建议你进一步修改此脚本。
目前,我们只需对其进行修改,使其从 sliverarmory 仓库下载修改后的 Mimikatz,而不是从 gentilkiwi 下载。
https://github.com/sliverarmory/mimikatz
现在我们可以运行该脚本,它将生成一个名为 “windows” 的文件夹,其中包含用于编译的 Visual Studio 项目。
现在,我将把该文件夹移动到安装了 Visual Studio 的 Windows 虚拟机上。
现在我在 Visual Studio 中打开该项目,在编译之前,我会确保选择 sliverkatz
选项并设置目标架构。
现在进行编译,生成的文件应为 powerkatz.dll
。接下来,我会将该文件移动到安装了 Sliver 的 Kali 虚拟机中。
现在,我进入 sliver-client/extensions
目录,并复制 mimikatz
文件夹,使用一个新的名称。
现在,我将用我们编译的 powerkatz.dll
替换 powerkatz.x64.dll
。
现在,我只需稍微修改一下 extension.json
文件,重新命名命令名称。
现在,让我们启动 Sliver,并从启用了 Defender 的受害者 Windows 机器上获取一个 Beacon。
让我们使用 help
命令来确认我们修改过的 Mimikatz 是否已加载。
现在让我们运行命令并进行测试!
我们修改过的 Mimikatz 工作正常,Defender 没有检测到它,且我们的 Beacon 仍在运行!