制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

admin 2024年12月9日14:52:22评论12 views字数 1251阅读4分10秒阅读模式

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

大家好,今天我将展示如何修改 powershell shellcode 运行器以下载 shellcode 并运行它,同时逃避 Defender。

我将使用我以前用过的这个 shellcode 运行器。

https://github.com/dievus/PowerShellRunner/blob/main/runner.ps1

我正在使用 Windows VM,目前已禁用防御器。我将复制代码并将其放入 powershell ISE 上的新文件中。

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

我将添加一个 $url 变量,其中包含我们将从中下载 .bin 文件的 url,然后修改 $buf 变量以便它下载原始数据,并且开头的 [Byte[]] 确保数据将被读取为字节。

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

现在我们需要确保为要运行的任何 shellcode 分配足够的空间。我将把 $cucumbers 变量移到 $buf 变量下方。

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

$cucumbers 变量包含对 Windows Api 中 VirtualAlloc 函数的调用,我将编辑第二个参数,将大小定义为 $buf 变量的大小。

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

保存文件现在让我们测试它!

我将使用原始类型文件在 msfvenom 中创建一个反向 shell,并将其保存为 rev.bin。

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

我将设置我的 python http 服务器,从那里下载 rev.bin。

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

现在我要设置 netcat 监听器,从那里我将获取我的反向 shell。

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

现在让我们测试我们的 powershell 脚本。

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

我们得到了 shell!

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

但这还不能逃避 Defender 的追捕。

我将使用 AmsiTrigger 查看哪些代码行可能被检测为恶意代码。

https://github.com/RythmStick/AMSITrigger

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

尽管它显示了大部分代码,但其中的第一行可能是触发它的代码,它指向 GetAssemblies() 函数。
在 potatoes 函数中调用 GetAssemblies()

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

我打算将这部分代码放在一个单独的文件中,并使用 Invoke-Obfuscation 对其进行混淆。

https://github.com/danielbohannon/Invoke-Obfuscation

我们导入模块,然后运行 Invoke-Obfuscation

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

然后我们将脚本路径设置为要混淆的文件

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

现在让我们做 token/all/1 以便它应用所有混淆技术。

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

这样我们就得到了混淆的代码。

注意:由于它以随机的方式应用混淆,因此每次的输出都会不同,有时这可能会破坏代码,您需要再次对其进行混淆。

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

现在我们用混淆的代码替换 potatoes 函数的部分代码。

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

现在我们保存文件。让我们启用实时保护,将其移动到 Defender 中未排除的文件夹并运行 powershell 脚本。

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

而且,我们的反向 shell 完全逃避了 Defender,无需绕过 amsi!

制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

现在我们可以使用它来运行任何保存为 .bin 文件的 shellcode,同时避开防御者。同样,如果几天后被发现,也不要感到惊讶,只需尝试进一步改进即可。

原文始发于微信公众号(Ots安全):制作一个可以绕过 Defender 的 Powershell Shellcode 下载器(无需绕过 Amsi)

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

发表评论

匿名网友 填写信息