Powershell免杀从入门到实践
前言
在之前发布的一篇 渗透技巧之Powershell实战思路中,学习了powershell在对抗Anti-Virus的方便和强大。团队免杀系列又有了远控免杀从入门到实践(6)-代码篇-Powershell更是拓宽了自己的认知。这里继续学习powershell在对抗Anti-Virus的骚姿势。
绕过执行策略
powershell 可以通过绕过执行策略来执行恶意程序。
而从文件是否落地可以简单分为落地的bypass、不落地的bypass。
以落地为例
以不落地为例,如我们熟知的IEX
从免杀上来说,查杀比较严格的当然是不落地文件的这种方式。
我们可以将两种方式混用来实现简单的bypass
如:
如:
简单混淆
powershell混淆姿势有很多,如字符串转换、变量转换、编码、压缩等等。根据powershell语言的特性来混淆代码,从而绕过Anti-Virus。
处理powershell
利用cmd的混淆以不同的姿势调用powershell
如利用win10环境变量截取出powershell
处理IEX
为IEX设置别名
处理downloadstring
使用转义符
处理http
以变量的方式拆分http
以中文单引号分割
基于以上混淆基础,就可以实现多种bypass的姿势
如:
如:
如:
这里再分享一个小技巧:
在测试对抗某些杀毒软件时,发现对cmd下操作查杀比较严格,相对来说powershell环境下更容易bypass。
而实际中可能更多的默认为cmd。我们可以先用socket一句话反弹powershell环境,再执行后续操作。
客户端执行命令:
服务端nc监听即可:
以此来迂回得达到我们的目的。
分析CobaltStrike powershell command
这里使用CobaltStrike 4.1来生成payload
访问83端口的a文件,获取payload代码。
查看代码,可以看到先使用base64解码一段字符串,又通过解压缩,并将代码进行IEX执行。
修改IEX为echo,保存为aaaa.ps1文件,运行得到源码。
可以看出大概分为、两个函数,然后是一个base64解码的函数,且将byte数组进行了xor的异或操作。然后分配一些内存,将有效负载复制到分配的内存空间中。最后判断计算机架构并执行。
那么关键位置就应该是这串base编码的数据了。事实上,这段数据是bin文件编码得来的。
我们将该byte数组保存为new.bin文件。
而后修改为读取new.bin文件内容到内存后再上线。
即
其余代码未修改。
执行后可正常上线。
放入VT查杀一下11/59
这时候我们就得到了powershell版的一个加载器,继续尝试修改该加载器本身的一些特征。
对,两个函数重命名替换,对函数里面的一些变量进行重新定义
重命名为
修改IEX为I`EX
修改Invoke为Inv'+'oke
替换为
放入VT再次查杀2/58
powershell加载器
上面的脚本通过读取new.bin中的字节数组并在内存执行从而成功使cobalt strike上线。
那同样可以从远程文件读取shellcode,并加载到内存执行,来实现payload无落地。
加载器代码如下:
CobaltStrike生成payload.bin文件时,注意勾选x64。
将该payload.bin文件放置在远程服务器上,powershell执行bypass操作。
CobaltStrike正常上线。
metasploit 也是同样的道理。使用msfvenom生成raw文件,看看加载器是否通用。
生成raw木马
powershell直接利用加载器加载该bin文件。
metasploit 也可以正常上线。
powershell转exe
在修改了加载器之后,我们还可以通过powershell代码将其加载器转换为exe程序。
借助Win-PS2EXE项目,通过ps2exe.ps1脚本将加载器转为exe文件。更方便实战中使用。
查杀率5/70
测试可过360、火绒。
总结
利用cmd、powershell语法混淆实现了bypass;
简单分析CobaltStrike powershell payload 获得powershell版本的shellcode加载器;
利用Win-PS2EXE项目转换为exe更方便实际利用。
参考资料
https://evi1.cn/post/powershell-bypass-2/
https://rootrain.me/2020/02/29/%E5%86%85%E7%BD%91%E9%98%B2%E5%BE%A1%E8%A7%84%E9%81%BF(%E4%BA%8C)-%E5%91%BD%E4%BB%A4%E8%A1%8C%E6%B7%B7%E6%B7%86/#0x04-%E5%9E%83%E5%9C%BE%E5%88%86%E9%9A%94%E7%AC%A6
https://www.anquanke.com/post/id/86637