メインコンテンツへスキップ
ニュースに戻る
複数の事件にわたる捜査

詐欺師はハッカーではない:4つのバックエンドを徹底分析、いずれも簡単に侵害された

Firebase · Supabase · Express.js · Drainer-as-a-Service · 2026年2月

詐欺の仕組みが暴かれる
19,000+
シードフレーズの盗難(1件のキャンペーン)
4
バックエンドへの完全なアクセス権
0
認証が必要です
267+
フィッシングに関連するドメイン

 免責事項:これは分析であり、攻撃ではありません

この記事で紹介されている内容はすべて、 受動的分析と一般に公開されているデータ. システムへの侵入は一切ありませんでした。認証の迂回も発生しませんでした。いずれの場合も、詐欺師たち自身の設定ミスが原因で、彼らのインフラ、被害者のデータ、および運用上のIDが、単に覗き見るだけで誰でも確認できる状態にさらされていたのです。すべてのAPIキーは、公開されているJavaScriptバンドル内に含まれていました。 すべてのデータベースは、運営者自身の設計によって完全に開放されていた。私たちがこれを記録するのは、攻撃するためではなく、あなたの暗号資産を盗んでいる者たちが 自分の道具さえきちんと管理できない.

 中心的な論点:盗んだツールを使うスクリプトキディたち

一般の人々の間には、オンライン詐欺師とは「ハッカー」――つまり、高度な技術と巧妙な手口でシステムに侵入する技術の達人――であるという根強い誤解が広まっている。 これは間違っています。

現代の仮想通貨詐欺師たちは 購入したツールキットを使うスクリプトキディ。彼らは200~500ドルの「Drainer-as-a-Service」パッケージを購入し、無料または安価なホスティング環境に展開して、被害者に気づかれないことを祈るだけだ。彼らはコードを書かない。ネットワークのことも理解していない。ましてやセキュリティについては、言うまでもなく理解していない。

このことがわかっているのは、2026年2月にPhishDestroyが分析を行ったためである 4つの独立した詐欺組織 — そして、どのケースにおいても、私たちはこうすることもできたはずだ:

エクスプロイトも不要。ゼロデイも不要。「ハッキング」も不要。ただ 鍵をかけずに置いていった玄関のドアを開けて.

 事例 1:ファントム API — server0002.mn19indexpre.xyz

 Apache上のExpress.js、実質的なセキュリティ対策は皆無

認証なし入力の検証なしレート制限なしCORS: *
パラメータ
ドメインserver0002.mn19indexpre.xyz
IPアドレス108.181.185.225
サーバースタックApache/2.4.58 (Ubuntu) → Express.js (Node.js)
SSHバナーSSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13.11
TLS発行者Let's Encrypt (E7)、有効期間:2026年1月~4月
DNSレジストラGoDaddy (ns39/ns40.domaincontrol.com)
電子メール (MX)mn19indexpre-xyz.mail.protection.outlook.com
Microsoft テナントNETORGFT19090185.onmicrosoft.com
開いているポート22 (SSH)、80 (HTTP→301)、443 (HTTPS)

 「認証」――冗談だ

このAPIには、ハードコードされたBearerトークンが付属しています: thisisakeyforsecureserver。でも、ここが肝心なところだ―― トークンは実際には検証されていない:

// No auth header → accepted POST / HTTP/1.1 Content-Type: application/json {"subject":"test","domain":"test","messages":["ping"]} → {"success":true}// Wrong token → also accepted 認証情報: 提示者 wrong_token_completely → {"success":true}// Any content type → also accepted Content-Type: text/xml, text/plain, multipart/form-data → {"success":true}

 ゼロ入力検証

テストしたすべてのインジェクションペイロードは、何の警告もなく受け入れられました:

// SQL injection 件名: "' OR 1=1--"→ 受理済み 件名: "'; DROP TABLE messages;--"→ 受理済み// SSTI (Server-Side Template Injection) 件名: "{{7*7}}"→ 受理済み 件名: "{{config}}"→ 受理済み 件名: "{{self.__class__}}"→ 受理済み// SSRF (Server-Side Request Forgery) ドメイン: 「http://169.254.169.254/latest/meta-data/」→ 受理済み ドメイン: "file:///etc/passwd"→ 受理済み// XSS stored payload 件名: "<script>alert(1)</script>"→ 受理済み

 パフォーマンス・フィンガープリント

ペイロードのサイズ(10バイトから10MBまで対応)にかかわらず、POSTのリクエストに対する応答時間は一貫して約7.5秒であり、バックエンドでメール転送またはWebhookの中継が行われていることが示唆される。GETのリクエストに対する応答時間は0.6秒である。10件の並列リクエストは9.1秒で完了し、レート制限は適用されていない。

 匿名化解除の可能性

Microsoft 365 テナント ID NETORGFT19090185組織アカウントへの直接リンク このドメインを登録したのは。GoDaddyの登録記録や専用IP(CDNの背後ではない)と合わせると、この運営者は 容易に特定できる 法的な手続きを通じて。SPFレコード(include:secureserver.net) によると、GoDaddyのメールホスティングサービスでは、すべてのメールのメタデータが召喚状によって開示可能であることが確認された。

 事例 2:Firebase のセキュリティが完全に無防備 — web3ledgar.com

 セキュリティルールが一切ない Firestore

FIRESTORE ルール:OPENすべての被害者データが読み取り可能公開用JS内のAPIキー12人の被害者が明らかになった
パラメータ
フィッシングドメインweb3ledgar.com (「Ledger」のタイポスクワット)
代替ドメインweb3.ledgerscore.ltd
Firebase プロジェクトweb3ledger-210ab
APIキーAIzaSyCv8e-Gl7nK1RPpfNkJt-WjSZiaoe4AsL8
アプリID1:1054258933515:web:9fb193fcd0093023f7fc0e
JSバンドル/static/js/main.7a5ec2fa.js
Firestore ルール完全に開放 — 認証なしの読み取り/書き込み
被害者の総数12件のレコードが users コレクション
見つかったコレクションusers, transactions

 被害者データ — 誰でも自由に閲覧可能

Firestore REST API への認証されていない単一の GET リクエストにより、以下の結果が返されました 盗まれたすべてのシードフレーズ:

GET /v1/projects/web3ledger-210ab/databases/(default)/documents/users?pageSize=300 → 200 OK→ 文書総数:12件// Sample victim record (seed phrase redacted for safety) { "walletId": 「W3L-65285520」, "walletType": 「WalletConnect」, 「メール」: 「[削除済み]@gmail.com」, 「シードフレーズ」: "████ ████ ████ ████ ████ ████ ████ ████ ████ ████ ████ ████", "createdAt": "2026-02-15T00:14:52.804Z", 「ステータス」: 「アクティブ」 }

12件の記録の中には、ある示唆に富む項目があった――誰かがすでにこのシステムをテストしていたようで、 fbi@fbi.gov そのメールのように。詐欺師は、自身のシステムをテストしていた(身元特定に役立つ)か、あるいは誰かがすでにそのシステムを調査していたかのどちらかだ。

 攻撃の流れ

このフィッシングサイトは、Ledgerのウォレットのインターフェースを模倣しています。被害者が「ウォレットを接続」をクリック → シードフレーズを入力 → ReactのフロントエンドがFirestoreに直接書き込み → 詐欺師が、その公開されたデータベースから情報を読み取ります。 バックエンドサーバーは一切ありません。 このシステム全体は、Googleの無料プランで稼働しています。

 匿名化解除の可能性

Firebase プロジェクト ID web3ledger-210ab およびApp ID 1:1054258933515Googleアカウントに紐付けられている. Googleは、すべてのFirebaseプロジェクトについて、課金記録、IPログ、およびアカウント作成データを保持しています。法執行機関からGoogleに対して1件の照会が行われるだけで、運営者の身元が明らかになります。さらに、Firestoreのルールが完全に開放されているということは、 そのデータベースに記録を書き込むこともできたはずだ、被害者にリアルタイムで通知したり、コレクション全体を消去したりした。

 事例 3: Supabase による完全な CRUD — web3safe-pal.com

 行レベルのセキュリティが無効、GraphQLは完全に開放されている

RLS 無効完全なCRUDアクセスGraphQL 対応エッジ関数の公開ロシア語版
パラメータ
フィッシングドメインweb3safe-pal.com (「SafePal」のタイポスクワット)
Supabase プロジェクトgzqsadraigchwdhblavp
Anon Key 掲載先: /assets/index-b025f4a6.js (748 KB)
データベーステーブルseeds — 読み取り、挿入、更新、削除
GraphQL完全なイントロスペクションと変異が有効
エッジ関数 send-wallet-import-email, send-email
メールサービスAPIの再送信(環境変数 RESEND_API_KEY)
被害者記録ID 130~131(129は以前に削除済み)
UIの言語 ロシア語(「メインウォレット」、「ウォレットを読み込んでいます...」)

 データベースへの完全なアクセス権 — 読み取り、書き込み、削除

ミニファイされたJavaScriptバンドルに含まれるSupabaseのanonキーは、以下の権限を付与します 完全なCRUDアクセス ~へ seeds 表:

// READ — get all stolen seed phrases GET /rest/v1/seeds?select=*ℴ=id.asc → 200 OK [ {"id":130, "フレーズ":"████ ████ ████ ████ ████ ████ ████ ████ ████ ████ ████ ████", "名前":「メインウォレット」}, {"id":131, "フレーズ":"████ ████ ████ ████ ████ ████ ████ ████ ████ ████ ████ ████", "名前":「メインウォレット」} ] // INSERT — we can write to the scammer's database POST /rest/v1/seeds {"phrase":"PHISHDESTROY_WAS_HERE","name":"test"} → 201 件作成 {"id":132} // UPDATE via GraphQL mutation { updateseedsCollection(filter:{id:{eq:131}}, set:{name:"PhishDestroy was here"}) { affectedCount } } → {"affectedCount": 1}// DELETE via GraphQL mutation { deleteFromseedsCollection(filter:{id:{eq:131}}, atMost:1) { affectedCount } } → {"affectedCount": 1}

IDは130から始まります — つまり、レコード1~129は、以前にオペレーターによって削除されていた。少なくとも131個のシードフレーズがこのシステムを通過している。

 エッジ機能:メールの履歴

2つのSupabase Edge Functionsがアクティブになっています。私たちはこれをリバースエンジニアリングして、 send-email ペイロードをテストして、関数の期待される入力形式を確認する:

// Probing send-email endpoint {"seed":"test phrase","name":"test"} → 200 OK {"id":"f2749592-..."} {"seed_phrase":"...","wallet_name":"..."} → 400 「シードデータが提供されていません。」 {"phrase":"...","name":"..."} → 400 「シードデータが提供されていません。」// The function accepts {seed, name} and sends to attacker via Resend API// Edge Function source (reconstructed from JS bundle):// NB.functions.invoke("send-wallet-import-email",// {body: {wallet_name, secret_phrase, ip_address}})

API キーの再送信(RESEND_API_KEY) は Supabase の環境変数に保存されます。Resend は送信者の認証記録と課金データを管理しており―― 演算子の正体を突き止めるもう一つの直接的な方法.

 匿名化解除の可能性

ロシア語版のUIローカライズ(「Основной кошелек」、「Ваш кошелек загружается...」)からは、 ロシア語対応のオペレーター. Supabaseプロジェクト(gzqsadraigchwdhblavp) は、請求記録のあるアカウントに関連付けられています。「メール再送信」サービスには、受信者のメールアドレスが登録されています。GraphQLによるイントロスペクションにより、データベースのスキーマ全体が明らかになりました。私たちは完全な書き込みアクセス権を実証しました―― 盗まれたシードフレーズをすべて、被害者への警告メッセージに置き換えることもできたはずだ、あるいはテーブル全体を削除してしまった場合、オペレーターにはデータを復元する方法が一切ない。

 事例 4:工業用排水装置 — aipolypredictor.xyz

 5.8日間で19,000のシードフレーズ

1万9000粒以上の種子が盗まれた連続したジョブIDCORSの制限なしDaaS KIT (defex.cc)11のドメインが確認された
パラメータ
フロントエンド領域 aipolypredictor.xyz (「PolySniper | フロントラン・インサイダー・ベッツ」)
C2 APIapi.yfhikblkhghdyteiuyf54.run
C2 IPアドレス 172.67.168.147, 104.21.26.231 (Cloudflare)
バックエンドExpress.js (Node.js) v1.0.0
レジストラ(フロントエンド)NiceNIC International Group Co.
登録担当者(C2)PDR Ltd. (PublicDomainRegistry.com)
稼働時間約139時間(開始:2026年2月10日 21:00 UTC頃)
ドレーナーキット CDN renderer-postcard.defex.cc (601 KB の難読化された JavaScript)
Telegramボットアクティブ、通知機能と連携済み
レート制限10リクエスト/60秒(確認された制限はこれのみ)

 連番IDによって明らかになった規模

最も致命的な過ち: 連続したジョブID. シードフレーズを送信するたびに連番のIDが返されるため、誰でも総取引量を算出することができます:

POST /api/check-seed-full { 「シードフレーズ」: 「ここにテスト文」, "bundleId": "88ef78f56e0837dd0339e40a882bf563", 「深さ」: 100, 「ドメイン」: 「aipolypredictor.xyz」, "sourceInfo": {"walletName":「MetaMask」, 「isBot」:false} } → {"success":true, "message":"キューに追加されました", "jobId":"19358"}// Next request: jobId 19359, then 19360...// ~19,000 seed phrases in ~139 hours = ~137 per hour

 マルチチェーンアーキテクチャ

C2サーバーは、深さ100の導出パスを使用して、すべての主要チェーンにわたって鍵を導出します:

⛓️
標的となったチェーン
ETH/BTC/SOL/XMR
🔑
派生深度
100
🌐
確認済みのドメイン
11
🕸️
defex.cc リンク
255+

 キャンペーンのインフラ

2つの事業者グループにまたがる、Bundle IDで追跡された11の確認済みドメイン:

バンドルIDドメインステータス
88ef78f5...aipolypredictor.xyzライブ
4446ea5d...solana.onspace.app、solxjup.onspace.appライブ
defex.cc キット jup-v2.com、events-charizard.fun、events-llquid.fun、events-blackswan.fun、soljup.onspace.build 混合

 JavaScript ペイロードの分析

3つの難読化されたJSペイロードが、ドレイナーに配信される:

  • wallet-connect.js (46 KB) — ウォレット接続のUIを処理し、シードの入力を傍受する。文字列配列のローテーションによる難読化。
  • wallet-specific-modals.js (134 KB) — 以下の内容が含まれています BIP39の完全な英語単語リスト そして Moneroのワードリスト (1,626語)。console.log/traceの上書きによるデバッグ対策。マルチウォレットモーダルのサポート。
  • defex.cc/index.js (601 KB) — 中国語の変数名を用いたUnicode難読化処理が施されています。Solana専用のドレイナーロジック。Base58エンコーダー、暗号鍵導出プリミティブ。バージョン 3.0.0。

 匿名化解除の可能性

その CORS: * ヘッダーと認証手段の欠如 誰でもリクエストを送信したり、ジョブIDの増加状況を確認したりできます リアルタイムで。Telegramボットとの連携により、オペレーターのTelegramアカウントに通知が届くほか、Telegramのメタデータは召喚状によって開示を求められる可能性があります。NiceNIC(フロントエンドのレジストラ)は、私たちが 以前に調査された、しかし PDR Ltd.(C2ドメイン登録事業者) 法執行機関からの要請には応じている. その defex.cc drainerキットは255以上のドメインで利用されている――defex.ccが侵害されれば、DaaS事業全体とその顧客すべてがさらされることになる。

 並べて比較:4つの操作、同じパターン

メートル法 mn19indexpre
Express.js
web3ledgar
Firebase
web3safe-pal
Supabase
aipolypredictor
ドレイナー C2
認証なし(トークンは無視されます)なしJSにおけるAnonキーなし (CORS: *)
データが読み取り可能メッセージ/中継すべてのシードフレーズすべてのシードフレーズ求人ID/規模
データ書き込み可能はい(無制限)はいはい(完全なCRUD)はい(送信)
入力の妥当性チェックゼロゼロゼロミニマル
レート制限なしなしなし60秒あたり10リクエスト
匿名化解除可能MS365テナントGoogleアカウント再送信 + Supabaseの請求PDR + Telegram
推定犠牲者数不明12131+19,000+
オペレーター言語不明英語ロシア語不明

 なぜ詐欺師はハッカーではないのか

その証拠は圧倒的です。4つの作戦すべてにおいて、同じパターンが見られます:

 詐欺師の手口
  • 既製の水切りキットを購入する(200~500ドル)
  • 無料プラン(Firebase、Supabase)でのデプロイ
  • デフォルトの設定は変更しないでください
  • 検証されないハードコードされたトークンを使用する
  • RLSを有効にしたり、CORSを制限したりしてはいけません
  • メタデータに自身の身元を明かす
  • その規模がわかるような連番のIDを使用する
 ハッカーならどうするか
  • カスタム情報漏洩ツールを作成する
  • 暗号化および認証済みの通信経路を使用する
  • 識別子のランダム化、インフラのローテーション
  • 適切なアクセス制御を実施する
  • Torやプロキシチェーンの利用、匿名決済
  • 運用上のIDとホスティングを分離する
  • フォレンジック対策技術を導入する

「Drainer-as-a-Service」の平均的な顧客は、 クレジットカードを持ったソーシャルエンジニア、技術的なオペレーターではありません。彼らはドメインの登録方法や、ホスティングパネルにコードを貼り付ける方法を知っています。しかし、以下のことはできません:

これらは、高度な能力を持つ敵ではない。 これらは、データベースの設定ができない人たちです。

 侵害の兆候(IOC)

ドメイン

# Case 1: Express.js API server0002.mn19indexpre.xyz # Case 2: Firebase Stealer web3ledgar.com web3.ledgerscore.ltd # Case 3: Supabase Stealer web3safe-pal.com # Case 4: Drainer Campaign aipolypredictor.xyz API.yfhikblkhghdyteiuyf54.run yfhikblkhghdyteiuyf54.run renderer-postcard.defex.cc solana.onspace.app solxjup.onspace.app jupag.onspace.app jupiverse.onspace.app stakepayment.icu jup-v2.com events-charizard.fun events-llquid.fun events-blackswan.fun soljup.onspace.build

IPアドレス

108.181.185.225 # Case 1 — Express.js (dedicated) 172.67.168.147 / 104.21.26.231 # Case 4 — C2 API (Cloudflare) 172.67.178.251 / 104.21.67.171 # Case 4 — Frontend (Cloudflare) 172.67.209.39 / 104.21.37.139 # Case 4 — defex.cc (Cloudflare) 43.130.171.152 / 43.130.171.225 # Case 4 — onspace domains (Tencent)

APIキーとプロジェクトID

# Firebase (Case 2) プロジェクト:web3ledger-210ab APIキー:AIzaSyCv8e-Gl7nK1RPpfNkJt-WjSZiaoe4AsL8 アプリID: 1:1054258933515:web:9fb193fcd0093023f7fc0e # Supabase (Case 3) プロジェクト:gzqsadraigchwdhblavp 匿名キー:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... # Campaign Tracking (Case 4) バンドル 1: 88ef78f56e0837dd0339e40a882bf563 バンドル 2: 4446ea5ddb308b2494db8ad4b12196c3 # Microsoft Tenant (Case 1) NETORGFT19090185.onmicrosoft.com

 結論:『皇帝の新しい服』

 要点

私たちが分析したすべての詐欺手口は、 完全に侵害され、匿名性が解除され、機能停止に追い込まれた ウェブブラウザ、curl、そして公開されているドキュメントだけを利用して。いずれの場合も、攻撃者はデータベースを無防備なままに放置し、APIキーを公開されているJavaScriptファイル内に残し、自身の身元情報をメタデータに明記し、被害者のデータを、わざわざ調べようとする者なら誰でもアクセスできる状態にしていた。

その教訓は単純です: 詐欺師はハッカーではない。彼らはAliExpressでピッキングセットを購入したにもかかわらず、自宅の玄関の鍵をかけるのを忘れてしまった万引き犯のようなものだ。彼らが使用するツールは洗練されている――それは、誰かが代わりに作ってしまったからだ。運営者自身は素人であり、基本的な技術知識さえあれば誰でも、自分たちのインフラや被害者のデータ、さらには自身の身元を容易に暴いてしまう。

もしこれらのサイトのいずれかでシードフレーズを入力してしまった場合は、ウォレットが乗っ取られたと想定し、直ちに資金を移してください。

すべての調査結果は、関連するサービスプロバイダー(Google/Firebase、Supabase、Cloudflare、ドメイン登録業者)に報告され、法執行機関向けに記録として残されています。上記のIOCは、 PhishDestroy 削除リスト.

この調査を共有する

X / Twitter Telegram Reddit LinkedIn

関連する調査

BUYTRXの全貌:55のドメインとTRONの承認権限を悪用する攻撃
調査
BUYTRXの全貌:55のドメインとTRONの承認権限を悪用する攻撃
「Crypto Drainer」ツールキット:Angel Drainerの販売業者が暴露される
徹底調査
「Crypto Drainer」ツールキット:Angel Drainerの販売業者が暴露される
TDSのケイタロウ:1,500枚のパネルが公開されたが、正当な用途はゼロ
調査
TDSのケイタロウ:1,500枚のパネルが公開されたが、正当な用途はゼロ
透明性に関するお知らせ。 PhishDestroyは、非営利の独立プロジェクトです。私たちの調査には、詐欺インフラやそれを可能にするサービスに対する固有の偏見が反映されている可能性があります。読者の皆様には、すべての情報を批判的かつ独自に評価していただくようお願いいたします。 当社の透明性に関する声明全文はこちら →