官网:http://securitytech.cc/
我是如何订阅并接收公司 QA 的通知警报,并找到了他们的内部邮箱地址的

我被邀请参加一个私人项目,这里我们称它为 target.com,因为我不能公开该私人项目的信息。事不宜迟,让我们开始吧 :)
这家公司提供基于混合云的批量通知系统,通过本地和移动设备触达用户。公司的服务是多租户的,每个租户被称为“提供者(provider)”。在每个提供者下,你可以执行客户管理员能做的所有操作,例如创建用户、发送消息等。
查看他们的文档以绘制攻击面,他们的文档非常完整,还附有截图。我发现了一个名为“自助注册(Self-registration)”的功能。使用自助注册时,我们需要一个访问代码,例如我的链接是 target.com/aLmp。该功能允许管理员自助注册用户,并可以设置用户的分组。
每个分组都有专门的权限,例如“Group A”有管理员权限,而“Group B”只有查看权限。我尝试使用该功能来观察整体情况。
访问我的自助注册链接,例如 target.com/aLmp,我尝试将自助注册的分组分配给一个权限很低的普通用户,并尝试多种方式提升权限,但都没有成功。
回过头重新阅读文档,我发现了一些可能的问题。
文档中有一个自助注册端点的截图,他们在记录系统文档时展示了端点,假设端点是 target.com/bQmN。我立即进行了自助注册,确认注册并认证进入系统。
我发现该用户只是一个普通用户,没有系统权限。我尝试提升权限,但没有成功。我立即报告了这个问题,并在 8 分钟后收到回应。
按回车或点击查看完整图片

几天后,我在新注册用户的 QA 系统中收到一条通知:“There is a fire”(有火情)。
我想询问他们是否安全,但意识到他们可能只是在测试通知 :)。之后我继续测试,因为我找到了邮件地址,我认证进入系统并查看我的通知。触发通知的人会与他们的邮箱地址一起列出。
按回车或点击查看完整图片

每当用户尝试认证时,系统会将其指向用户所在的提供者。我尝试在 Provider A 中以 IT 管理员账户进行暴力破解,但没有成功。我发现 IT 管理员在不同提供者下存在不同账户。
进一步研究,我发现即使不知道文档中列出的端点,也能访问自助注册端点。端点是 target.com/self-service/provider-id,提供者 ID 可以在尝试认证任意用户时发现,因为用户绑定在特定提供者下。
我尝试了 Provider B,发现我们可以订阅其他订阅的 QA 系统通知。
按回车或点击查看完整图片

此时,未授权用户就可以接收 QA 系统的通知。我在报告中告诉项目负责人这一附加信息,他回复说:
按回车或点击查看完整图片

我认为这已经足够了,我尝试过暴力破解他们的账户以最大化影响,但没有成功。总体上,我的报告被接受,并产生了影响。
这一发现让我意识到,作为攻击者,在绘制攻击面时应仔细收集数据。系统文档中的一个小错误可能产生巨大影响——如果我找到了 IT 管理员的正确密码呢? :)
我的分享就到这里,谢谢阅读,祝大家有美好的一天,Happy Hacking! :)