PMapper 使用教程
1. 项目介绍
PMapper(Principal Mapper)是一个用于快速评估AWS Identity and Access Management(IAM)配置风险的工具。它通过将AWS账户中的不同IAM用户和角色建模为一个有向图,帮助用户识别权限提升路径和攻击者可能采取的替代路径。PMapper还包含一个查询机制,使用本地模拟AWS的授权行为来确定主体是否有权访问某个操作或资源。
2. 项目快速启动
2.1 安装
2.1.1 通过Pip安装
pip install principalmapper
2.1.2 从源码安装
git clone git@github.com:nccgroup/PMapper.git
cd PMapper
pip install .
2.1.3 使用Docker安装
cd PMapper
docker build -t pmapper .
docker run -it pmapper
2.2 使用示例
2.2.1 创建账户图
pmapper --profile skywalker graph create
2.2.2 查询谁可以创建IAM用户
pmapper --profile skywalker query 'who can do iam:CreateUser'
2.2.3 查询谁可以启动大型EC2实例
pmapper --account 000000000000 argquery -s --action 'ec2:RunInstances' --condition 'ec2:InstanceType=c6gd.16xlarge'
2.2.4 运行权限提升查询
pmapper --account 000000000000 query -s 'preset privesc *'
2.2.5 生成可视化图
pmapper --account 000000000000 visualize --filetype svg
3. 应用案例和最佳实践
3.1 权限提升检测
PMapper可以帮助安全团队识别潜在的权限提升路径,通过运行权限提升查询,可以发现哪些用户或角色可能通过间接方式获得更高权限。
3.2 安全审计
在安全审计过程中,PMapper可以用于验证IAM策略的配置是否符合最佳实践,确保没有不必要的权限被授予。
3.3 自动化监控
通过将PMapper集成到CI/CD管道中,可以在每次部署或配置更改后自动运行权限检查,确保新配置不会引入安全风险。
4. 典型生态项目
4.1 AWS IAM Access Analyzer
AWS IAM Access Analyzer 是一个用于发现资源访问权限的工具,与PMapper结合使用,可以更全面地评估IAM配置的安全性。
4.2 CloudFormation Guard
CloudFormation Guard 是一个用于检查和验证AWS CloudFormation模板的工具,与PMapper结合使用,可以在模板部署前进行权限和安全检查。
4.3 AWS Config
AWS Config 是一个用于记录和评估AWS资源配置的工具,与PMapper结合使用,可以持续监控和评估IAM配置的变化。
通过以上模块的介绍和示例,用户可以快速上手PMapper,并了解其在实际应用中的价值和最佳实践。