用途:在授权安全测试、恶意样本分析、红队演练或检测能力建设中,对多层混淆的 PowerShell 恶意脚本进行系统化反混淆,还原隐藏命令并提取失陷指标(IOC)。
主要能力:识别并分类常见混淆技术,包括 Base64 EncodedCommand、FromBase64String、字符串拼接、字符码数组、Invoke-Expression 变体、反引号插入、环境变量滥用、SecureString、压缩(Deflate/GZip)、XOR 编码与 Replace 链;通过 AST 遍历求值表达式节点还原拼接与编码值;用 Write-Output 替换 IEX 逐层展开载荷;从最终脚本提取 URL、IP、文件路径、注册表键与可疑命令。资料称 PowerPeeler 基于指令级动态分析可达 95% 反混淆正确率。
使用方式:需 Python 3.9+(base64、re、subprocess)、PowerShell 5.1+ 或 7+、隔离 VM 或沙箱、CyberChef,并安装 PSDecode(Install-Module PSDecode)与 PowerDecode(https://github.com/Malandrone/PowerDecode)。流程为:先分析混淆层,再去除反引号、解析字符串拼接、解码 Base64,随后迭代替换 IEX 并执行,最后提取 IOC。
适用场景:恶意样本与攻击痕迹分析、红队与渗透测试、基于攻击技术理解构建检测规则。
限制:必须在授权且隔离环境中进行;动态执行存在风险,需沙箱与超时约束;自定义混淆可能需人工 AST 分析;资料未提供具体收费、平台支持范围或效果保证。