You need to enable JavaScript to run this app. 求助:PowerShell编码gzip流指令解码报错及无文件恶意样本提取
优惠活动
大模型
产品
解决方案
定价
更多

求助:PowerShell编码gzip流指令解码报错及无文件恶意样本提取

编码PowerShell载荷离线安全解码操作指南

强制操作红线:所有解码步骤全程在隔离离线沙箱环境完成,严禁直接运行原始PowerShell载荷,避免触发无文件恶意软件的实际攻击行为

两类素材对应的标准化解码流程

1. 带-EncodedCommand参数的原始执行命令解码

  • 从原始命令行中完整提取-EncodedCommand参数后紧随的Base64字符串,剔除包裹字符串的引号、命令拼接的多余分隔符,保证编码内容完整无截断
  • 解码时必须匹配PowerShell的专属编码规则:该参数的内容是将原始脚本按UTF-16 小端Unicode格式编码后再做Base64转换,不能用常规UTF-8格式解码,否则会得到乱码
  • 解码操作仅做内容转换,不做执行:将Base64转成字节数组后,调用对应Unicode编码规则的解码方法还原文本即可

2. 带GzipStream解压逻辑的格式化脚本解码

这类脚本的固定执行逻辑是:定义存储gzip格式压缩字节的数组$s,通过GzipStream完成解压读取,最终将内容传给Invoke-Expression执行。解码时完全不需要运行脚本,离线提取内容即可:

  • 逐行提取变量s对应的所有字节值,按脚本里的声明顺序拼接成连续的字节数组,注意不要漏取分段声明的字节、不要打乱字节顺序
  • 基于提取到的字节数组初始化内存流,绑定Gzip解压读取模式,用UTF-8编码通过流读取器把解压后的内容完整输出,这部分就是脚本最终要执行的实际指令
  • 操作时在完成解压文本输出后立即停止流程,绝对不要走到Invoke-Expression的执行分支

常见解码报错排查方向

  • 提取Base64字符串时内容截断不全,会触发“无效Base64长度”类解码错误
  • 解码EncodedCommand时错用UTF-8编码格式,和PowerShell要求的UTF-16小端规则不匹配,会输出无意义乱码
  • 提取gzip字节数组时顺序错位、漏取分段字节,会触发Gzip解压的“无效校验和”类错误

内容的提问来源于stack exchange,提问作者Zsolt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.05 14:24:04