免杀对抗—Powershell混淆&分离免杀&特征修改&填充替换

前言

之前我们生成的shellcode都是C的格式的,今天说一下对Powershell格式的shellcode进行免杀。Powershell过火绒和360可能还行,但是想要过WD是比较难的,因为WD是微软研发的,Powershell也是微软开发的语言,自家的东西自家最清楚嘛。

实验环境

360、火绒、WD、VT。

Powershell上线CS

CS生成Powershell有两种模式,一种是命令模式,一种是文件模式。

命令模式生成的打开是一串命令。

复制到powershell执行即可上线

而文件模式生成的是一个可执行的文件,里面代码啥的都封装好的了。

直接执行PS文件即可上线。

原生态的无论是哪个杀软,肯定都会被杀掉的,所以就不测试了。

Powershell混淆

手工混淆

因为Powershell这个语言太小众的,我也没系统学过这个玩意,只能大致看懂一点。网上公开的加密的脚本也比较少,所以可能选择不是很多。我们利用Windows自带的PowerShell ISE对它进行编辑。

我们来测试一下杀软究竟是对那一部分代码进行检测,当我们删除了$DoIt 变量里面的代码之后再去检测,发现是没有检测到风险的,那就说明是$Dolt变量里面的代码的问题。

$DoIt = @'

......   //删除变量里面的代码

'@

如此一来我们的目标就很明确了,就是对$Dolt变量里面的代码做文章即可,我们直接对其进行base64编码。然后再替换回去,变成如下。

再在执行的前,对$DoIt这个变量进行解码即可,解码语句网上搜一下就行,我也不会写。

$bb=[System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($x))

保存去测试一下,火绒没过。

WD没过。

360也没过

VT报17个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值