Invoke-Obfuscation混淆ps文件
在powershell中最常使用的编码就是base64编码了,今天主要说一下Invoke-Obfuscation 这个powershell混淆编码框架,这也是著名的组织APT32 (海莲花)经常使用的一个工具。
地址:https://github.com/danielbohannon/Invoke-Obfuscation
下载后,在当前目录的ps命令行中输入 Import-Module.\Invoke-Obfuscation.psd1; Invoke-Obfuscation 装载框架
输入set scriptblock 'echo xss ' 这里输入要编码的powershell命令
然后输入ENCODING 就会列出以下几种编码方式
输入1选择ascii编码
在Result中看到了编码后的命令,可以直接在powershell里面执行
然后我们输入back返回到上一层
输入launcher 选择命令的启动方式,可以尝试多种不同的方法结合。
输入ps 然后选择67 (67代表隐藏执行与绕过执行限制) 就会生成完整的混淆与编码后的命令
输入show options 打开设置选项
我们也可以直接在ps的命令行中直接进行编码
Invoke-Obfuscation -ScriptBlock {echo xss} -Command 'Encoding\1,Launcher\PS\67' -Quiet
进行多次编码
在进行第一次编码后然后输入要编码的类型进行二次编码
选项中可以看到使用了2次编码命令
undo取消最近一次的编码命令/reset取消所有的编码命令
在系统日志中(%systemroot%\System32\winevt\powershell.evtx),通过混淆与编码后的powershell命令更加增加了溯源的难度
总结:
在windows环境下,使用powershell的攻击者将会越来越多,通过对powershell 编码与混淆,可以有效的绕过一些杀软检测并且更加具备隐藏的目的。同时也让我们认识到了powershell脚本的灵活性。
* 本文作者:al0ne_,转载请注明来自FreeBuf(FreeBuf.COM)https://www.freebuf.com/sectool/136328.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架