渗透测试通常由安全研究人员进行,帮助组织在网络犯罪分子有机会之前帮助组织识别其安全性并修复它们。虽然研究人员没有恶意的意图,但他的一部分是思考,并像网络攻击,或试图违反企业网络时这样的网络犯罪分子。

因此,在本文中,我会审查亚马逊AWS.铲斗作为成功渗透测试的途径。我正在使用的案例研究来自我对企业进行的侦察参与。我将专注于如何使用AWS桶作为额外的大道来丰富我的结果,并在此阶段获得更有价值的数据。

注意:为了公司的安全,我不会使用真实的名字,域名或获得的文件。然而,尽管缺乏细节,概念将被清楚地阐明。

本文的目的是为专业人员针对组织进行笔测试提供一种替代或额外的方法。此外,我希望这也可以作为一个警告,提醒那些决定使用AWS托管私人数据的公司,并提醒他们保护可能泄露的数据桶。

什么是AWS桶?

亚马逊简单的存储服务(S3)提供个人或业务的能力存储和访问亚马逊云的内容。然而,这一概念并不是新的,因为企业使用AWS存储桶不仅可以存储和分享员工之间的文件,而且还要托管面向互联网的服务,我们已经看到了大量的私人数据被公开暴露。

我们发现的数据类型范围从服务器备份和后端Web脚本到公司文件和合同。S3中的文件组织成“存储桶”,该桶“被命名为静态URL可访问的逻辑容器。

如果任何用户都可以列出桶的内容,则桶通常被认为是公共的;如果桶的内容只能由某些S3用户列出或写入,则桶被认为是私有的。

检查桶是否公共或私人很容易。所有桶都有可预测和公开访问的URL。默认情况下,此URL将是以下任一:

s3.amazonaws.com/ [bucket_name] /
要么
[bucket_name] .s3.amazonaws.com /

笔测试工作流程:黑客阶段

让我们首先谈论渗透测试的第一阶段:侦察来。此阶段的目的是收集有关目标的许多信息,以便构建将在未来的黑客阶段(扫描,枚举和获取访问)中使用的有组织的数据列表。

https://www.vectra-corp.com/penetration-testing/

通常,笔测试人希望在此阶段获得的一些数据如下:

  • 员工姓名、电子邮件地址、电话号码(用于网络钓鱼)
  • 业务(域,IPS和其他服务在未来阶段枚举的系统)的详细信息
  • 包含用户名、密码、泄露数据或其他访问相关内容的文件
  • 规格纸,合同,供应商文件,基础设施轮廓,笔记
  • 客户数据(可信第三方的侧频妥协可以与目标本身一样有价值)

替代基础设施

上面的所有项目都是我们可以在挖掘AWS桶时找到的东西的例子。但首先,在我们进入发现的信息之前,让我们谈谈找到桶本身以及S3桶搜索可以在笔测试中播放的角色。

在任何侦察阶段的一个简单的第一步是通过暴力破解或任何其他方法枚举主要域,希望找到可能在公司内托管服务的子域。这是一个相当标准的过程,但企业并不总是将所有数据或资源在内部托管。通常会有一些非官方的ip托管在外部,充当主要业务的次要角色,或者托管开发人员资源甚至文件存储。

虽然公司的内部服务(如邮件、网站、防火墙、安全性和文档)可能托管在子域内,但出于多种原因,公司仍然有可能使用离线或单独的服务器。因此,扩展搜索是一个好主意,不仅仅使用谷歌技巧和关键字来寻找相关服务或域名。

外部资源示例

一旦与此相关的具体示例是一个PACS服务器数据从UCLA的医疗中心之一泄漏。现在,此服务器在技术上由UCLA Med中心运营时,这不是UCLA的官方服务,所以说话。

翻译:此服务器不是UCLA域的一部分。它恰好是由其中一个居住的MED中心员工独立举办,但以一种更模糊的方式,它仍然与公司有关。这是犯罪分子可用的侧面渠道机会的一个例子。

寻找漏水的桶

向前移动,Amazon S3桶是一个如此“无关”服务的主要示例,这些服务没有直接与商业'基础架构联系在一起。我介绍这一点的主要目的是为Google Hacks提供钢笔测试人员新的黑客大道。因为虽然谷歌搜索公司可以引导您的AWS桶,但直接搜索开放桶更有效。

有许多工具可用于发现宽开放式桶。我想突出的那个是Web应用程序Grayhat Warfare.。在我使用的所有工具中,它是最友好的,最容易访问的。

正如你可以看到的那样,它非常直观:

让我们来看看这个应用程序,看看笔测试人员如何使用它来发现组织拥有的桶。

有几种方法可以让笔测试人员在他们的公司中发现不安全的数据。一种方法是搜索您可能期望从目标组织中找到的文件名。例如,在了解企业生产的一些服务或产品后,您可能会搜索那些特定的产品名称,或者company_name. bak。

此外,在完成一些其他侦察之后,在搜索中合并用户名可以得到一些结果。总的来说,这是过程中需要创造性和跳出框框思考的一部分。

用AWS案例研究攻击

现在让我们深入到案例研究中,看看这些侦察方法的作用。在这个特定的案例中,目标是一家为音乐产业制作内容的娱乐公司。在谷歌搜索的过程中,我偶然发现他们开发的是一个Android应用。这些正是扩大对漏水桶的搜索所需要的发现。

使用应用程序的名称和搜索在Grayhat战争,我幸运地找到一个AWS桶,其中包含一个文件与应用程序的名称。重要的是要注意的是,斗名称和URL也是完全不同的,与公司的名称无关。

这种不相关的命名方案通常是设计好的。业务基础架构师通常根据主题来命名服务器,而不是创建一个显而易见的名称。你可能会看到行星、希腊众神、星球大战角色或最喜欢的乐队。这使得搜索服务对黑客来说有点模糊。

一旦在桶内找到了应用程序文件名,它只是手动浏览其余文件的问题,以验证桶是否属于目标组织。这种情况导致我找到更多信息来用于更深的Recon搜索。

在这个服务器上有一个令人惊讶的发现,实际上是一个带有应用程序源代码的zip文件。其中包含数据库ip、用户名和密码。这是使用传统侦察方法可能永远不会发现的东西,因为IP碰巧是一个离线的DreamHost帐户。它完全与公司的任何资源无关。

osint标准加上AWS Buckets =更多数据

我想从我的测试案例说明的要点是如何将AWS的黑客攻击,可以作为迭代指纹循环结合到笔测试工作流程中。使用Google Hacks,Shodan和社交网络是开源智能(Osint)的标准。我们使用这些传统方法尽可能多地收集数据,然后我们找到了尽可能多的东西,我们可以爆炸该数据针对桶搜索工具来检索更深入的信息。

从那时起,笔测试仪可以使用此新数据重新启动整个搜索过程。RECON通常可以递归,一个结果导致另一个,导致另一个。但是,将AWS桶搜索到笔测试工作流程可以提供可能无法使用其他方法获得的数据。

如果任何读者都有其他黑客或搜索工具,他们已经遇到或替代方法,请随时提及以下评论。