Github 帐户被黑并清除了 repo - Github 响应

信息安全 账户安全 入侵 github
2021-08-21 21:48:42

我的一个回购今天被清除了,只留下一条信息并用比特币赎金。我不知道他们是如何访问我的帐户的,在 github 安全页面上看不到任何内容。

他们希望我联系的电子邮件的域是今天才创建的,谷歌什么也没提供,也似乎是一个新的比特币地址,因为谷歌没有返回任何内容。

他们只擦除了一个 repo,而且有 50 多个,这让我觉得他们从未直接访问过我的帐户,并且可能从我将 repo 克隆到的服务器上访问过,或者这是一次有针对性的攻击,他们确切地知道他们在追求什么。

有没有办法检查我的其他存储库最近是否被访问和克隆?它们都设置为私有。

我现在有点不知所措,github中已经打开了2个因素,使用代码的主服务器我已经删除了未使用的脚本等更改了密码,目前正在构建一个新的服务器droplet和移动所有东西以防万一服务器被访问。

尽管我们有大约 50 个客户在使用它,但此代码仍处于测试阶段。在开发过程中也有一些例子,只是因为我完全没有时间通过​​默默无闻的方式去寻找旧的安全性......所以这将对我的客户产生直接影响。

任何人都有任何意见,我如何尝试追溯其来源,首先找出他们是如何获得访问权限的?

刚刚检查了最后的提交细节,

警告

gitbackup
gitbackup 4 小时前提交

所有提交历史和所有代码都消失了。

更新:比特币地址和电子邮件开始在谷歌上出现类似事件的报告,至少我现在知道它是随机的,没有针对性。

来自 Github 的回复

Github 今天给我一个非常标准的回复。

我们最近注意到您的 GitHub 帐户上有一些可疑活动,表明攻击者可能已经登录、下载并恶意修改了某些存储库,如下所列。出于谨慎考虑,我们决定强制重置与此电子邮件地址关联的帐户的密码。我们没有理由相信 GitHub 已被黑客入侵或入侵。

这种未经授权的访问通常是由于跨多个在线服务的凭据重用而发生的。然后,攻击者能够从过去被入侵的其他在线服务获取电子邮件地址和密码列表,并在 GitHub 上进行尝试。

涉嫌接管的仓库:

xxxx

如果您有存储库的本地副本,强制将其推送到 GitHub 应该会将存储库恢复到之前的状态。如果您没有本地副本,请通过以下电子邮件地址联系我们的支持团队以请求帮助。

1个回答

从OP:

好的,看起来源已经找到了。

https://en.internetwache.org/dont-publicly-expose-git-or-how-we-downloaded-your-websites-sourcecode-an-analysis-of-alexas-1m-28-07-2015/

傻我!:)

预防 -

<DirectoryMatch "^/.*/\.git/">
  Require all denied
</DirectoryMatch> 

在你的 apache 配置中。

恢复你的回购,

git push origin HEAD:master --force

但是,为了使其独立,当您为您的网站提供整个Git 存储库时会发生这种情况。因此,例如,如果您的部署过程看起来像

  1. 推送您的更改
  2. SSH 进入网络服务器
  3. 拉取您的更改

那你应该注意了。

Git 有一个.git文件夹,其中包含有关您的存储库的所有元信息,包括您的远程 URL。如果您将您的凭据嵌入到远程 URL(如果它看起来像https://user@pass:github.com/user/repo.git,那么您已经完成了此操作),那么这些凭据可用于访问您的存储库并对其执行您可以执行的任何操作。

根据您的情况,有一些缓解措施:

  1. 如上所述,您可以将您的网络服务器配置为不提供该.git文件夹。这是最快、最简单的解决方案,但也不是一个很好的解决方案,因为您仍在将 repo 的内容暴露给任何知道路径的人。如果您有任何专有元素,请使用另一种缓解措施
  2. 将您网站的代码放在存储库的某个子目录中。您仍然可以轻松部署,但现在您想要跟踪但未发布的任何内容您只需...不要放入公共目录。这是一个更高的迁移成本,但更清洁的方法,从长远来看更容易正确。
  3. 使用 SSH 拉取,而不是使用 HTTPS。除非您做错了什么,否则密钥文件不会被发布,因此即使他们确实有权访问该.git文件夹,也没有其他人可以访问该存储库。请注意,仅使用此解决方案,他们仍然可以访问该.git文件夹,但对于某些项目(例如大多数开源项目)来说,这无关紧要,因为那里的所有内容都已经公开。作为一个不错的好处,您的服务器连接到 GitHub 将更加安全。