记一次子域名未经授权注册导致组织被接管漏洞

我决定随机选择一个目标,我知道只有提到的域和子域在范围内。所有其他子域都被视为超出范围。

他们还在政策中提到,*.target.com超出了范围,但 target.com 在范围内。

这是因为该公司实际上向其客户提供某种服务,允许他们定制子域,例如client1.target.com、client2.target.com。

我做的第一件事是查找子域,但不是使用我们的常规方法。

相反,我使用了子域枚举单词列表,其中包含应用程序、开发、开发、服务、应用程序开发等单词。

使用此方法提取了非常有限的子域,其中一个子域如services.target.com。

访问此子域时,它显示 DNS 错误,但我仍然不知道如何在子域枚举阶段检测到此错误。

接下来我尝试使用 google dork ie site:*.services.target.com,在那里我找到了来自public.services.target.com等域的一些结果。

您一定已经观察到该子域包含“services”一词,这可能表明该子域上还有更多服务正在运行。接下来,我提取了域“services.target.com”的子域。有趣的是,我发现了一个子域“ sserver.services.target.com ”。

该子域上存在哪些内容?

该页面包含一个正常的登录页面,通过观察 UI,我猜测它是用于通过直接访问 github 帐户来管理源代码和其他内容。

因此,也许这个登录门户是为员工设计的,并且只有员工才获得进一步访问的凭据。现在我只是想知道下一步该怎么做,搜索 JS 文件,使用 github dorks 进行凭据泄漏等,但没有什么有趣的事情发生,因为这个域没有在任何地方提到。

我观察到 URL 为“/sign-in?returnTo=%2F”。并尝试将“登录”更改为其他网址,例如“注册”、“开始”,并且简单地“注册”向我显示了一个注册页面,要求提供电子邮件、用户名和密码。

我仍然怀疑点击注册后,可能会像JIRA一样显示无法注册的错误。但猜猜怎么了?它允许我使用我的电子邮件进行注册,并且我成功登录了帐户。

现在,下一个任务是查看我们拥有哪些访问权限以及我们可以看到哪些敏感信息。

他们正在使用这个服务器门户来管理他们所有的 github 代码。即使是私人存储库。任何新用户都可以直接访问此门户上共享的所有代码。

如果直接通过github访问,通常是私有仓库

 

现在,当我尝试从门户访问相同的存储库时,它很容易访问,并且我能够看到所有凭据以及任何秘密文件。

包含一些秘密令牌的秘密文件

 

他们所有的私有存储库都是可访问的,他们所有的秘密 API 密钥和管理员帐户凭据都是可见的。

这是一次彻底的组织接管。由于他们向许多客户提供服务,因此也可以通过这些公开的凭据访问他们的所有客户数据。

我立即创建了一份报告,安全团队在 40 分钟内对该报告进行了分类和修复,使公众无法访问该门户网站。

他们还轮换了所有暴露的凭据。他们还奖励了我 2000 美元漏洞赏金。

 

提示:即使某些内容不在范围内,也请尝试一下。不要尝试激进的测试,但仍要寻找任何关键漏洞。

如果您感觉有任何可疑的子域正在运行,甚至可以查找子域的子域。

查找任何可能包含“Service”、“internal”等词语的端点,并查找任何可用的开放服务。