Powershell免杀系列(二)
powershell的免杀⽅法有很多,对代码进⾏编码是最常⻅的⼀种,这⾥介绍⼀个专⻔⽤来对powershell进⾏编码免杀的框架Invoke-Obfuscation,这也是著名的APT32组织海莲花常⽤的⼀个⼯具。
该工具可以对powershell代码进行 ASCII/hex/octal/binary/SecureString进行加密混淆。
执行如下命令,导入模块
报错不用管,再导入一次。
支持的加密功能列表
-
TOKEN
支持部分混淆 -
STRING
整条命令混淆 -
COMPRESS
将命令转为单行并压缩, -
ENCODING
编码 -
LAUNCHER
选择执行方式。
将刚才cs生成的payload.ps1放在刚才的文件夹
混淆文件
执行命令进行混淆
生成文件:
使用
可以过360云查杀,但但是过不了,火绒
使用全编码encoding
可以免杀360云查杀
火绒不行
实测8种encoding方法,火绒都有标记,感觉是某些特定字段hash匹配的,所以打算分析一下原理,一方面分析工具原理方便魔改,另外一方面,为了免杀。
注:测试中encoding-4 在win10上上线比较慢,要耐心等待,有请求但是没有正常上线,win7可以 ,其他方法大家自己实测。
混淆powershell语句
生成powershell
下载并用powershell进入项目目录执行:Import-Module .\Invoke-Obfuscation.psd1;Invoke-Obfuscation
如果报错请先执行:Set-ExecutionPolicy Unrestricted
输入要混淆的PS:
结果输出文件
修改
对上面生成的马可以过360 defender,但是无法过火绒
所以分析一下生成的代码,开头有个$shellid
随便改成xxx,然后就可以过360云查杀,火绒也不杀了,原来火绒是识别的这个特征
那就,打印一下$shellid,看一下是什么
发现是i
和e
然后打印一下$shellid,powershell是不区分大小写的,发现是从字符串Microsoft.PowerShell
中取指定字符
反正就要指定字符,那可以通过如下方法进行替换
-
变量传递过去
-
通过函数嵌套子函数return结果传递过去
-
switch case
-
if if 嵌套
-
两个字符xor
-
某些函数回调
-
等等
方法很多上面的方法可以结合一起使用,很好绕过。
简单写几个
然后测试可以正常上线,环境全为联网状态
然后执行命令也没问题。
分析工具
搜索上面fuzz的特征值
发现工具是进行了一个匹配替换,可以将这些位置修改成上面的任意一种方法,这样特征可以去掉一些了,当然也可以生成后自己手动修改。
然后也可以进行自定义加密算法,对内容进行加密,然后IEX执行。
最后
工具链接:https://github.com/komomon/Invoke-Obfuscation-Bypass
文章的初衷不是为了大家知道如何去用,只会套用,因为没有永恒的免杀,而是想让大家知道其中的原理,这种语言免杀绕过的原理方法,这样大家可以将前辈的方法转化为自己的思路,我们掌握的思路将多种方法融合,就是一种新的方法。
最后说一下想法:
1 可以对这个工具进行魔改,去掉他的特征,那这个工具还可以用,当然生成后手动改也可以。
2 分析目录大家可以看出作者将每种方法都放到了一个单独的ps1文件,那么可以分析一下如何调用使用,可以将文件剥离提取出来,以后可以用在自己的免杀方式上。
大家一直说只是过静态动态上线,不能执行命令,而且即使你过了动静态查杀,无法通过调用powershell.exe去执行脚本上线,所以特意截了张图,在有火绒 360全家桶的联网环境下,通过webshell 用powershell 执行命令,上线也是可以的,方法有很多,有些方法很简单,星球的评论中有说,感兴趣的大家去星球看吧。
免责声明:
利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。
只供对已授权的目标使用测试,对未授权目标的测试作者不承担责任,均由使用本人自行承担。
__EOF__

本文链接:https://www.cnblogs.com/forforever/p/18075040.html
关于博主:喜欢读书、旅行、爬山。评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
2020-03-15 shodan 新手介绍
2020-03-15 解决"easy_install command not found"问题记录