freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

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

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解析 # 云环境
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录