web-dev-qa-db-ja.com

Githubアカウントがハッキングされ、リポジトリがワイプされた-Github Response

私のリポジトリの1つは今日消去され、ビットコインの身代金を伴うメッセージがその場所に残されました。彼らが私のアカウントにどのようにアクセスしたかはわかりません。githubのセキュリティページには何も表示されません。

彼らが私に連絡してほしい電子メールのドメインは今日作成されただけで、グーグルは何ももたらしません、グーグルはそれに対して何も返さないので新鮮なビットコインアドレスのようです。

彼らは1つのリポジトリをワイプしただけで、50以上あるため、自分のアカウントに直接アクセスしたことはなく、リポジトリをクローンしたサーバーから実行できなかった、または標的型攻撃であり、彼らが何をしたかを正確に知っていたと思います。

とにかく、他のリポジトリに最近アクセスしてクローンが作成されたかどうかを確認する方法はありますか?それらはすべて非公開に設定されています。

私は今何をすべきか少し途方に暮れています、githubで2要素がオンになっています、コードが使用されたメインサーバー、未使用のスクリプトを削除し、パスワードを変更しました。現在、新しいサーバードロップレットを構築しています。サーバーがアクセスされた場合の予防策としてすべてを移動します。

このコードはまだベータ版でしたが、約50人のお客様が使用しています。そして、私が古いセキュリティのために不明瞭に費やしていた時間の完全な欠如のために、開発中にいくつかのインスタンスがあります...したがって、これは私の顧客に直接影響を及ぼします。

誰もが何らかの入力を受け取りましたが、どうやってこれのソースを追跡して、最初にどのようにしてアクセスを取得したかを調べることができますか?

最後のコミットの詳細を確認したところ、

警告

gitbackup
gitbackupは4時間前にコミットしました

コミットのすべての履歴とすべてのコードがなくなりました。

更新:ビットコインのアドレスと電子メールは、同様のインシデントのレポートでグーグルに浮上し始めています。少なくとも、今ではランダムでターゲットを絞っていません。

Githubからの応答

Githubかなり標準的な応答で今日私に戻ってきました。

最近、GitHubアカウントで、攻撃者が以下にリストされている特定のリポジトリにログイン、ダウンロード、および悪意を持って変更した可能性があることを示唆する不審なアクティビティに気づきました。細心の注意を払って、このメールアドレスに関連付けられたアカウントのパスワードを強制的にリセットすることを決定しました。 GitHubがハッキングまたは侵害されたと信じる理由はありません。

この種の不正アクセスは、複数のオンラインサービスでの資格情報の再利用の結果として発生することがよくあります。攻撃者はその後、過去に侵害された他のオンラインサービスから電子メールアドレスとパスワードのリストを取得し、GitHubでそれらを試すことができます。

乗っ取りが疑われるリポジトリ:

xxxx

リポジトリのローカルコピーがある場合は、それをGitHubに強制的にプッシュすると、リポジトリが以前の状態に復元されます。ローカルコピーがない場合は、サポートをリクエストするために、以下のメールアドレスでサポートチームにお問い合わせください。

17
Raymie

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

ただし、自己完結型にするために、これはentire GitリポジトリをWebサイトに提供するときに発生します。たとえば、デプロイプロセスが次のようになっている場合

  1. 変更をプッシュする
  2. ウェブサーバーにSSH接続します
  3. 変更をプル

次に、注意する必要があります。

Gitには、リモートURLを含む、リポジトリに関するすべてのメタ情報を含む.gitフォルダーがあります。資格情報をリモートURLに埋め込む場合(https://user@pass:github.com/user/repo.gitのように見える場合は、これを行っています)、これらの資格情報を使用してリポジトリにアクセスし、anythingを実行することができます。

状況に応じて、いくつかの緩和策があります。

  1. 上記のように、.gitフォルダーを提供しないようにWebサーバーを設定できます。これは最も速くて簡単な解決策ですが、パスを知っている人にレポのcontentsを公開しているため、優れた解決策でもありません。そこに独自の要素がある場合は、別の緩和策を使用します
  2. Webサイトのコードをリポジトリのサブディレクトリに配置します。展開は簡単ですが、追跡したいものは何でもnot公開されます。パブリックディレクトリに配置しないでください。これは移行コストが高くなりますが、よりクリーンなアプローチであり、長期的に見れば簡単に正しく導入できます。
  3. HTTPSではなくSSHでプルします。キーファイルは、あなたがひどく間違っていることをしない限り公開されないので、たとえdo.gitフォルダーにアクセスしても、他の誰もリポジトリにアクセスできません。このソリューションだけでも.gitフォルダーにアクセスできますが、一部のプロジェクト(たとえば、ほとんどのオープンソースプロジェクト)では、すべてがすでに公開されているため、これは無関係です。ナイスサイドボーナスとして、サーバーのGitHubへの接続はより安全になります。