前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Powershell编码与混淆

Powershell编码与混淆

作者头像
FB客服
发布2018-02-26 16:35:24
1.5K0
发布2018-02-26 16:35:24
举报
文章被收录于专栏:FreeBufFreeBuf

在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脚本的灵活性。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档