PowerShell免杀工具 xencrypt


title: PowerShell免杀工具 xencrypt
date: 2020-03-26 14:53:19
tags:

  • 免杀
  • 工具
  • PowerShell
    categories: 工具使用

toc: true

在微信号洛米唯熊看到发了一篇文章,关于免杀的,于是测试了一下。非常Nice。

PowerShell免杀工具 xencrypt

在微信号洛米唯熊看到发了一篇文章,关于免杀的,于是测试了一下。

效果

测试文件为sherklock.ps1。

特征

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

谷歌翻译而来。。。

原理:

加密

使用AES,但是我之所以选择它,并不是因为AES在加密方面比其他方法更好,而是因为PowerShell提供了一种非常简单的方法来调用.NET函数。

$aes.BlockSize = 128
$aes.Mode = [System.Security.Cryptography.CipherMode]::ECB
$aes.Padding = [System.Security.Cryptography.PaddingMode]::Zeros
$aes.KeySize = 128
$aes.Key = $key
$aes.IV = $payload[0..15]
$memstream = New-Object System.IO.MemoryStream(,$aes.CreateDecryptor().TransformFinalBlock($payload,16,$payload.Length-16))

我之所以选择这种方法,是因为防病毒软件检测恶意软件的主要方法之一是通过静态规则。他们挑选出文件中的字节序列或字符串,并制定合并的规则,很好地表明文件是一种特定类型的恶意软件。通过使用标准的API调用而不做任何自定义操作,针对此加密器的规则将不得不依靠标记普通的API调用,这可能会导致大量误报,并且分析人员似乎根据我的研究试图避免这种情况。在这里,如何选择算法尚无确定的“科学”,因此请按照自己的逻辑和想法行事,但是这种思路目前对我而言仍然有意义,因此这是我的选择。

在此基础上,如果您对非常具体的加密和解密算法进行硬编码,则很可能仅通过将特定的加密和解密例程标记为存根的“签名”,他们就能获得非常低的误报率。这是一种非常懒惰的方式,但是它可以工作并且对特定版本的恶意软件非常有效。克服此限制的一种方法是动态生成加密和解密算法,或者至少手动更改它,但这超出了本文的范围。

执行方式

就我而言,我想制作一个PowerShell密码器,可以无限期地对其自身进行分层,以进一步绕过动态AV(我对其进行了多达500层的测试),因此Invoke-Expression很自然,因为它既可以返回也可以执行字符串值。最终,您选择的内容无关紧要,仅改变您必须准备的有效载荷的方式。

。。。。

详情请参考原文链接,因为我不太懂:https://netsec.expert/2020/02/06/write-a-crypter-in-any-language.html

使用方式

  • 首先下载到本地:
git clone https://github.com/the-xentropy/xencrypt.git
  • 关闭电脑杀毒软件
  • 切换到文件夹中,导入模块使用即可。( -iterations N 指定压缩和加密次数)
Import-Module xencrupt.git

Invoke-Xencrypt -infile C:\Users\windows\Desktop\sherlock.ps1 -outfile sherk.ps1 -iterations 11

所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!

  Previous post shiro RememberMe反序列化
Next post   MySQL小结

评论已关闭

生活其实很简单,过了今天就是明天。

低头哭过别忘了抬头继续走。

不要被任何人打乱自的脚步,因为没有谁会像你一样清楚和在乎自己梦想。

没有人可以打倒我,除非我自己先趴下!

你要记住你不是为别人而活,你是为自己而活。