- GitHub には「mods」や「cracks」を装った無数のリポジトリが存在し、ユーザーがダウンロードするとコンピュータ内の機密情報を盗み取る詐欺(Scam)となっている
- Roblox、Fortnite、FL Studio、Adobe Photoshop などの人気ソフトやゲーム名を使い、「無料ダウンロード」や「クラック版」のように宣伝している
- この悪意あるファイルを実行すると、Redox Stealer のような情報窃取マルウェアが動作する
- 窃取された情報は Discord サーバーや Anonfiles などの共有サイトに送信され、暗号資産ウォレットやソーシャルメディアのアカウントなどを奪う仕組みになっている
- GitHub 検索だけでもこうしたリポジトリは簡単に見つかり、実際の規模は少なくとも 1,000 件以上と推定される
- GitHub で公開 Issue として「ウイルス」や「マルウェア」だと警告されている場合もあるが、全体の 10% 程度にすぎず、多くのユーザーが危険にさらされている状況である
TL;DR
- 発見の経緯
- ソーシャルエンジニアリング関連のフォーラムで、GitHub に悪性リポジトリを大量にばらまく具体的なガイドを発見した
- そのガイドをもとに、攻撃者が実際に作成したリポジトリまで追跡した
- 規模
- 1,115 件以上のリポジトリを見つけ、そのうち構造が不審で悪性である可能性が高いものだけでも 351 件以上あった
- Issue を通じて警告されているリポジトリは 10% 未満で、大半は正常に見える状態のままだった
- マルウェアの特徴
- Redox Stealer 系列と見られ、Discord Webhook を通じて被害者のコンピュータから cookie、パスワード、暗号資産ウォレット、ゲームアカウントなど各種の機密情報を窃取する
- 共有サイト(例:Anonfiles)を通じて圧縮ファイル形式で送信された後、Webhook で後続リンクを送り、分析や売買に使う形になっている
Some background
- Telegram ボットの宣伝
- 著者は以前利用していた TikTok 分析ボットのメッセージで、このフォーラムの宣伝を見つけた
- そのフォーラムは別途招待や Tor 接続がなくても、メールアドレスとパスワードだけで会員登録し、違法な取引やガイドを閲覧できる
- フォーラムの特徴
- アカウント売買(例:TikTok、Instagram、Facebook Ads など)から、詐欺向けの「affiliate」プログラム関連資料まで自由に共有される構造になっている
- ransomware as a service(RaaS)、CryptoGrab などすでに有名な詐欺も多いが、GitHub を通じたマルウェア配布ガイドは新しく衝撃的だった
- Redox Stealer
- Telegram などで流通するマルウェアで、比較的単純な Python スクリプトである
- PC から取得できるあらゆる機密情報を大量に収集し、Discord サーバーへ送信する構造になっている
GitHub に[トラフィックを]流し込む方法 A から Z まで
- GitHub アカウントの大量確保
- 1.5 ドル程度でアカウントを購入するか、自分で複数作成して攻撃に利用する
- 悪意あるファイルのアップロード方法
.zip、.rar などにまとめて GitHub に上げるか、README に外部共有リンクを貼ってウイルス検査を回避する
- README テンプレート
- 実際のスクリーンショット、動画、virustotal の検査結果(偽造)などを添付し、信用させるように構成する
- ChatGPT などを使って README テキストを少しずつ変え、重複検出を避ける
- Topics タグの活用
- GitHub の
topic 機能を使い、ゲーム名、crack、hack、cheat などのキーワードを繰り返し登録する
- 検索エンジンで「無料クラック」などを探す人の目に留まりやすくする
- Banned topic かどうかを確認して避ける方法まで案内している
Redox Stealer の分析
- ファイル実行の流れ
- ユーザーがリポジトリをダウンロードし、悪意あるスクリプトを実行すると、PC 内部情報の収集が始まる
- ip、geolocation、ユーザー名、ブラウザ cookie、パスワード、Discord、Telegram、Steam、Riot Games のアカウント、暗号資産ウォレットのファイルなど、大量の情報が窃取対象となる
- 収集方法
- マルウェアが sqlite DB ファイルを一時的にコピーし、ブラウザ cookie、パスワード、Discord トークンなどを抽出する
- Metamask、Exodus などの暗号資産拡張機能のファイルや、Steam、Riot Games などのゲームアカウント情報ファイルを別途圧縮してアップロードする
- データ送信
- 窃取されたファイルは Anonfiles のような共有サービスにアップロードされ、そのリンクや情報が Discord Webhook を通じて攻撃者に渡される
- 最終目的は、販売価値のあるアカウント(例:暗号資産、ゲームアイテム)や金融情報(クレジットカード、PayPal など)を奪うことである
GitHub での検索と発見
- 規模の推定
- 1 人だけでも 300〜500 件のリポジトリを上げれば、1 日に 50〜100 件以上の被害ログを生成できると案内している
- 実際には複数人がこうしたスキームを同時進行している可能性が高く、さらに多くの悪性リポジトリが存在するとみられる
- PoC(Proof of Concept)スクリプト
- 著者はガイドで示されたキーワード(例:「fortnite hack」「roblox cheat」など)を組み合わせ、GitHub Search API を使って自動的にリポジトリをクロールした
- 約 2,100 個ほどの topic キーワードで確認したところ、1,155 件のリポジトリが確認された
- そのうち 351 件は README や
.rar / .zip ファイル構造などから見て、悪性である可能性が高いと判断した
- 問題点
- 「これは悪性だ」という Issue が残されているのは 10% 未満のリポジトリだけで、ユーザーへの警告機能が不十分である
- 多くのユーザーが正常なプログラムと勘違いして実行してしまう危険が大きい
Conclusion
- オンライン上の違法情報
- Tor や別途招待がなくても、一般の Web から簡単にアクセスできるフォーラムが存在する
- Ransomware、crypto drainer などさまざまな詐欺が活発に共有されている
- Redox Stealer の単純さ
- 数百〜数千行の Python コードだけで広範な情報を自動収集し、攻撃者へ送信する
- 技術的な難易度が高くないため、大量拡散が容易という問題がある
- GitHub 側の対応の必要性
- Issue で悪性と公開されたリポジトリでさえ、そのまま放置されているケースが多い
- GitHub が積極的なモニタリングと遮断を実施することで被害は減るとみられる
- 締めくくり
- ゲームやソフトのクラックなどをダウンロードしようとする際は、オープンソースかどうかやウイルス検査の有無を慎重に確認する必要がある
- 著者は追加の詐欺・不正広告に関する続報分析を予告している
要約
- GitHub を使ったマルウェア配布が進行中:多くは「無料」「クラック」「mod」という名称を使い、実際には Redox Stealer を含んでいる
- Redox Stealer は簡単で単純なため、誰でも大量配布しやすい
- 主な被害対象:暗号資産ウォレット、Steam / Riot Games アカウント、PayPal、Facebook、Twitter など幅広いアカウント情報である
- 予防策
- 信頼できる提供元からのみダウンロードする
- 不審なリンクや README を注意深く確認する
- GitHub Issues やスター評価、ほかのユーザーレビューの有無を確認する
- セキュリティソフトと最新のセキュリティパッチを維持する
- フォーラム起点のスキャミング拡大
- 参入障壁が低く、誰でもガイドを入手後に悪性スクリプトを配布できる
- 1 人の攻撃者が複数アカウントを買い集め、数百件のリポジトリを上げる形で拡散している
- GitHub とセキュリティコミュニティの責任
- 悪性リポジトリの識別・遮断システムを強化する必要がある
- 一般ユーザーの危機意識向上が不可欠である
- 「Crack」や「mod」を無料で提供するとする GitHub リポジトリは常に疑うべき状況である
- スプレッドシート(リンク参照) には、著者が収集した 1,000 件以上の不審リポジトリ一覧がある
- すべてのマルウェアは単一目的(金銭的利益)につながっており、迅速かつ大規模な拡散が特徴である
1件のコメント
Hacker Newsの意見
Microsoft には、自社のエコシステムから不要なものを取り除くことに関して慢性的な問題がある
Discord Webhook を通じて新たに侵害されたシステムを通知している
Microsoft にもある程度の責任がある
マルウェアのリポジトリを削除すべき理由についての疑問
面白い事実: Discord Webhook は見つければ削除できる
curl -X DELETEコマンドを使用Microsoft のサポートは悲惨なほどひどい
問題の核心は、アプリケーションが OS レベルで分離されていないこと
GitHub の不正利用報告システムの有効性についての大きな疑問
Plants vs. Zombies の Mod のインストールを手伝ってほしいと頼まれた
GitHub リポジトリでマルウェアを見つけた場合は、Abuse Report ページから直接報告できる