freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何使用SkyScalpel在云环境中对JSON策略执行安全分析与处理
2024-12-09 09:36:47
所属地 广西

关于SkyScalpel

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

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

工具要求

PowerShell 7.1

.NET 6.0 (LTS)

工具安装

广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/Permiso-io-tools/SkyScalpel.git

然后切换到项目目录中,使用下列命令安装模块:

cd SkyScalpel

Import-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:【GitHub传送门

参考资料

https://permiso.io/

https://www.blackhat.com/sector/2024/briefings/schedule/index.html#skyscalpel-making--breaking-policy-obfuscation-in-the-cloud-41117

# 云安全 # 反混淆 # JSON # JSON解析 # 云环境
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录