900 个站点、1.25 亿个帐户、1 个漏洞
900 Sites, 125M accounts, 1 Vulnerability

原始链接: https://env.fail/posts/firewreck-1/

由网络安全研究人员 mrbruh、xyzeva 和 logykk 组成的团队发现,由于安全配置薄弱,使用 Google Firebase 平台的约 900 个网站上的约 1.25 亿条用户记录存在敏感信息泄露。 他们进行了两次尝试,一次使用 Python,另一次使用 Go,来识别和扫描潜在的易受攻击的站点。 尽管取得了初步成功,但他们面临着资源限制和内存问题的挑战。 这项研究使他们发现了大量的个人信息,包括姓名、电子邮件、电话号码、密码和账单信息。 一些发现包括一个有 2700 万受影响用户的学习管理系统、一个泄露 1000 万用户银行凭证和明文密码的在线赌博网络、一个为有 2200 万受影响个人的销售团队提供的“在线潜在客户生成器”,以及一个餐厅的业务管理工具 暴露的姓名数量最多,暴露的电子邮件数量第二多。 尽管与一些网站所有者的后续沟通收到的回应很少,但大约 24% 的网站所有者设法解决了错误配置问题。

这里有一个与本次讨论主题相关的问题:随着网络威胁的增加,组织应该采取哪些措施来改善其整体安全状况,尤其是那些使用 Firebase 等第三方服务和解决方案的组织? 虽然没有保证完全安全的灵丹妙药,但一些常规步骤包括: 1. 实施全面的安全策略:围绕数据保护、访问控制、补丁管理和事件响应定义明确的指导方针、角色和职责。 2. 鼓励安全意识:确保所有员工(包括第三方合作伙伴)接受有关安全重要性的教育,并具备识别潜在风险并采取适当应对措施的知识和资源。 3. 采用强大的访问控制:利用强大的身份验证机制,根据最小权限原则限制权限,并定期审查以授予、撤销或修改权限。 4. 定期进行风险评估和渗透测试:识别系统、应用程序和基础设施中的漏洞和弱点,并通过修补和补救措施主动解决这些风险。 5. 异常活动监控:建立基线行为模型,针对异常事件设置警报和通知,并及时、彻底地调查事件。 6. 利用外部合作伙伴关系:与值得信赖的供应商、行业协会和政府机构合作,随时了解新出现的威胁、最佳实践和监管要求。 通过实施这些措施,组织可以显着减少攻击面并增强防御不断变化的网络威胁的能力。 然而,这需要各利益相关者之间持续的承诺、投资和合作。
相关文章

原文

TLDR:

- Firebase allows for easy misconfiguration of security rules with zero warnings

- This has resulted in hundreds of sites exposing a total of ~125 Million user records, including plaintext passwords & sensitive billing information


After the initial buzz of pwning Chattr.ai had settled down, we set to work on scanning the entire internet for exposed PII via misconfigured Firebase instances.

Attempt 1

MrBruh wrote up a rudimentary scanner in Python that would check for Firebase configuration variables in websites or their loaded .js bundles.

It worked... until it didn't.

Turns out that a Python program with ~500 threads will start to chew up memory over time. For us that meant it was OOM'ing within an hour of starting it.

Attempt 2

Logykk rewrote the scanner in Go, unlike the prior it didn't seem to leak memory.

Our initial estimate was that this was going to take ~11 days to scan through the 5 1/2 Million domains, but it turned out to be closer to 2-3 weeks which made this very much a waiting game.

Manually checking every domain

We first went and started manually looking at each entry in the 550k line text file, seeing if we could find anything interesting, this was time consuming and very repetitive.

In the end, we went through quite a lot of it and had 136 sites and 6.2 million records, but we all knew that we needed to do something fully automated, because this was taking way too long.

Catalyst

Once we had acquired our shortlist of potentially affected sites we ran it through a secondary scanner that Eva had made called Catalyst.

This would take the site (or .js bundle) we found, then automatically check for read access to common Firebase collections & any that were explicitly mentioned in the JavaScript itself.

When it found read access to a collection it would attempt to calculate the impact of the exposed data by gathering a sample of 100 records, checking the type of information contained and extrapolating that by the total size of the collection.

We then, decided the database to use to store all of these results, and we chose Supabase (which uses PostgreSQL under the hood) a open source Firebase competitor, just for the irony.

Once all that had been completed the data was formatted and uploaded to a private database table.

A database table viewer of data, with the columns of projectId, websiteUrls, allCount, namesCount, emailCount, phoneCount, hashedPwdCount, plaintextPwdCount, billingCount

The Numbers

  • All (records): 124,605,664
  • Names: 84,221,169
  • Emails: 106,266,766
  • Phone Numbers: 33,559,863
  • Passwords: 20,185,831
  • Billing Info (Bank details, invoices, etc): 27,487,924

These numbers should be taken with a grain of salt. They are likely larger than shown here.

1. Silid LMS

SilidLMS, a learning platform for teachers

  • Learning management system for students & teachers
  • Most total exposed user records, at 27 Million affected users. (Names, Emails & Phone numbers)

2. Online gambling network

Carousel of 6 animal themed login pages, on different websites, all very clearly a look alike

3. Lead Carrot

Online lead company,

  • Online “lead” generator for cold calling
  • Top 3 in total amount of exposed user information, siting at 22 Million affected people.

4. MyChefTool

  • Business management app & Point of Service application for restaurants
  • 1st place for most exposed Names & 2nd place for exposed Emails. (14 Million & 13 Million respectively)

The aftermath

  • 842 Emails sent over 13 days
  • 85% Emails delivered
  • 9% Emails bounced
  • 24% of Site owners fixed the misconfiguration
  • 1% of Site owners emailed us back
  • 0.2% (2) Sites owners offered a bug bounty
联系我们 contact @ memedata.com