powershell -enc参数无法解码base64编码payload的解决方案

Posted 隐念笎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell -enc参数无法解码base64编码payload的解决方案相关的知识,希望对你有一定的参考价值。

powershell的-enc参数允许传入一个base64编码过的powershell脚本字符串作为参数来执行该powershell脚本,该方法常被用于绕过杀毒软件的主动防御机制。

今天下午在做一个后门程序时,通过在线base64编码网站编码的字符串竟然没法被powershell的-enc参数解析,解析时全是乱码,通过查找资料终于解决了这个问题

故将这个问题记录下来以备后续使用

方法引用自:http://www.pstips.net/question/5827.html

可以使用如下脚本,对所需powershell脚本进行编码,所得字符串可以被powershell的-enc参数解析

$fileContent = “所要编码的脚本”
$bytes = [System.Text.Encoding]::Unicode.GetBytes($fileContent)
$encodedCommand = [Convert]::ToBase64String($bytes)
echo $encodedCommand

编码后的脚本可以通过如下命令解析执行

powershell -enc $encodedCommand

 

以上是关于powershell -enc参数无法解码base64编码payload的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

powershell [提示输入powershell] #powershell #input #prompt

powershell 测量PowerShell命令或PowerShell脚本的速度

powershell远程下载exe并执行

powershell 使用啥端口

powershell PowerShell使用PowerShell创建本地管理员帐户

powershell PowerShell:备份Active Directory#PowerShell#ActiveDirectory