IAMActionHunter 使用指南
项目介绍
IAMActionHunter 是一个专为简化 AWS 身份与访问管理(IAM)中用户和角色权限策略收集与理解过程而设计的 IAM 政策语句解析器和查询工具。它允许安全团队和云管理员高效地收集整个 AWS 账户内所有用户的权限策略,并对这些策略进行查询,以了解特定权限的分布情况,比如识别具有特定 IAM 动作(如 iam:Put*
)的所有用户和角色,以及他们访问的资源。该工具对于日常的渗透测试和权限审计极其有用。
项目快速启动
要开始使用 IAMActionHunter,首先需要安装它。建议采用以下步骤:
安装
使用pip安装(推荐)
pip install iamactionhunter
或者,如果你更偏好使用最新源码并依赖于Poetry进行环境管理,可以按以下步骤操作:
- 克隆仓库
git clone https://github.com/RhinoSecurityLabs/IAMActionHunter.git
- 进入目录并安装依赖(可能需要指定Python版本)
cd IAMActionHunter poetry install
快速运行示例
收集并查询所有用户/角色的策略,可以使用如下命令,这里需要替换 <some-aws-profile>
为你的AWS配置文件名:
iamactionhunter --collect --profile <some-aws-profile>
进一步,如果你想查询特定权限,例如 iam:*
,并且将结果输出到CSV文件:
iamactionhunter --account <account_number> --query iam:* --csv report.csv
这里的 <account_number>
需要替换为实际的账户号码。
应用案例和最佳实践
案例一:查找潜在特权提升权限
在渗透测试中,通过执行查询来识别具有危险权限(如 iam:PassRole
, ec2:RunInstances
)的角色和用户:
iamactionhunter --account <your-account-id> --config dangerous_iam
最佳实践:定期审核
建议定期使用 IAMActionHunter 来审核IAM权限设置,尤其是当有新服务被启用或关键权限变动时。通过创建自定义的JSON配置文件,专注于特定的敏感权限或动作组合,确保没有未授权或过度的权限分配。
典型生态项目
除了 IAMActionHunter,Rhino Security Labs 的另一项目 pacu 包含了一个模块——iam__enum_action_query
,提供了类似但更为集成化的功能集。pacu作为一个全面的AWS攻击框架,它允许更复杂的脚本和自动化,是IAMActionHunter的一个扩展选择,适合那些寻求更广泛自动化安全评估工具的用户。
以上就是 IAMActionHunter 的简要指南,通过这个工具,你可以有效管理和分析AWS中的权限结构,无论是为了提高安全性还是进行渗透测试,都是一个强大且必要的工具。