
カスペルスキーはGitHubで偽のプロジェクトが含まれたリポジトリを悪用したサイバー攻撃「GitVenom」を発見しました。
目次
GitVenoギット
GitVenom(ギットベノム)は、攻撃者がGitHub上に「偽のオープンソースプロジェクト」を作成し、開発者を騙してマルウェアをダウンロードさせる手法です。リポジトリの内容は、本物のプロジェクトに見えるように巧妙に偽装されており、README.mdには詳しい使い方やビルド方法が記載されています。
特に以下のような人気ツールを装ったプロジェクトが確認されています。
- Instagramの自動化ツール
- Telegramを使った仮想通貨ウォレット管理ボット
- 人気オンラインゲームValorantのハッキングツール
これらの偽のプロジェクトを設計する際に、攻撃者は潜在的なターゲットに対してリポジトリが正当なものであるように見せるために多大な努力をしていました。
たとえば、カスペルスキーの研究者が発見した悪意のあるリポジトリには、AI ツールを使用して生成されたと思われる、巧妙に設計された README.md ファイルが含まれていました。
これらのファイルには、プロジェクトに関する情報と、そのコードをコンパイルする方法の説明が含まれていることがわかりました。
画像:カスペルスキー
コミット数を偽装し信頼感を演出
さらに攻撃者はリポジトリに複数のタグを追加し、コミットの数を人為的に増やしました。
そのため、攻撃者はこれらのリポジトリにタイムスタンプ ファイルを配置し、数分ごとに更新しました。これによりアクティブなプロジェクトで検索結果の上位に表示させようとしていた事が分かります。
画像:カスペルスキー
マルウェアの埋め込み手法
GitVenomで使用される偽プロジェクトは、さまざまなプログラミング言語で構成されており、それぞれの特性を利用してマルウェアが仕込まれています。
1. Pythonプロジェクト
Pythonのプロジェクトでは、約2,000個のタブ文字を含む長い行の後に、悪意のあるコードが隠されています。以下のコードが実行され、暗号化されたマルウェアが復号・実行されます。
subprocess.run(['pip', 'install', 'cryptography'], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) subprocess.run(['pip', 'install', 'fernet'], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) from fernet import Fernet import requests exec(Fernet(b'<encrypted malicious Python script>'))
2. JavaScriptプロジェクト
JavaScriptのプロジェクトでは、Base64でエンコードされたスクリプトが含まれており、プロジェクトのメインファイルから意図的に呼び出されます。
3. C、C++、C#プロジェクト
C系言語で作成されたプロジェクトでは、Visual Studioのプロジェクトファイルにマルウェアが埋め込まれています。PreBuildEvent
という属性を利用し、プロジェクトをビルドする際に悪意のあるスクリプトを実行する仕組みです。
いずれの手法も、開発者がコードをビルドまたは実行した瞬間に、マルウェアが活動を開始するよう設計されています。
マルウェアの目的
GitVenomは、感染した開発者の環境から機密情報を窃取することを目的としています。リポジトリ内のマルウェアを通じて、以下のような追加の攻撃コンポーネントをダウンロードします。
-
Node.jsベースの情報窃取マルウェア
- 保存されたパスワード、仮想通貨ウォレット情報、ブラウザの閲覧履歴を収集
- 取得したデータをTelegram経由で攻撃者に送信
-
リモートアクセス型トロイの木馬(RAT)
- AsyncRAT / Quasarを使用し、攻撃者が感染した端末を遠隔操作可能
-
クリップボードハイジャッカー
- 仮想通貨ウォレットのアドレスを監視し、送金時に攻撃者のウォレットにすり替える
- 既に攻撃者のウォレットには約5BTC(約48万5000ドル相当)が送金された記録あり
GitVenomの影響と今後の見通し
GitVenomは過去2年以上にわたって活動しており、すでに世界中の開発者が被害を受けています。特にロシア、ブラジル、トルコで感染報告が多く確認されています。
今後も手法を変えながら、GitHub上でのマルウェア拡散が続くと予想されます。オープンソースを利用する開発者は、このリスクを認識し、慎重に対策を取ることが重要です。
システム開発者を狙うハッカー
脅威アクターやハッカーはシステムエンジニアを狙う為に様々なサイバー攻撃を行います。
簡単なものでいうと、最新のサービスや頻繁に利用されている開発ツールの偽サイトからマルウェアやインフォステーラーを拡散します。
実際、偽のHomebrewのGoogle広告でマルウェアを拡散するキャンペーンやArc ブラウザの偽ダウンロードサイトが確認されています
また直接的に金銭を窃取する場合は、ソーシャルエンジニアリングの手法を用いて対象組織に侵入し仮想通貨や機密情報を窃取します。
DMMビットコインの仮想通貨の漏洩はDMMのビットコイン管理を行っていたGincoのインド人社員エンジニアのアカウントを乗っ取り結果的に約482億円のビットコインを窃取されました。
サイバー攻撃者はLinkedInでGincoのエンジニアへコンタクトを取り、その後「採用試験」を装い、GitHub上に保管された採用前試験を装った悪意あるPythonスクリプトへのURLを送付し、結果的にGincoのネットワークの重要情報を窃取されました。