PowerShell脚本免杀/bypass/绕过杀毒软件

Xencrypt

Xencrypt是一个PowerShell加密程序,以达到某些场景下免杀/bypass/绕过杀毒软件的效果。厌倦了浪费大量时间混淆诸如invoke-mimikatz之类的PowerShell脚本,以至于无论如何都无法检测到它们?如果您可以采用任何脚本并自动且几乎不费力地生成几乎无限数量的变体来击败基于签名的防病毒检测机制,那岂不是很棒吗?

Xencrypt使用AES加密和Gzip / DEFLATE压缩,每次调用都会生成一个完全唯一但功能等效的输出脚本(给定任何输入脚本)。它通过压缩和加密输入脚本并将此数据作为payload存储在新脚本中来实现,该脚本将在运行payload之前对其进行解密和解压缩。本质上,PowerShell是PE加密器。

PowerShell脚本免杀/bypass/绕过杀毒软件
PowerShell脚本免杀/bypass/绕过杀毒软件

功能特征

Xencrypt:

  • 绕过VirusTotal上使用的AMSI和所有现代AV(截至撰写时)
  • 压缩和加密Powershell脚本
  • 开销极小,而且通常为负(由于压缩)
  • 随机变量名称,以进一步模糊解密程序存根
  • 随机加密,压缩甚至语句在代码中出现的顺序,以最大程度地提高熵!
  • 超级容易修改以创建自己的加密程序变体
  • 支持递归分层(加密器对加密的输出进行加密),最多测试500层。
  • 只要输入脚本也支持Import-Module以及标准运行
  • GPLv3-免费和开源!
  • 便携,所有功能都在一个文件中。

下载安装与使用

下载地址:https://github.com/the-xentropy/xencrypt(xencrypt.ps1)

使用

Import-Module ./xencrypt.ps1
Invoke-Xencrypt -InFile invoke-mimikatz.ps1 -OutFile xenmimi.ps1

将生成一个加密的xenmimi.ps1文件。您可以使用与原始脚本相同的方式来使用它:

Import-Module ./xenmimi.ps1
Invoke-Mimikatz

它还通过-Iterations标志支持递归分层。

Invoke-Xencrypt -InFile invoke-mimikatz.ps1 -OutFile xenmimi.ps1 -Iterations 100

这将对其进行压缩和加密100次,这对于动态AV绕过非常有用,因为它们有一个分析代码的超时时间。这里没有像sleeps这样的假象,动态扫描可以跳到最后——它必须通过整个链才能到达payload,而payload通常不会这样做,因为它们通常在一两秒钟或扫描后超时。