大家好,这篇文章我将讲述如何绕过一系列阻碍最终获得印度最大股票经纪公司的AWS(即Amazon Web Services,是亚马逊公司的云计算IaaS和PaaS平台服务)的访问凭证。简单来说,我需要先绕过WAF,然后再破解Web的缓存机制,最后获得AWS账户凭据。

请注意,我的一系列操作都是在相关公司的许可下完成的

在渗透测试的第一阶段,我发现一些网站的端点存在文件交互,所以我测试了一下LFI(本地文件包含)漏洞,结果发现CloudFlare防火墙挡在我的前面。

要绕过CloudFlare的WAF,最简单的方法之一就是找到真实IP,绕过WAF直接访问,希望他们的服务器没有设置访问IP的白名单。

为了找到服务器的真实IP,我直接使用了命令dig [www.readacted.com](http://www.readacted.com),结果很幸运直接得到了结果。

然后只需在电脑的hosts文件中配置一下网站和IP的对应关系,即可绕过WAF。接着我尝试使用LFI读取/etc/passwd,得到的响应如下:

OK,这是一个很明显的本地文件读取漏洞。而当我搜索这个真实IP的whois信息时,发现它属于AWS。于是,我的下一个目标是通过利用SSRF漏洞读取AWS的帐户凭据,因为我在这个LFI漏洞点看到过URL作为参数输入的情况。我调用了API尝试读取AWS实例的元数据(http://169.254.169.254/latest/meta-data/)。

HTTP/1.1 200 OK
Server: nginx
Date: Fri, 06 Apr 2019 14:32:48 GMT
Content-Type: text/css;charset=UTF-8
Connection: close
Vary: Accept-Encoding
Strict-Transport-Security: max-age=15552000
X-frame-Options: DENY
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Proxy-Cache: HIT
Content-Length: 0

但是,响应码虽然是200——这意味着确实有交互——但没有返回任何数据。为什么会这样?如果你看一下上面的响应头,你会发现服务器是Nginx,而响应头有一个X-Proxy-Cache,它代表Nginx缓存层的设置,其值为“HIT”,意味着当客户端试图访问AWS元数据的相关API时,服务器会首先在Nginx缓存层中寻找响应,而这个响应为空。

现在,为了从服务器获得真实的响应,我不得不绕过缓存层,首先我需要了解nginx缓存系统中URL缓存规则。

一些参考文献 -
https://www.digitalocean.com/community/tutorials/how-to-implement-browser-caching-with-nginx-s-header-module-on-centos-7
https://www.howtoforge.com/make-browsers-cache-static-files-on-nginx

在经过一段时间的学习后,我所了解到的是,缓存一般来说是基于URL路由路径的,如果URL是[https://somewebsite.com/a.html](https://somewebsite.com/a.html)那么它很可能与缓存中的URL路由路径相匹配,那么它就会被导向缓存,但如果网址是[https://somewebsite.com/a.html?](https://somewebsite.com/a.html?)那么URL路由路径将不会与缓存中的URL路由路径相匹配,因此它将直接从服务器获得响应。简单来说,我只需要在原来的请求后面加上一个问号或其他特殊符号[http://169.254.169.254/latest/meta-data?](http://169.254.169.254/latest/meta-data?),即可不匹配缓存中的URL路由路径,就会直接访问服务器,得到即时回应。以下是我得到的响应:

HTTP/1.1 200 OK
Server: nginx
Date: Fri, 06 Apr 2019 14:32:48 GMT
Content-Type: text/css;charset=UTF-8
Connection: close
Vary: Accept-Encoding
Strict-Transport-Security: max-age=15552000
X-frame-Options: DENY
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Proxy-Cache: MISS
Content-Length: 315ami-id
ami-launch-index
ami-manifest-path
block-device-mapping/
events/
hostname
identity-credentials/
instance-action
instance-id
instance-type
local-hostname
local-ipv4
mac
metrics/
network/
placement/
product-codes
profile
public-hostname
public-ipv4
public-keys/
reservation-id
security-groups
services/

此时你可以看到响应头X-Proxy-Cache被设置为MISS,这意味着现在API调用绕过了缓存层,直接从服务器获取响应。

此时,我能够成功绕过缓存来利用SSRF。为了获得AWS帐户凭证,我调用了如下API读取AWS实例的元数据中的安全性凭证(AWS instance me tadata security credentials),使用的URL为:[http://169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance?](http://169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance?)

正如我所预料的,访问成功:

我获得了AWS访问ID,秘密访问密钥和令牌,我可以进入网站的AWS账户,获取敏感信息,进行下一步渗透。总结一下,我首先绕过了Cloudflare防火墙,找到了LFI漏洞,然后绕过Web缓存机制将其升级到SSRF漏洞,最后利用SSRF漏洞获得了AWS帐户凭据。

时间线

2019年4月6日 - 漏洞报告给有关公司。

2019年4月7日 - 漏洞已被修复。

2019年4月7日 - 重新测试并确认修复。

2019年4月9日 - 发放奖励。

谢谢你的阅读!

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场:https://nosec.org/home/detail/2521.html
来源:https://www.nccgroup.trust/us/our-research/private-key-extraction-qualcomm-keystore/

如何获得印度最大股票经纪公司的AWS凭证?相关推荐

  1. 印度软件和中国软件工程师_印度的软件公司类型

    印度软件和中国软件工程师 The demand of software is all time increasing that has been quite instrumental in a vas ...

  2. 印度最大IT公司与IIT联手研究5G和AI 他们有什么优势

    最大的IT公司与神一般的学院合作,会擦出什么样的火光? 印度最大IT公司Wipro与印度理工学院合作,联合研究5G和AI.这就如同阿里巴巴与清华大学战略合作探索"下一代人机自然交互" ...

  3. 首家印度独资软件公司落户南京

    首家印度独资软件公司落户南京 http://www.sina.com.cn 2004年09月07日10:42 南京报业网 [南京日报报道](记者 解悦 通讯员 徐宁虹)首家印度独资软件公司蒙纳什系统工 ...

  4. 重大利好!印度国家支付公司批准WhatsApp在UPI上建立支付服务!

    早在2018年的年初,WhatsApp就开始在印度对100万用户测试其支付服务,但是受限于各方面掣肘,WhatsApp在印度的支付业务一直未能扩展开来. 母公司Facebook也一直致力于想让What ...

  5. aws php服务器,使用 AWS 凭证文件和凭证配置文件 - 适用于 PHP 的 AWS 开发工具包...

    本文属于机器翻译版本.若本译文内容与英语原文存在差异,则一律以英文原文为准. 使用 AWS 凭证文件和凭证配置文件 凭证文件是一个纯文本文件,其中包含您的访问密钥.该文件必须: 位于运行应用程序的同一 ...

  6. 印度电商公司网上卖“现金”,是真的现金

    腾讯科技讯 据外媒报道,印度的在线零售商Snapdeal推出了一项新的营销策略,以此来巧妙地应对印度民众陷入现金困境的问题. 印度的在线零售商Snapdeal在其平台上推出了其国内最受欢迎的商品--现 ...

  7. aws ec2时间_AWS中自动化的三大领域,以避免支付过多的云账单

    AWS是全球最常用的云服务之一. Gartner Magic Quadrant将AWS评为最大的IaaS提供商.每个可能的域都由企业使用AWS服务. 全球约有 1,000,000家公司正在使用AWS作 ...

  8. [世界概览]那些被印度人毁掉或者差一点毁掉的公司(翻译)

    印度人办事拖沓和效率低下是出了名,看了下面这篇文章理解了.. 这是一个在美国的网站上经常看到的评论,被广泛转载,我也不知道哪个是原创,所以就不列出处了. []内的不是原文,是我的补充. ======= ...

  9. 对话:与印度第一大IT教育培训公司CEO谈软件

    对话:与印度第一大IT教育培训公司CEO谈软件 印度软件业的蓬勃兴起,是这几年来最为中国软件人津津乐道的话题.人们既兴奋,又多少有些紧张地注视着印度.印度软件业的崛起,已经是一个既成事实.中国软件业, ...

最新文章

  1. php广告插入代码,[教程]如何在phpcms中添加html代码广告
  2. [leetcode] Construct Binary Tree from Preorder and Inorder Traversal
  3. tac rev cat命令使用范例
  4. 我说分布式事务之TCC
  5. Oracle错误 1053: 该服务没有响应启动或控制请求
  6. 深度学习训练中噪声减小吗_【机器学习 155】DoubleEnsemble
  7. matlab神经网络3:模式分类
  8. VTK:非结构化网格之ClipUnstructuredGridWithPlane
  9. 20175212童皓桢 Java实验二-面向对象程序设计实验报告
  10. Unity3d通用工具类之生成文件的MD5
  11. Bash、Terminal通过tab忽略大小写自动补全命令行提示
  12. java8 nullpoint_仅当在Java8中使用lambda时不为null时才过滤值
  13. 从键盘输入3个整数,输出其中最大数
  14. mybatis 链接DB2查询报错,必需的字符转换器不可用。 ERRORCODE=-4220, SQLSTATE=null
  15. 雷达干扰技术(四)雷达信号处理
  16. 全网无损音乐、超清视频免费下!
  17. 创业者的噩梦 - 该我的钱怎么拿不到?
  18. 啊哈,381654729!
  19. Python爬虫 抓取大数据岗位招聘信息(51job为例)
  20. pdf.js在线查看(文档流/地址)

热门文章

  1. mysql数据库学生成绩管理系统
  2. Java设计模式之状态模式
  3. 19春学期《计算机基础》在线作业,19春学期(1709、1803、1809、1903)《计算机应用基础》在线作业(4) 参考资料...
  4. python诞生的时间地点人物事件_教程|计算任意视频中各人物的出镜时间(附Python实现)...
  5. 【秒懂音视频开发】02_重识声音
  6. 计算机一级网络知识,2014计算机一级MSOffice试题及答案 一(网络知识)
  7. Linux网络管理(十六)
  8. 在学校表中分别显示各个学校的教师和学生人数,查询总数
  9. DJango展示添加
  10. 为什么这个叫Peach的社交软件在一夜之间火了起来?