科学技术/NEWS CENTER

反序列化漏洞到掌控帝国-百万美刀Instagram漏洞

发布时间:2017-12-29

  反串行化的主宰帝国的漏洞:百万美元切片Instagram的漏洞

  2012年,Blloberg在Facebook白帽奖励计划网站上发表了一篇文章,指出如果Facebook有百万美元的漏洞,我们愿意为所有事情付费。在本文开始之前,我想道歉这篇文章的标题,但Facebook提出的言辞是我撰写这篇文章的重要背景,经过一番努力和努力,我找到了一个100万美元的Instagram漏洞,可以用来获取Instagram的来源代码,照片和SSL证书。 0x01线索去年,我对Facebook的安全性和一些结果进行了一些小测试,所以我对彻底测试Facebook的整体业务安全性非常感兴趣。其实这个漏洞的发现也应该感谢我公司可以让我在非工作时间内找到其他公司的漏洞,否则就没有这篇文章。就像我之前的朋友之一,我提到他们正在测试Ins系统的安全性,这是Facebook漏洞奖励计划的重要组成部分。他们发现在Instagram上有一个漏洞Ruby服务器。我的朋友告诉我,这个漏洞已经提交给Facebook的漏洞响应团队。分类的漏洞是内部管理背景。在他向Facebook提交的报告中,有人提到在后台可能存在一个Ruby密码重置漏洞,黑客可以利用这个漏洞登录后台,但是他没有证实他的猜测。乍一看,我首先想起了CVE-2013-3221这个漏洞的细节,但是鉴于他提交了这个漏洞,我的朋友只是让我私下帮他看看他是否可以利用这个线索扩展漏洞影响Instagram的核心数据0x02 Ruby(Rails)远程命令执行根据朋友的漏洞报告的细节,我试图找到一个漏洞,可以重置这个Ruby应用程序的密码,但是,初始测试结果不理想,一般登录页面不接受0作为密码的值,我不知道用什么方法发送密码重置消息,我发现Instagram的背景可能是使用开源的Sensu管理系统,所以我谷歌关键字Sensu - 管理,但没有。看起来好像我的朋友的猜测是行不通的,但是我发现这个应用程序在Github上有源代码,在项目的目录中,我发现secret_token.rb泄露了Rails的私钥。我的第一反应是,Facebook程序员在设置自己的后端应用程序时不会愚蠢地改变他们的私钥,但我仍然想尝试,因为如果我尝试,我可以伪造cookies,然后登录后台。我之前也提到过CVE-2013-3221,本文作者指出,不仅可以伪造cookie,而且由于Ruby Rails的反序列化漏洞,攻击者甚至可以直接构造远程代码来执行攻击。在尝试反序列化测试Instagram的漏洞之前,我先在本地进行测试,结果令人惊讶。我成功地在本地重现漏洞。所以,我用的是相同的过程,只有在Github上发现,我发出以下cookie来Instagram的“S扇子 - 管理服务器管理背景:#!bash的_sensu-admin_session = BAhvOkBBY3RpdmVTdXBwb3J0OjpEZXByZWNhdGlvbjo6RGVwcmVjYXRlZEluc3RhbmNlVmFyaWFibGVQcm94eQc6DkBpbnN0YW5jZW86CEVSQgY6CUBzcmNJIkFldmFsKCdzeXN0ZW0oIndnZXQgaHR0cDovL2V4ZmlsdHJhdGVkLmNvbS90ZXN0LWluc3RhZ3JhbSIpJykGOgZFVDoMQG1ldGhvZDoLcmVzdWx0--92c614a28526d03a1a31576bf4bb4c6026ef5e1f通过精心构造的cookie,Instagram的服务器成功执行我发送的代码,并解密它:wget所以我建立一个侦听端口,然后上传一个远程shell文件,结果如下:在Instagram服务器成功执行我发送的命令代码后,我报告了Facebook团队我在我的报告中提到:Facebook使用的Sensu-Admin服务使用运行Rails 3.X的公共密钥sensu.instagram.com,它具有远程代码执行漏洞。弱密码实际上,对于我来说,发现远程代码执行并不是什么大事。但是,我想确认一下,我仍然在Facebook漏洞奖励计划的范围之内,所以我回到了Facebook的漏洞奖励计划的描述,其中提到,尽管Facebook积极反对可能渗透的业务在测试行为但是,如果测试人员明确表示他们能够访问更多的核心数据,他们对此非常感兴趣,那么我在这里看到,我认为我自己的渗透测试仍然是Facebook的许可证,正如我在上一章中提到的,虽然我设法得到我的服务器上的远程服务器代码,并得到服务器的外壳,我没有遇到后台的用户界面。巧合的是,Instagram的这个背景将管理用户数据存储在同一台服务器的Postgres DB中,在这种情况下,我成功地获得了大约60个帐户的用户名和密码,但是,密码是加密的,而且我得到一个坏蛋,如何解密数据,好消息即将到来。我在短时间内破解了12个短密码,这些密码包括changme,密码,instagram。我的上帝,红色果实的弱密码。于是,我成功登录了后台界面,截图纪念品:由于Facebook强烈反对在测试中业务渗透可能受损,所以我以截图离开,轻松将这个新的漏洞提交给Facebook紧急响应小组。 0x04渗透Intranet在我的第一个漏洞报告电子邮件中,我问Facebook团队是否能够获得侵入内部网的权限。由于此Sensu-Admin服务器在EC2上运行,因此您可以在etc / host /文件夹中看到1,400个大小的系统记录。这意味着我有很大的机会进入Instagram。但是,Facebook并没有给我一个明确的答案。而且,他们在短时间内做出了回应,限制了外部网络的进入。所以最终穿透内联网将继续收割,这永远是个谜。 0x05金钥匙事实上,渗透到这一步,我对前面的整个渗透过程非常满意。我发现了三个结论性的Instagram漏洞,其中两个被打包并提交给Facebook。当然,这个故事还没有结束。当我渗透到sensu.Instagram.com时,我在服务器下找到了一个文件:/etc/sensu/config.json这个配置文件包含了数据库和一些其他服务的认证证书。凭证包括一个电子邮件帐户和一堆Pagerduty密钥。当然,我把注意力集中在文件中列出的AWS密钥对上,我认为这是下一个突破点。 AWS密钥可以用作登录许多不同AWS服务的凭证,但是我主要关注的是这些密钥是否可用于登录到Amazon S3云存储服务,这意味着大量的敏感数据可以如果您可以登录,则可以检索到。在此配置文件中,我找到了82个不同的云存储区域。但是,直接访问这些云存储区域,服务器被阻止。我只能看到这些云存储区域的名称,但无法获取具体的内容。但是,也有一个例外,就是一个叫做autoscale-kitchen的区块。当我看到autoscale-kitchen这两个词时,我的第一反应就是这是一个开发服务器。我在服务器上找到了一个名为autoscale-kitchen-latest.tar.gz的服务安装配置文件以及之前的版本。首先,我发现配置文件中是否有泄露的敏感信息,结果令人失望。然后,我找了几个早期版本,幸运的是,我在旧版本中找到了一个名为“Vagrant”的配置文件,在配置文件中,我发现了Instagram的EC2密钥对,手动关闭,我成功连接到Instagram云“ s S3云存储服务使用我刚发现的密钥对,这次我可以得到有关每个块的具体信息!0x06控制帝国浏览Instagram存储授权数据在Amazon S3云存储服务后,我浏览第二天,我开始查看从云存储服务下载的数据,发现数据包含用户上传的图片,发送的文本等等,因为Facebook漏洞利用计划对违反用户敏感数据设置了限制,我停止了对用户数据的进一步渗透,但是我相当肯定,如果你继续得到这些数据肯定是世界上最好的,那么可以获得更加敏感的数据。我用AW S密钥对,从其他几个模块获得以下信息:Instagram.com上的统计数据,多个背景中的数据源,当然还有更令人印象深刻的数据,以及SSL证书和一些私人密钥。 。 Instagram.com和Instagram上的其他网络服务,可以毫不夸张地说,我现在有权力对Instagram的任何用户做任何事情。再次,我向Facebook提交了一个大小不同的七个不同安全问题的报告,其中包括:通过AWS认证,任何未经授权的用户都可以登录到敏感管理系统AWS存储块访问其他块证书用于升级攻击。敏感数据之间没有隔离,导致AWS密钥可以访问所有S3块。 AWS密钥可以通过外网IP登录,如果攻击者完全能够清除服务器日志,攻击者无法找到特定的攻击者。 0x07后记最后,我想用一张心智地图来总结一下我对帝国进程的渗透:其实整个事情就是这个原因,sensu.instagram.com远程执行代码,从这个漏洞出发,我发掘了弱密码后台工作人员。使用sensu.instagram.com服务器上的配置文件,我再次获得了AWS密钥对,并使用此密钥对,再次从S3云存储服务器读取EC2 AWS密钥对。使用这个密钥对,我读取了在S3云存储服务上存储的所有重要的敏感数据。在整个渗透测试过程中,暴露了Facebook安全架构中的一些缺陷,令我感到惊讶的是,在安全系统建造多年之后,出现了许多低级别的安全和合规性问题。 2012年,Blloberg在Facebook白帽奖励计划网站上发表了一篇文章,指出如果Facebook有百万美元的漏洞,我们愿意为其付费在本文开始之前,我想为文章的标题道歉,但是Facebook提出的言辞是我写这篇文章的一个重要背景,经过一番努力和努力,我找到了一个100万美元的Instagram漏洞,可以用来获取Instagram的源代码,照片和SSL证书。 0x01线索去年,我对Facebook的安全性和一些结果进行了一些小测试,所以我对彻底测试Facebook的整体业务安全性非常感兴趣。其实这个漏洞的发现也应该感谢我公司可以让我在非工作时间内找到其他公司的漏洞,否则就没有这篇文章。就像我之前的朋友之一,我提到他们正在测试Ins系统的安全性,这是Facebook漏洞奖励计划的重要组成部分。他们发现在Instagram上有一个漏洞Ruby服务器。我的朋友告诉我,这个漏洞已经提交给Facebook的漏洞响应团队。分类的漏洞是内部管理背景。在他向Facebook提交的报告中,有人提到在后台可能存在一个Ruby密码重置漏洞,黑客可以利用这个漏洞登录后台,但是他没有证实他的猜测。乍一看,我首先想起了CVE-2013-3221这个漏洞的细节,但是鉴于他提交了这个漏洞,我的朋友只是让我私下帮他看看他是否可以利用这个线索展开漏洞影响了Instagram的核心数据,根据我朋友的漏洞报告的细节,我试图找到一个漏洞,可以重置这个Ruby应用的密码,但是初始的测试结果并不令人满意,一般的登录页面不接受0作为密码的值,我不知道用什么方法发送密码重置信息,我发现Instagram的背景可能是使用开源的Sensu管理系统,所以我google了关键字Sensu-Admin,但没有。看起来好像我的朋友的猜测是行不通的,但是我发现这个应用程序在Github上有源代码,在项目的目录中,我发现secret_token.rb泄露了Rails的私钥。我的第一反应是,Facebook程序员在设置自己的后端应用程序时不会愚蠢地改变他们的私钥,但我仍然想尝试,因为如果我尝试,我可以伪造cookies,然后登录后台。我之前也提到过CVE-2013-3221,本文作者指出,不仅可以伪造cookie,而且由于Ruby Rails的反序列化漏洞,攻击者甚至可以直接构造远程代码来执行攻击。在尝试反序列化测试Instagram的漏洞之前,我先在本地进行了测试,结果令人惊讶。我成功地在本地重现漏洞。所以,我用的是相同的过程,只有在Github上发现,我发出以下cookie来Instagram的“S扇子 - 管理服务器管理背景:#!bash的_sensu-admin_session = BAhvOkBBY3RpdmVTdXBwb3J0OjpEZXByZWNhdGlvbjo6RGVwcmVjYXRlZEluc3RhbmNlVmFyaWFibGVQcm94eQc6DkBpbnN0YW5jZW86CEVSQgY6CUBzcmNJIkFldmFsKCdzeXN0ZW0oIndnZXQgaHR0cDovL2V4ZmlsdHJhdGVkLmNvbS90ZXN0LWluc3RhZ3JhbSIpJykGOgZFVDoMQG1ldGhvZDoLcmVzdWx0--92c614a28526d03a1a31576bf4bb4c6026ef5e1f通过精心构造的cookie,Instagram的服务器成功执行我发送的密码是这样解密的:wget 0x03致命弱密码0x04网络内渗透0x05金钥匙其实渗透到这一步,我对整个渗透过程非常满意我发现了三个最终的Instagram漏洞,其中两个被打包并提交到Facebook,当然,这个故事还没有结束,当我进入sensu.Instagram.com时,我在服务器上找到一个文件:/etc/sensu/config.json这个配置是f ile包含数据库和一些其他服务的身份验证凭证。凭证包括一个电子邮件帐户和一堆Pagerduty密钥。当然,我把注意力集中在文件中列出的AWS密钥对上,我认为这是下一个突破点。 AWS密钥可以用作登录许多不同AWS服务的凭证,但是我主要关注的是这些密钥是否可用于登录到Amazon S3云存储服务,这意味着大量的敏感数据可以如果您可以登录,则可以检索到。在此配置文件中,我找到了82个不同的云存储区域。但是,直接访问这些云存储区域,服务器被阻止。我只能看到这些云存储区域的名称,但无法获取具体的内容。但是,也有一个例外,就是一个叫做autoscale-kitchen的区块。当我看到autoscale-kitchen这两个词时,我的第一反应就是这是一个开发服务器。我在服务器上找到了一个名为autoscale-kitchen-latest.tar.gz的服务安装配置文件以及之前的版本。首先,我发现配置文件中是否有泄露的敏感信息,结果令人失望。然后,我找了几个早期版本,幸运的是,我在旧版本中找到了一个名为“Vagrant”的配置文件,在配置文件中,我发现了Instagram的EC2密钥对,手动关闭,我成功连接到Instagram云“ s S3云存储服务使用我刚发现的密钥对,这次我可以得到有关每个块的具体信息!0x06控制帝国浏览Instagram存储授权数据在Amazon S3云存储服务后,我浏览第二天,我开始查看从云存储服务下载的数据,发现数据包含用户上传的图片,发送的文本等等,因为Facebook漏洞利用计划对违反用户敏感数据设置了限制,我停止了对用户数据的进一步渗透,但是我相当肯定,如果你继续得到这些数据肯定是世界上最好的,那么可以获得更加敏感的数据。我用AW S密钥对,从其他几个模块获得以下信息:Instagram.com上的统计数据,多个背景中的数据源,当然还有更令人印象深刻的数据,以及SSL证书和一些私人密钥。 。 Instagram.com和Instagram上的其他网络服务,可以毫不夸张地说,我现在有权力对Instagram的任何用户做任何事情。再次,我向Facebook提交了一个大小不同的七个不同安全问题的报告,其中包括:通过AWS认证,任何未经授权的用户都可以登录到敏感管理系统。AWS存储区访问其他区块证书用于升级攻击。敏感数据之间没有隔离,导致AWS密钥可以访问所有S3块。 AWS密钥可以通过外网IP登录,如果攻击者完全能够清除服务器日志,攻击者无法找到特定的攻击者。 0x07后记其实整个事情就是sensu.instagram.com远程代码执行的原因,从这个漏洞出发,我也出土了后台员工弱密码。使用sensu.instagram.com服务器上的配置文件,我再次获得了AWS密钥对,然后使用此密钥对,再次从S3云存储服务器读取EC2 AWS密钥对。使用这个密钥对,我读取了在S3云存储服务上存储的所有重要的敏感数据。在整个渗透测试过程中,暴露了Facebook安全架构中的一些缺陷,令我感到惊讶的是,在安全系统建造多年之后,出现了许多低级别的安全和合规性问题。和防御,将继续更深入的方向。

ju111net九州APP

2017-12-29

更多内容,敬请关注:

ju111net九州APP官网:/

ju111net九州APP新浪官方微博:@ju111net九州APP

ju111net九州APP发布微信号: