freeBuf
主站

分类

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

特色

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

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

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

FreeBuf+小程序

FreeBuf+小程序

如何使用Red-Shadow扫描AWS IAM中的安全漏洞
2021-08-21 12:10:59

关于Red-Shadow

Red-Shadow是一款功能强大的AWS IAM漏洞扫描工具,该工具可以帮助你扫描AWS IAM中的错误配置与安全漏洞。

该工具支持检测下列IAM对象中的错误配置:

管理策略(Managed Policies)

用户内联策略(Users Inline Policies)

组内联策略(Groups Inline Policies)

角色内联策略(Groups Inline Policies)

运行机制

针对应用于组的决绝策略,AWS IAM评估逻辑的工作方式与大多数安全工程师用于其他授权机制的工作方式不同。假设具有组资源的策略为显式拒绝,在这种情况下,这只会影响组操作,而不会影响用户操作。

下面给出的是存在漏洞的JSON策略样例:

{

    "Version": "2012-10-17",

    "Statement": [

        {

            "Sid": "ProtectManagersByDeny",

            "Effect": "Deny",

            "Action": "*",

            "Resource": "arn:aws:iam::123456789999:group/managers"

        }

    ]

}

在上面这个例子中,这个策略将会拒绝用户、组或策略绑定的任何角色执行任意IAM活动。但实际上,类似iam:ChangePassword这种简单的IAM操作是可以正常执行的,因此上述的拒绝策略将失效。

安全检测

AWS IAM在用户对象操作和组对象操作之间有明确的区分。

以下列表包括工具正在扫描的影响组的拒绝策略上的用户对象操作(除通配符外):

AWS_USER_ACTIONS = ["iam:CreateUser",

                     "iam:GetUser",

                     "iam:UpdateUser",

                     "iam:DeleteUser",

                     "iam:GetUserPolicy",

                     "iam:PutUserPolicy",

                     "iam:DeleteUserPolicy",

                     "iam:ListUserPolicies",

                     "iam:AttachUserPolicy",

                     "iam:DetachUserPolicy",

                     "iam:ListAttachedUserPolicies",

                     "iam:SimulatePrincipalPolicy",

                     "iam:GetContextKeysForPrincipalPolicy",

                     "iam:TagUser",

                     "iam:UpdateSSHPublicKey",

                     "iam:UntagUser",

                     "iam:GetSSHPublicKey",

                     "iam:ListUserTags",

                     "iam:DeleteSSHPublicKey",

                     "iam:GetLoginProfile",

                     "iam:GetAccessKeyLastUsed",

                     "iam:UpdateLoginProfile",

                     "iam:UploadSigningCertificate",

                     "iam:DeleteLoginProfile",

                     "iam:ListSigningCertificates",

                     "iam:CreateLoginProfile",

                     "iam:UpdateSigningCertificate",

                     "iam:EnableMFADevice",

                     "iam:DeleteSigningCertificate",

                     "iam:ResyncMFADevice",

                     "iam:ListServiceSpecificCredentials",

                     "iam:ListMFADevices",

                     "iam:ResetServiceSpecificCredential",

                     "iam:DeactivateMFADevice",

                     "iam:CreateServiceSpecificCredential",

                     "iam:ChangePassword",

                     "iam:UpdateServiceSpecificCredential",

                     "iam:CreateAccessKey",

                     "iam:DeleteServiceSpecificCredential",

                     "iam:ListAccessKeys",

                     "iam:PutUserPermissionsBoundary",

                     "iam:UpdateAccessKey",

                     "iam:DeleteUserPermissionsBoundary",

                     "iam:DeleteAccessKey",

                     "iam:ListGroupsForUser",

                     "iam:ListSSHPublicKeys",

                     "iam:UploadSSHPublicKey"]

工具要求

Red-Shadow基于Python 3和Boto3开发,并且需要以下依赖组件:

操作系统环境变量中需配置IAM用户访问密钥。

IAM用户需有足够的权限运行扫描工具。

Python3和pip3。

工具安装

sudo git clone https://github.com/lightspin-tech/red-shadow.git

cd red-shadow

pip3 install -r requirements.txt

工具使用

python3 red-shadow.py

分析结果

++ Starting Red-Shadow ++

 

++ AWS IAM Vulnerability Scanner

++ Red Shadow scans for shadow admins in AWS IAM based on misconfigured deny policies not affecting users in groups

 

Step 1: Searching for IAM Group misconfigurations in managed policies

Found potential misconfiguration at arn:aws:iam::123456789999:policy/ProtectManagers

Progress: |██████████████████████████████████████████████████| 100.0% Complete

Step 2: Searching for IAM Group misconfigurations in Users inline policies

Progress: |██████████████████████████████████████████████████| 100.0% Complete

Step 3: Searching for IAM Group misconfigurations in Groups inline policies

Progress: |██████████████████████████████████████████████████| 100.0% Complete

Step 4: Searching for IAM Group misconfigurations in Roles inline policies

Progress: |██████████████████████████████████████████████████| 100.0% Complete

Done

上述终端输出中,我们可以看到ProtectManagers拒绝策略已失效,并且可能受到提权攻击等威胁。

许可证协议

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

项目地址

Red-Shadow:GitHub传送门

参考资料

本文作者:, 转载请注明来自FreeBuf.COM

# 安全扫描 # 错误配置 # AWS IAM
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
评论 按热度排序

登录/注册后在FreeBuf发布内容哦

相关推荐
\
  • 0 文章数
  • 0 评论数
  • 0 关注者
文章目录
登录 / 注册后在FreeBuf发布内容哦
收入专辑