如何使用SkyScalpel在云环境中对JSON策略执行安全分析与处理

摘要:关于SkyScalpelSkyScalpel是一款功能强大开源框架,用于在云环境中解析、混淆、反混淆和检测 JSON 策略。它提供了灵活且高度可配置的机制来处理 JSON 级混淆、IAM 策略转换以及在云安全环境中检测规避混淆技术。

关于SkyScalpelSkyScalpel是一款功能强大开源框架,用于在云环境中解析、混淆、反混淆和检测 JSON 策略。它提供了灵活且高度可配置的机制来处理 JSON 级混淆、IAM 策略转换以及在云安全环境中检测规避混淆技术。

SkyScalpel 建立在自定义 C# JSON 标记器和语法树解析器的基础上,提供了关于混淆的云策略(例如 IAM 策略)如何逃避检测的独特见解,并帮助防御者精准地检测和消除这些混淆技术。该框架还集成了 PowerShell 包装器,通过管道功能和命令链增强可用性。

工具要求

PowerShell 7.1

.NET 6.0 (LTS)

工具安装git clone https://github.com/Permiso-io-tools/SkyScalpel.gitcd SkyScalpelImport-Module ./SkyScalpel.psd1工具使用

交互模式是一个互动性强,由菜单驱动的操作方式,由Invoke-SkyScalpel函数提供功能,并具备颜色高亮显示等特性。它旨在促进对所有可用函数的探索,并使用彩色突出显示来放大每个函数返回的重要细节:

菜单探索支持完整的正则表达式和基本通配符,可以随时输入HELP或TUTORIAL获取更多指导。

任何时候都可以从交互式菜单中查看、复制或完全导出每一层混淆或反混淆的完整细节。SkyScalpel 还在同一菜单中显示完整的 CLI 支持,因此可以使用交互式模式“创建混淆配方”,然后轻松导出为简单的一行命令:

解析器使用

使用ConvertTo-JsonObject函数是访问./CSharp/JsonParser.cs中各种解析方法的最简单方式,目前提供了三种解析级别,可以通过-Target输入参数来进行定义:

'{"Version":"2012-10-17","Statement":[{"Effect":"\u0041llow","A\u0063tion":["i\u0061m:P*ole","ec2:R??\u0049nstances"],"Resource":"\u002a"}]}' | ConvertTo-JsonObject -Target JsonToken | Select-Object Depth,Start,Length,Type,Content | Format-Table

也可以直接调用底层C#方法:

[SkyScalpel.JsonParser]::Tokenize('{"Version":"2012-10-17","Statement":[{"Effect":"\u0041llow","A\u0063tion":["i\u0061m:P*ole","ec2:R??\u0049nstances"],"Resource":"\u002a"}]}') | Select-Object Depth,Start,Length,Type,Content | Format-Table

'{"Version":"2012-10-17","Statement":[{"Effect":"\u0041llow","A\u0063tion":["i\u0061m:P*ole","ec2:R??\u0049nstances"],"Resource":"\u002a"}]}' | ConvertTo-JsonObject -Target JsonTokenEnriched | Select-Object Depth,Start,Length,Type,Content,ContentDecoded | Format-Table

也可以直接调用底层C#方法:

[SkyScalpel.JsonParser]::ToTokenEnriched('{"Version":"2012-10-17","Statement":[{"Effect":"\u0041llow","A\u0063tion":["i\u0061m:P*ole","ec2:R??\u0049nstances"],"Resource":"\u002a"}]}') | Select-Object Depth,Start,Length,Type,Content,ContentDecoded | Format-Table

AWS Action扩展

为了在存在通配符时简化 AWS Action名称的扩展,Get-AwsAction函数会解析输入的 AWS Action名称以及所有匹配的Action名称:

Get-AwsAction -Name iam:P*ole

Get-AwsAction -Name iam:Crea??\u002A

交互式混淆结果

许可证协议

本项目的开发与发布遵循Apache-2.0开源许可协议。

项目地址

SkyScalpel

在这里,拓宽网安边界
https://www.blackhat.com/sector/2024/briefings/schedule/index.html#skyscalpel-making--breaking-policy-obfuscation-in-the-cloud-41117

来源:FreeBuf

相关推荐