云安全漏洞揭秘:如何通过Office 365渗透企业内网
概述
传统远程攻击者对目标网络的攻击方法曾经相对固定。但随着组织迁移到“云”,攻击者的方法已经或即将发生巨大变化。本文将详细说明,如果您的组织将资产迁移到云,攻击者很可能会将其作为主要攻击焦点。他们很可能成功,而您可能甚至不知道攻击已经发生。
云计算入门
可扩展存储、员工间轻松协作以及通过消除数据中心需求节省成本,这些都是组织在“云”中看到的好处。从安全角度来看,云计算确实有一些额外的好处,但本文将讨论一些不足之处。一个非常常见的误解是,“云”是某种神秘飞行实体,可以保护您的数据、节省宝贵的硬盘空间并为您遮阳。
这是“云计算”的定义: 云计算:n. 使用托管在互联网上的远程服务器网络来存储、管理和处理数据的实践,而不是使用本地服务器或个人计算机。
这本质上意味着您之前可能在自己系统上的数据现在只是在别人的系统上,而您正在从他们那里租用空间。当您考虑将数据交给云提供商时,必须考虑许多因素。
- 云提供商在网络安全方面是否尽职尽责?许多人看到谷歌、微软和亚马逊等公司,立即认为因为这些服务如此流行和广泛,所以它们必须是安全的。如果这些组织之一发生违规,对许多人来说将是灾难性的。
- 数据物理上是否安全?您的数据物理上位于您选择的云提供商数据中心之一的某个硬盘上。他们正在做什么来保护对这些数据的物理访问?
- 本文不会讨论但许多人确实关心的一个问题是:云提供商本身在处理您的数据时是否道德?他们能否访问您想要的任何内容?如果是,您会知道吗?……如果政府实体向他们请求数据呢?
当然,云计算很方便。但为了便利而牺牲安全是一个致命的错误。
外部网络渗透测试预测
当涉及外部网络架构时,大多数组织认为攻击者只有两种可能的攻击向量来访问内部资源。大多数人认为攻击者必须要么在外部暴露的系统中找到可远程利用的漏洞,要么必须钓鱼组织员工。
当然,攻击者可能有许多其他方式访问组织的内部网络,但这些通常涉及某种物理访问。例如,许多组织提供无线网络,并且偶尔在将访客网络与企业网络分段方面做得很差。还存在恶意内部人员的风险,他们已经物理访问组织的内部资产。随着组织将越来越多的内部数据系统、资产和通信架构迁移到云,这为远程攻击者增加了新的攻击向量。
在我写的另外两篇博客文章中,我详细介绍了外部攻击者如何在不位于目标网络上的情况下获取域凭据。在第1部分中,我讨论了员工如何在个人账户和企业账户上重复使用相同密码,以及攻击者如何找到这些密码。在第2部分中,我讨论了密码喷洒Outlook Web Access门户。
这两种技术都可能导致攻击者获得域凭据,但想要破坏组织资产的攻击者仍然需要某种访问目标网络的方式。历史上,这意味着攻击者仍然需要找到某种VPN访问,或钓鱼内部员工。随着企业资产更多地迁移到云基础设施,攻击者很可能只需要有效凭据和Web浏览器即可访问敏感的企业数据。
案例研究:让我们去黑一个云
最近,我的同事Derek Banks(0xderuke)和我自己正在执行“黑盒外部网络评估”。这种评估的黑盒性质意味着我们没有范围信息。没有提供目标范围给我们,因此我们只能自己执行侦察并发现这家公司的外部资产在哪里。通过我们的侦察,我们发现了一些外部主机,但攻击面非常小。
通过暴力破解子域,我们发现了一个“autodiscover”子域。“autodiscover”子域通常用于协助设置电子邮件客户端,以便用户只需输入电子邮件地址和密码。这通常与Microsoft Exchange环境相关联。对于这个特定客户,当我们将Web浏览器导航到autodiscover子域时,我们被重定向到Microsoft Office 365登录门户。此时,我们联系了客户以确定Microsoft Office 365门户是否在测试范围内。他们确认是的。(注意:当对任何类型的第三方服务进行渗透测试时,组织与第三方沟通评估将发生非常重要。大多数第三方组织有一个渗透测试授权表,组织可以填写以授权渗透测试。请参阅下面的列表。)
在我们的侦察阶段,我们总是尝试找到有效的电子邮件地址以及用户名。对于这家特定公司,我们发现了相对较少的有效电子邮件地址,并且没有用户名。尽管如此,我们继续进行密码喷洒攻击。即使我们发现的电子邮件地址数量很少,我们仍然能够使用始终可靠的季节-年份组合(Spring2016)密码喷洒一个有效用户凭据。
这就是攻击云基础设施的魔力所在。我们从一个非常小的有效电子邮件地址列表开始,然后密码喷洒了一个。该组织没有使用双因素认证,因此此时我们访问了这个特定用户的Office 365账户,该账户可以访问Outlook邮件、Sharepoint、OneDrive等。在我们继续掠夺Office365服务之前,我们想看看是否能找到更多有效的电子邮件地址。因此,自然地我们开始探索Outlook。我们很快了解到的是,“地址簿”给了我们几乎所需的一切。它包括公司中每个员工的电子邮件地址、用户名、电话号码和全名。此时,我们现在有了公司中每个人的完整电子邮件地址列表。
Outlook地址簿
我们继续进行了更多的密码喷洒,这次有了完整的电子邮件列表。获得了更多凭据,我们现在作为公司中具有不同角色的多种不同类型的用户访问云基础设施。对于每个用户,我们可以在云中访问的文件和内容类型不同。但就像内部网络上的文件共享一样,必须配置权限,以便只有正确的用户能够访问受保护的资源。
任何时候组织使用像Sharepoint这样的协作/文档平台,通常都可以在那里找到数据宝库。我们发现了大量非常敏感的信息存储在这个组织的云中。当我们浏览Sharepoint站点并定位敏感公司信息时,更重要的是我们找到了访问组织实际内部基础设施的途径。
像几乎所有其他云服务一样,Sharepoint有一个非常有用的“搜索”功能。这对员工快速找到他们正在寻找的文档很有用,但如果组织在那里存储敏感文档,对攻击者也很有用。在我们的侦察阶段,我们没有发现任何类型的远程访问系统,如VPN服务器。这对我们来说非常有趣,因为我们假设这个相当大的组织有用户远程访问他们的网络。我们在他们的Sharepoint站点中搜索了“VPN”。果然,我们找到了一份文档,详细说明了要安装哪个VPN客户端、连接到何处,以及必须与有效用户凭据一起使用的“PIN”以验证到组织的网络。
当然,VPN上也没有启用双因素认证。我们作为我们密码喷洒的用户之一VPN进入网络。从那里,我们通过我们的典型方式将权限提升到域管理员。
结论
虽然这个故事最终以我们在黑盒外部网络评估期间访问组织的内部网络基础设施结束,但我们是通过黑客方式穿过组织的云基础设施来实现的。这个特定评估侧重于攻击Microsoft Office 365平台,但可以轻松地对类似的云基础设施(如谷歌或亚马逊的AWS)执行。
如果您是使用云服务托管组织数据、电子邮件等的组织,请实施双因素认证。如果在上述案例研究中启用了双因素认证,我们早就被阻止了。
请记住,如果您要对第三方服务执行渗透测试,请首先获得授权。我在下面制作了一些授权表单列表。
渗透测试授权表单
- Microsoft Azure – https://security-forms.azure.com/penetration-testing/terms
- Amazon AWS – https://aws.amazon.com/security/penetration-testing/
- Google Cloud Platform – https://cloud.google.com/security/
- 有趣的是,谷歌说您不必联系他们。