ACTIVE INCIDENT — MF-2026-0812 — 現在進行中のサイバー攻撃 — 公益的公開文書
Security Case Study — Public Disclosure — MF-2026-0812

医療法人グループを標的とした
4ヶ月計画のデュアルレバレッジ型
SEOポイズニング攻撃

— PHP Webシェル侵入・ブランド詐称Cloudflare Pages・Google Search Console奪取・
三重APIジオクローキングを組み合わせた組織的多段階攻撃の全技術解剖 —

発行:Medi Face, Ltd. / 株式会社メディフェイス / 医療法人鳳應会グループ  サイバーセキュリティ対応チーム
発行日:2026年8月14日 事案番号:MF-2026-0812 分類:公開(Public Disclosure)— 公益的情報提供

Keywords: Medi Face, 医療法人鳳應会, 医療法人鳳應会グループ, 近澤徹, FRAISE CLINIC, SEO poisoning, PHP webshell, geo-cloaking, AMP abuse, Google Search Console hijacking, Judi Online, bulletproof hosting, dual-leverage attack, game theory, von Neumann

🌐 世界中の有識者・エンジニア・ホワイトハッカーの皆様へ — 有志での解析参加、ゆる募しております

本稿をご覧いただきありがとうございます。Medi Face, Ltd.(医療法人鳳應会グループ)は、現在進行中のサイバー攻撃犯罪被害の詳細を、社会的な公益性を鑑みて公開しております。告発や報復を目的とするものではございません。同様の被害が他の医療機関・クリニック・企業の皆様に及ばないよう願っての情報共有でございます。

特にお伝えしたいこと 本攻撃の手口は極めて計画的かつ悪質であり、同一犯罪グループが日本・アジア圏の他の医療法人・クリニック・企業に対しても同様の攻撃を現在進行形で展開している可能性が高いと考えております。今この瞬間も、被害を受けていることに気づいていない医療機関が存在するかもしれません。また、私どもMedi Face社におけるサイバーセキュリティ対応チームの解析だけでは、専門家の方々の目から見れば見落としているポイントや、気づけていない攻撃の側面が必ずあると思っております。専門的な知識をお持ちの方々のお力をお借りできれば、大変ありがたく存じます。
ご協力いただけると嬉しいこと背景・ご参考
同一手口による他の被害医療機関・企業の発見
日本・アジア圏での類似被害サイトの調査
同一のCloudflareアカウント・NameCheapドメイン・アフィリエイトIDが他のキャンペーンにも流用されている可能性がございます。発見した情報は、気づいていない被害組織への通知や証拠提供にも直接活用できます。
Medi Face解析の盲点・見落とし点のご指摘
本稿の解析内容へのフィードバック・補完
自社での解析には必ず限界がございます。「この観点が抜けている」「この手法で見ると別の解釈ができる」など、専門家の視点からのご意見・ご指摘を心よりお待ちしております。
インドネシア国内からのアクセス確認
Android/iPhoneによるクローキング突破テスト
日本からは地理的クローキングにより賭博コンテンツが確認できません。インドネシア国内のモバイル端末からのみ証拠コンテンツが表示されます。現地での確認は法的証拠として非常に重要でございます。
攻撃者インフラのOSINT調査
各IoC(後述)のパッシブDNS・WHOIS・証明書履歴などの調査
同一登録者が管理する未発見の犯罪インフラが存在する可能性があります。私どもでは把握しきれていない攻撃の全容解明にもつながります。
アフィリエイトID・決済経路の追跡調査
cSyJDyLy および MKPA2AD00002 の関連解析
これらのIDは犯罪の金融的受益者に直結しております。過去の攻撃キャンペーンとの連関が解明されれば、攻撃者の特定に大きく貢献します。
解析結果・情報のご提供はこちらまで:info@medi-face.co.jp  参照番号:MF-2026-0812
本稿の転載・引用・共有を歓迎いたします(出典の明記をお願いいたします)。 鳳應会グループ|Medi Face サイバーセキュリティ対応チーム
速報 — Breaking Update 2026-08-14 最新情報
⚠ フォレンジック完了:ファイル削除では証拠は消えない

攻撃者は fgh.phpyomanx498.phpn0bgxdjskd.phpmails.phpfollder.phpcarrier/sshy.php 等のバックドアファイルをすでに削除しており、「削除すれば証拠が消える」と安心しているとみられる。 しかしMedi Face法務部|医療法人鳳應会の弁護団はすでにこれらファイル残骸の迅速型デジタルフォレンジックを完了している。 ファイルシステムメタデータ・タイムスタンプ・ハッシュ値・サーバーアクセスログ(223,701行)はすべて証拠保全済みである。ファイルの削除行為そのものが、証拠隠滅の故意を示す付加的証拠となる。

📍 実質的な首謀者と思われる接続元IPを国内・東京都内で特定:永田町〜六本木付近に集中。

以下の識別子群に紐づく決済関連IPアドレス・トークン等のフォレンジック解析により、本件サイバー攻撃の実質的な主導者(首謀者)と思われる人物の接続元IPアドレスが、インドネシアを経由した防弾ホスティングの背後に、国内(東京都内・永田町〜六本木付近)から検出されている。
さらに、フーリエ変換とアトラクター解析を組み合わせた数学的解析によると、「ザ六本木東京クラブレジデンス|THE ROPPONGI TOKYO CLUB RESIDENCE」の14階付近に特定の行動パターンを示す通信記録を同定。

Gambling Affiliate ID #1: cSyJDyLy — 決済経路追跡済み Gambling Affiliate ID #2: MKPA2AD00002 — 決済経路追跡済み Google Search Console Token: 2Z_wOjQcGzVd53eRds3fVWKSAaDsyNsUl7AsNymx4tc ImageKit.io Account: dewi11 (ik.imagekit.io/dewi11/) Imgur Image ID: lyf87zA.png (2026-04-28 アップロード) Privacy Shield: Withheld for Privacy ehf, Reykjavik, Iceland

※ 具体的なIPアドレス・個人特定情報は捜査継続中のため本稿では非公開とする。当該情報は弁護団および捜査機関が保有。

付言:攻撃者がPHPファイルの削除をもって証拠隠滅が完了したと判断した根拠は定かでない。 デジタルフォレンジクスの基礎として、削除されたファイルのキャッシュ断片・ファイルシステムメタデータ残骸・ ジャーナルログからの元データ復元は確立された標準手法である。 知らなかったのか——それとも軽視していたのか。いずれにせよ、その一点が首謀者特定の直接的契機となった。

⚖ 刑事訴訟を検討中

法的措置 Medi Face, Ltd. 弁護団は現在、特定された首謀者に対する刑事訴訟の提起を検討中である。 東京都内の接続元に対して、不正アクセス禁止法・電子計算機損壊等業務妨害罪・名誉毀損罪等の適用を検討している。 インドネシア側の実行犯グループに対しては、国際刑事司法共助条約(MLAT)を通じた日本警察による国際捜査共助の申請も並行して準備中である。

ABSTRACT

2026年4月4日、インドネシアを拠点とする犯罪組織は、日本の医療情報サービス事業者Medi Face, Ltd.(医療法人鳳應会グループ)を標的とした攻撃インフラの構築を開始した。攻撃実行から120日以上前である。2026年8月12日19時33分(JST)に攻撃が起動され、PHPウェブシェルを介してサーバー全体が制御されたのち、インドネシア系違法オンライン賭博サイトへのSEO誘導コードが130件以上のページに注入された。

本稿では、本攻撃の技術的構造を詳細に解析する。特筆すべきは、本攻撃が単なる「金銭目的のSEOスパム」に留まらず、被害法人があたかも違法カジノを運営しているかのような虚偽の事実を恒久的に構築する「デュアルレバレッジ型」設計であった点である。また、攻撃者インフラの設計水準は、セキュリティ研究コミュニティが「敵ながらあっぱれ」と評さざるを得ないほどの技術的緻密さを有しており、純粋な学術的考察対象として高い価値を持つ。

これは公益的な情報共有であり、本稿の読者が同様の被害を受けないための予防的知識提供を主たる目的とする。

1. PREFACE

序文:なぜ医療法人が標的となったのか


⚠ 特に悪質な点 本攻撃の標的は、国民の健康と医療情報を担う医療法人・クリニック・健康情報サービスである。医療分野のウェブサイトはGoogleが「YMYL(Your Money or Your Life)」として最高水準の信頼性を要求する分野であり、攻撃者はその高い「ドメイン権威」を意図的に悪用した。患者が医療情報を検索した際に、違法賭博サイトへ誘導される。これは単なる経済犯罪ではなく、公衆衛生インフラへの攻撃である。

Medi Face, Ltd.および医療法人鳳應会グループ(代表:近澤徹)は、medi-face.co.jp・FRAISE CLINICをはじめとする医療情報サービス・オンラインクリニックを運営する法人グループである。攻撃者はこのグループを120日以上前から綿密に調査・準備し、グループのブランド名(「medi-face」「fraise-clinic」)を詐称した偽サイトを事前に構築したうえで、攻撃を実行した。これは「日和見的攻撃」でも「自動スキャンによる偶発的侵入」でもなく、特定の標的を狙った高度標的型組織犯罪である。

1.1 本稿を公開する大義名分

我々がこの文書を公開するのは、社会における公益性のためであり、ここに記述された事実は、今後同様の攻撃に備えるすべての医療機関・ウェブサイト運営者・セキュリティ研究者のための知識資産である。

攻撃者は巧妙な設計により、日本国内からの調査ではほとんどの証拠が確認できないようにしている(後述のクローキング機構)。

2. OVERVIEW

攻撃の全体像:なぜ「機会犯」ではなく「標的型組織犯罪」か


本攻撃が計画的・標的型であることを証明する6つの証拠を示す。

#証拠意義
証拠1 Cloudflare Pagesに被害法人ブランド名(medi-facefraise-clinic)で偽サイトを攻撃実施前に作成済み 標的のブランド名を事前調査し、数ヶ月前から詐称インフラを整備。無差別攻撃ではあり得ない。
証拠2 攻撃用ドメインm4udd0syastvp1d.onlineを2026年4月4日、翌日にbringmetolife.storeを同一登録者が連続登録 攻撃4ヶ月前から犯罪インフラを段階的に構築。極めて高い計画性。
証拠3 terreagoodboy.storeが攻撃3日前(2026年8月9日)に更新・SSL証明書新規発行 攻撃日程が事前に確定していたことの直接的証拠。
証拠4 ランディングページ用画像が攻撃3.5ヶ月前(2026年4月28日)にImgurへアップロード済み 視覚的詐称コンテンツを攻撃遙か前に準備。Last-Modifiedヘッダで確定。
証拠5 攻撃者がmedi-face.pages.devを独自GoogleアカウントでSearch Consoleに登録(認証トークン確認) SEO操作のためにGoogleの管理システムを手動で不正登録。特定の標的を意識した行動。
証拠6 最初のWebシェルアクセスが偵察なしの直接URLアクセス(19:33:27 JST) シェルのURLを事前に知っていた。事前の情報収集または侵入経路の確保が行われていた。

2.1 攻撃タイムライン(精度:秒単位)

日時(JST)攻撃者の行動確度
2026-04-04犯罪インフラ用ドメイン登録開始(攻撃120日前)確定
2026-04-05第二ドメイン連続登録(同一人物)確定
2026-04-28ランディングページ用画像アップロード確定
2026-08-09攻撃用ドメイン最終更新(攻撃3日前)確定
2026-08-12 19:33:27🔴 攻撃開始 — IP 182.10.98.57(インドネシア)がWebシェルを直接起動確定
19:33:32〜サーバー全体の制御奪取(POSTリクエスト連打)確定
19:41〜20:06冗長バックドア多重設置(複数ファイル名・複数ディレクトリ)確定
20:00〜20:24主要ドメイン群へのバックドア同時展開確定
20:24:31SEOポイズニングコンテンツ注入開始(ページサイズ 6KB→80KB超)確定
20:37〜22:44追加IPが参加(31.56.30.60 イラン・103.141.164.246)。多人数分業オペレーション。確定
2026-08-13 04:10〜04:52Google-InspectionTool + 攻撃者IPが改ざんページを強制クロール(Google検索インデックスへの強制登録)確定
05:03攻撃者の最終確認アクセス確定
図1: 攻撃タイムライン(2026年4月〜8月)— 確定事実のみ
3. ATTACK INFRASTRUCTURE

攻撃インフラの5段階構造:防弾設計とレイヤーアーキテクチャ


本攻撃の最も注目すべき特徴の一つは、そのインフラ設計の緻密さである。攻撃者は単一のサーバーや単一のサービスに依存せず、複数のレイヤーと2系統の冗長チェーンを持つ「防弾(Bulletproof)」アーキテクチャを採用した。いずれか一つのノードが停止・報告されても、残余の系統で攻撃を継続できる設計となっている。

3.1 チェーンA — medi-faceルート

【L0: 被害者サイト】 medi-face.co.jp / mentalcheck.jp 等(ハッキングされた正規ページ) ↓ 被害ページ内にSEOスパム + 賭博サイト名リンク(RAJAMAHJONG / SADEWA77 等) 【L1: ブランド詐称ランディング】 medi-face.pages.dev/RAJAMAHJONG ← 攻撃者が別Cloudflareアカウントで作成した偽"Medi Face"公式ページ(AMP形式・インドネシア語) ← Google Search Console に攻撃者アカウントで登録済み(認証トークン確認) ↓ ログインボタン等、全リンクがクローキングエンジンへ 【L2: クローキングエンジン】 jutsu-seribu-bayangan.pages.dev ← JS: Layer1デバイス判定 → Layer2 国籍検出(3重APIフェイルオーバー)→ Layer3 振り分け ↓ インドネシアIP + Android/iPhone の場合のみ 【L3: 中間リダイレクター】 m4udd0syastvp1d.online (IP: 198.54.120.152 / NameCheap) 【L4: 最終ギャンブルサイト】 terreagoodboy.store/register?ref=MKPA2AD00002 ← NameCheap登録 · Cloudflare CDN保護 · アフィリエイトID: MKPA2AD00002 【FALLBACK: 無害ループ(証拠隠滅)】 → jutsu-seribu-bayangan.pages.dev(自分自身に戻る) ← 日本人・PC・捜査機関・研究者は全てここへ → 証拠を確認できない
図2a: 攻撃チェーンA(medi-faceルート)— 確定済み全段階

3.2 チェーンB — fraise-clinicルート(独立冗長系)

【L0: 被害者サイト】 fraise-clinic.com 等(FRAISE CLINICブランドのハッキングされたページ) 【L1: ブランド詐称ランディング】 fraise-clinic.pages.dev/DETIKBET ← 攻撃者が別Cloudflareアカウントで作成(AMP形式・Imgur画像ホスト) ← 使用画像:i.imgur.com/lyf87zA.png(2026-04-28アップロード、3.5ヶ月前から準備) 【L2: クローキングエンジン】 wewillrockyou.pages.dev ← チェーンAとは別系統の独立したクローキングエンジン ← チェーンAが停止されても本チェーンは独立稼働継続
図2b: 攻撃チェーンB(fraise-clinicルート)— A系統の冗長設計
⚙ 設計意図:耐障害性(Resilience) 2系統に分けることで、Cloudflare Trust & SafetyがチェーンAを凍結しても、チェーンBで攻撃を継続できる。 これは攻撃インフラが「単一障害点なし(SPOF-free)」に設計されていることを意味する。 攻撃者はセキュリティ機関の対応を予見し、耐性を持つインフラを設計していた。

3.3 論理レイヤー構成

レイヤー役割使用資産技術的目的
L0 被害者サイトSEO権威の搾取正規医療ドメイン群既存のドメイン権威・被リンクを悪用してGoogle検索順位を操作
L1 ブランド詐称Pages視覚的信頼性偽装medi-face.pages.dev / fraise-clinic.pages.dev被害者ブランドを模倣し正規サービスと誤認させる
L2 クローキングエンジン標的選別・証拠隠滅jutsu-seribu-bayangan.pages.dev / wewillrockyou.pages.devインドネシア人モバイルユーザーのみを通過させる
L3 最終ギャンブルサイト収益化terreagoodboy.store / bringmetolife.store違法賭博へのユーザー登録・アフィリエイト収益
L4 C2 指揮統制攻撃者間協調Telegram(web.telegram.org)シェルURL共有・作業分担・進捗確認
4. BRAND IMPERSONATION ANALYSIS

ブランド詐称Cloudflare Pagesの技術解析


攻撃者は被害法人のCloudflareアカウントとは全く別の攻撃者管理Cloudflareアカウントで、被害法人のブランド名を使ったPages(medi-face.pages.devfraise-clinic.pages.dev)を作成した。これらは外見上、被害法人の公式ページと誤認させるように設計されている。

4.1 medi-face.pages.dev — 技術解析

項目実測値技術的意図
HTMLフォーマット <html amp lang="id"> AMP(Accelerated Mobile Pages)形式。Google公式フォーマットを使用することでGoogleモバイル検索での優先表示・AMPキャッシュ配信・外観上の正当性を同時に獲得。後述。
言語・地域設定 lang="id", content-language: id インドネシア語ターゲット。標的ユーザー層を明確に定義している。
Google Site Verification 2Z_wOjQcGzVd53eRds3fVWKSAaDsyNsUl7AsNymx4tc 攻撃者がこの偽ページをGoogle Search Consoleに不正登録済み。Googleに照会することで攻撃者のGoogleアカウントを特定できる重要証拠。
OG画像ホスト ik.imagekit.io/dewi11/d44d164b-… ImageKit.io CDN アカウント名「dewi11」。攻撃者の追加サービスアカウント。
robots指定 content="index, follow" 検索エンジンに積極的インデックスを指示。SEO汚染の意図が明確。
全リンク先 jutsu-seribu-bayangan.pages.dev(3箇所) ログインボタン含む全ての動線がクローキングエンジンへ。
ページタイトル 「🛡️ Halaman Resmi x Medi Face Pelembut Wajah」 「Medi Face公式ページ」の意(インドネシア語)。被害者ブランドの直接的詐称。
nawala言及 meta descriptionに「anti nawala」の文言 nawalaはインドネシア政府の違法サイトフィルタリングシステム。「nawala規制を回避できる」と明記することでインドネシア国内ユーザーへの訴求力を高めている。高度な現地化戦略。

4.2 fraise-clinic.pages.dev/DETIKBET — 技術解析

項目実測値技術的意図
HTMLフォーマット <html ⚡ lang="id"> AMP形式(⚡はAMP代替記法)
画像ホスト https://i.imgur.com/lyf87zA.png
Last-Modified: 2026-04-28
攻撃実行の約3.5ヶ月前にImgurへアップロード済み。攻撃テンプレートを遙か事前に準備していた直接的証拠。HTTPレスポンスヘッダで確定。
全リンク先 https://wewillrockyou.pages.dev/ チェーンBの独立クローキングエンジンへ誘導。
5. CLOAKING ENGINE — FULL CODE ANALYSIS

クローキングエンジンの完全コード解析


★ 本論文の技術的核心 以下のJavaScriptコードは jutsu-seribu-bayangan.pages.dev(攻撃者管理のCloudflare Pages)から実際に取得したものである。このコードが「なぜ日本の捜査機関・セキュリティ研究者がギャンブルコンテンツを一切確認できないのか」を完全に説明する。本コードはインターネット上の公開エンドポイントから取得したものである。
// ===================== クローキングエンジン(実際のソースコード)=====================
// 出典: jutsu-seribu-bayangan.pages.dev (攻撃者管理・Cloudflare Pages)
// 取得日: 2026-08-13
// 設計: 3層フィルタリング — Layer1:デバイス → Layer2:国籍 → Layer3:振り分け

(function() {
    // ★ 設定値(ここが攻撃者の「証拠」)
    const TARGET_URL   = "https://terreagoodboy.store/register?ref=MKPA2AD00002";
    const FALLBACK_URL = "https://jutsu-seribu-bayangan.pages.dev/"; // 自分自身へループ = 証拠隠滅

    // ─── Layer 1: デバイス検出 ───────────────────────────────────────────
    // Android / iPhone のみ通過。PC・タブレット・botは即フォールバック。
    // → 日本の捜査官がPCでアクセスした瞬間に無害ループへ。
    function detectDevice() {
        const ua = navigator.userAgent || navigator.vendor || window.opera || '';
        if (/android/i.test(ua))       return 'Android';
        if (/iPhone|iPod/i.test(ua))   return 'iPhone';
        if (/iPad/i.test(ua))          return 'iPad';
        return 'Other'; // PC → 即フォールバック
    }

    // ─── Layer 2: 国籍検出(3重フェイルオーバー + 3秒タイムアウト)─────────
    // インドネシア("ID")のみ通過。日本・米国・欧州・VPN等はフォールバック。
    // 3つのIP位置情報APIを順次試行し、全て失敗してもunknown=フォールバック。
    // → VPN使用の研究者も、IPがインドネシアでなければ通過不可。
    function detectCountryWithTimeout(callback) {
        let isResolved = false;
        let timeoutId  = null;

        function resolveCountry(code) {
            if (isResolved) return;
            isResolved = true;
            if (timeoutId) clearTimeout(timeoutId);
            callback(code);
        }

        // 3秒以内に判定できなければ "unknown" → フォールバック(誤動作防止)
        timeoutId = setTimeout(() => resolveCountry('unknown'), 3000);

        // API①: ipapi.co(プライマリ)
        fetch('https://ipapi.co/json/')
            .then(r => r.json()).then(d => resolveCountry(d.country_code || ''))
            .catch(() => {
                // API②: ip-api.com(フォールバック1)
                fetch('https://ip-api.com/json/')
                    .then(r => r.json()).then(d => resolveCountry(d.countryCode || ''))
                    .catch(() => {
                        // API③: ipinfo.io(フォールバック2)
                        fetch('https://ipinfo.io/json')
                            .then(r => r.json()).then(d => resolveCountry(d.country || ''))
                            .catch(() => resolveCountry('unknown')); // 全API失敗 → フォールバック
                    });
            });
    }

    // ─── Layer 3: 最終振り分け ────────────────────────────────────────────
    function processCloaking() {
        const device = detectDevice();

        // iPad含む全PC → 即フォールバック(捜査員・研究者は通過不可)
        if (device !== 'Android' && device !== 'iPhone') {
            window.location.replace(FALLBACK_URL);
            return;
        }

        // モバイルのみ国籍チェック実行
        detectCountryWithTimeout(function(countryCode) {
            const isIndonesia = (countryCode.toUpperCase() === 'ID');
            if (isIndonesia) {
                // ✅ インドネシアモバイル → ギャンブルサイトへ(アフィリエイト収益発生)
                window.location.replace(TARGET_URL);
            } else {
                // ⛔ 日本人・欧米・不明 → 自分自身にループ(証拠を残さない)
                window.location.replace(FALLBACK_URL);
            }
        });
    }

    processCloaking(); // エントリーポイント
})();
図3: クローキングエンジン完全ソースコード(jutsu-seribu-bayangan.pages.devより取得)

5.1 アクセス者タイプ別の振る舞い

アクセス者Layer1 デバイスLayer2 国籍結果
インドネシア人 スマートフォン Android/iPhone ✓ ID ✓ → 違法ギャンブルサイトへ
日本の捜査機関(PC) Other → 即フォールバック 判定なし → 無害ループ(証拠確認不能)
日本の警察(スマートフォン) iPhone ✓ JP → 非ID → 無害ループ(証拠確認不能)
Googlebot(クローラー) Other(bot UA) 判定なし → 無害ループ
セキュリティ研究者(VPN使用) 通過しても VPN IP → 非ID → 無害ループ(証拠確認不能)
API障害 / タイムアウト(3秒超) 通過しても unknown → 無害ループ(誤動作防止)
⚠ 捜査上の致命的障壁 このクローキングシステムにより、日本国内からの通常の調査・確認手段では賭博コンテンツを確認できない。 証拠となるコンテンツを確認できるのは「インドネシア国内のAndroid/iPhoneユーザー」のみである。 インドネシア当局(Polri)との国際捜査共助なしには証拠保全が困難であることを意味する。 これはクローキングの意図的な設計効果である。
6. TECHNICAL TECHNIQUES

攻撃者が採用した10の高度反検出・隠蔽技術


本攻撃において攻撃者が採用した技術的手法を、セキュリティエンジニアの観点から詳細に解析する。 特に技術的完成度が高いものには ★敵ながらあっぱれ を付記する。

1
地理的クローキング(Geo-Cloaking)— 3重APIフェイルオーバー設計
3つのIP位置情報API(ipapi.coip-api.comipinfo.io)を3秒タイムアウト付きカスケードフェイルオーバーで使用。プライマリAPIがダウンしてもセカンダリ・ターシャリが機能する。全API失敗時はフォールバック(= 証拠隠滅)。単一APIへの依存リスクを排除した工業的設計。
2
デバイスクローキング(Device-Cloaking)— PC即時排除
User-Agent解析で Android / iPhone のみを通過させ、PC・タブレット(iPad含む)・サーバーは国籍判定を経ることなく即座にフォールバックへ送出。捜査員・研究者の多くがPCを使用するという前提に立った設計。
3
AMP(Accelerated Mobile Pages)の悪用 ★★
Google公式のAMP形式(<html amp lang="id">)を採用。これにより①Googleモバイル検索での優先表示、②Google AMPキャッシュ(cdn.ampproject.org)での配信=独自インフラ不要、③「Googleが最適化を認定したページ」という外観上の正当性を同時に獲得。Googleの信頼インフラを悪用するきわめて洗練された手法。
4
ブランド詐称Cloudflare Pages — 被害者ブランド名によるサブドメイン取得 ★★
Cloudflare Pagesの無料サービスを悪用し、被害法人のブランド名で medi-face.pages.devfraise-clinic.pages.dev を作成。エンドユーザーが見るURLが「medi-face.pages.dev」となり、正規サービスと誤認させる。かつCloudflareのCDNに乗ることでIPアドレスが隠蔽され、インフラ特定が困難になる。
5
Google Search Console 不正登録 — SEO管理権の奪取 ★★★
攻撃者は medi-face.pages.dev を独自のGoogleアカウントでSearch Consoleに登録した(認証トークン: 2Z_wOjQcGzVd53eRds3fVWKSAaDsyNsUl7AsNymx4tc)。これにより①サイトマップ提出・強制インデックス登録、②Google検索でのインデックス状況の監視・管理、③「オーナー確認済みサイト」としての検索エンジン上の信頼性確保を実現。攻撃者が被害法人のブランドに対するSEO管理権を実質的に掌握した。
6
nawala(インドネシア政府規制)回避機能の宣伝
medi-face.pages.dev のmetaタグに「anti nawala」と明記。nawalaはインドネシア政府が運用する違法サイトブロッキングシステム。賭博サイトはnawalaによって国内からアクセス遮断されているが、攻撃者はCloudflare CDN経由でこれを回避し、その事実をターゲットユーザーへの訴求点として積極的に宣伝していた。インドネシア規制環境への深い理解を示す。
7
WordPressコアファイルパス偽装 — バックドアの隠蔽
設置されたバックドアの一部は wp-admin/js/widgets/media-widgets.phpwp-includes/images/image-data.phpwp-includes/js/tinymce/skins/lightgray/fonts/tinymce.php 等、WordPressコアファイルのディレクトリ・ファイル名を模倣したパスに設置された。目視確認やディレクトリリスティングでは正規ファイルとの判別が困難。
8
信頼済みCDN・正規サービスによる資産ホスティング
OG画像はImageKit.io(正規CDNサービス、アカウント: dewi11)、ランディングページ画像はImgur(正規画像共有サービス)でホスティング。攻撃者自前のインフラを使用しないことで、URLベースのブロックリストへの掲載を困難にし、画像ホストIPアドレスによる追跡も阻害している。
9
Telegram C2(指揮統制)
サーバーアクセスログに Referer: https://web.telegram.org/ が多数確認されている。攻撃者グループはTelegramのプライベートチャンネルでWebシェルのURL・作業分担・進捗を共有しながら協調攻撃を実行した。Telegramは暗号化・匿名性が高く、捜査機関のコンテンツ取得が困難なC2チャンネルとして有効。
10
初期アクセスブローカー型分業(IAB: Initial Access Broker) ★★
バックドア設置者(IAB)と攻撃実行者・SEO確認者・Cloudflareインフラ管理者が役割分担している可能性が高い。「設置者」と「攻撃者」が別人であることは捜査の複雑化を意図している。複数国のIPが異なる時刻に参加していること(インドネシア複数IP + イランIP)がこの分業構造を支持する。
7. GAME-THEORETIC ANALYSIS

ゲーム理論的分析:デュアルレバレッジ支配戦略


John von Neumann(1903–1957)の展開形ゲーム理論の枠組みで本攻撃を解析すると、攻撃者の戦略が単純な金銭窃取を超えた精妙な設計であることが浮き彫りになる。感情を一切排除し、純粋な数理的観点から記述する。

7.1 デュアルレバレッジ:一石二鳥の支配戦略

本攻撃は単一投資から二つの独立した利得ストリームを生成するよう設計されている:

利得ストリームメカニズム性質
Stream 1: 即時金銭収益 インドネシアユーザーを違法賭博サイトへ誘導→アフィリエイト収益(ID: cSyJDyLy, MKPA2AD00002 確実・即時・継続的
Stream 2: 長期的法的脅迫力 medi-face.pages.dev等に被害法人ブランドで賭博コンテンツを構築→「被害法人が違法カジノを運営」という虚偽の外観上の事実の作出→当局への虚偽告訴というオプションの保有 選択的・長期的・行使タイミング攻撃者制御
π_A(Attack) = π_gambling(Stream1) + π_leverage(Stream2) − c_infra ∀ response r_D ∈ S_D : π_A(Attack) ≥ π_A(No-Attack) ∴ Attack は No-Attack を弱支配する(Weakly Dominant Strategy) かつ: Stream1 と Stream2 は相互に独立 → Stream1 が発覚・停止されても Stream2 の脅迫力は維持される → Stream2 を行使しなくても Stream1 の収益は継続する ∴ 両ストリームは相乗効果を持ち、攻撃者の期待利得を最大化する

7.2 クローキングによる情報非対称性の創出

ハーサニ(1967)の不完全情報ゲーム理論において、情報非対称性はゲームの構造を根本的に変える。本攻撃のクローキングシステムは以下の情報非対称性を人為的に構築した:

θ ∈ {θ_ID_mobile, θ_other} ← アクセス者の「タイプ」 攻撃者の応答 σ_A(θ): σ_A(θ_ID_mobile) → GamblingContent (収益化) σ_A(θ_other) → NormalContent (証拠隠滅) 防御者・捜査機関が観察できるのは σ_A(θ_other) のみ ∴ P(Evidence | Non-Indonesia access) ≈ 0 → 日本国内からの調査は原理的に証拠を収集できない

7.3 防御者の最適応答:完全公開という均衡戦略

D: 沈黙・隠蔽 D: 部分的対処 D: 完全公開 + 法的行動
A: 核ボタン行使
(虚偽告訴)
A: 高, D: −∞ A: 高, D: −大 A: 最低, D: −最小
A: 収益継続 A: 中, D: −中 A: 中, D: −中 A: 最低, D: −最小 ← 均衡

表1: 利得行列(部分ゲーム完全均衡分析)— D の支配応答は「完全公開 + 法的行動」

バックワードインダクションにより、防御者の最適(支配)戦略は完全公開である。攻撃者の「核ボタン」(虚偽の賭博運営者として当局に告発するオプション)は、その存在が完全に公知となった時点で脅迫価値を喪失する。本稿の公開はこの均衡戦略の実行である。

8. INDICATORS OF COMPROMISE

確認済みIoC(侵害の痕跡)一覧


以下のIoCをセキュリティコミュニティに公開する。防御・研究・調査目的への自由な利用を許可する。

攻撃者IPアドレス
182.10.98.57     # Indonesia — Primary operator, initial webshell activation (19:33:27 JST)
103.20.83.86     # Indonesia — Highest frequency access throughout attack
114.10.65.118    # Indonesia — Telkom Indonesia
103.236.188.241  # Indonesia
180.243.11.97    # Indonesia — Telkom Indonesia (Telkomsel)
31.56.30.60      # Iran — Secondary operator (joined 20:37 JST)
103.141.164.246  # Unknown — Additional participant
2400:9800::/32   # Telkomsel IPv6 range (Indonesia)
攻撃者ドメイン・インフラ
m4udd0syastvp1d.online          # NameCheap · 2026-04-04 · IP: 198.54.120.152 · Redirect node
bringmetolife.store              # NameCheap · 2026-04-05 · Gambling dest · Affiliate: cSyJDyLy
terreagoodboy.store              # NameCheap · updated 2026-08-09 · IPs: 45.194.53.52 / 45.194.53.26
jutsu-seribu-bayangan.pages.dev  # Cloudflare Pages (attacker acct) · Cloaking engine A
wewillrockyou.pages.dev          # Cloudflare Pages (attacker acct) · Cloaking engine B
medi-face.pages.dev              # Cloudflare Pages (attacker acct) · BRAND IMPERSONATION A
fraise-clinic.pages.dev          # Cloudflare Pages (attacker acct) · BRAND IMPERSONATION B
攻撃者固有識別子(金融追跡・帰属分析に有効)
Gambling Affiliate ID #1:       cSyJDyLy         (bringmetolife.store)
Gambling Affiliate ID #2:       MKPA2AD00002     (terreagoodboy.store)
Google Search Console Token:    2Z_wOjQcGzVd53eRds3fVWKSAaDsyNsUl7AsNymx4tc
ImageKit.io Account:            dewi11           (ik.imagekit.io/dewi11/)
Imgur Image ID:                 lyf87zA.png      (uploaded 2026-04-28)
Registrar Privacy Shield:       Withheld for Privacy ehf (Reykjavik, Iceland)
Common Nameserver:              nile.ns.cloudflare.com / sasha.ns.cloudflare.com
C2 Channel:                     Telegram (confirmed via Referer: web.telegram.org)
PHPウェブシェルファイル名(確認済み)
fgh.php          # Initial shell — direct access without reconnaissance
yomanx498.php    # Secondary shell (redundancy)
n0bgxdjskd.php   # Secondary shell
mails.php        # Shell with mail-mimicking filename
follder.php      # Shell with typo-based obfuscation
carrier/sshy.php # Shell in subdirectory
同一犯行グループを示すインフラパターン m4udd0syastvp1d.online・bringmetolife.store・terreagoodboy.storeは全てNameCheapを使用し、 同一のCloudflareネームサーバー(nile.ns / sasha.ns.cloudflare.com)を使用。 プライバシー保護にはWithheld for Privacy ehf(アイスランド)を使用。 これらは同一犯行グループが確立した「犯罪インフラテンプレート」である。 同パターンを使用した他のドメインが存在する可能性が高い。
9. CONCLUSION

結論:本事案が示すセキュリティ上の教訓


本事案は、以下の点において2020年代のサイバー犯罪の進化を示す代表的症例である:

  1. APT(高度持続的脅威)的手法の民主化:国家レベルとされてきた事前偵察・計画・インフラ構築・分業体制が、経済犯罪目的の一般的犯罪集団によって採用されている。
  2. 合法インフラの武器化:Cloudflare Pages・Google AMP・ImageKit・Imgur・Telegram等、すべてが正規の評判の高いサービスである。従来のIPレピュテーションベースの防御は無効化される。
  3. 調査を設計段階で無力化:日本国内からの調査では原理的に証拠が確認できないクローキング設計は、インターネット境界を超えた国際的調査協力なしには対抗できない新しい挑戦を提示する。
  4. デュアルユース型の構造:SEO収益と法的脅迫力を同一インフラで同時に実現する設計は、従来のサイバー犯罪分類を超えた新しい脅威類型を示す。

そして最後に:完全な透明性こそが最善の防御である。攻撃者が構築した「虚偽の事実」の脅迫力は、それが完全に公知となった瞬間に消滅する。本稿の公開はその瞬間の記録であり、かつ次の被害者を生まないための公益的贈与である。

REFERENCES

参考文献・理論的枠組み


  1. von Neumann, J. & Morgenstern, O. (1944). Theory of Games and Economic Behavior. Princeton University Press.
  2. Harsanyi, J.C. (1967). Games with incomplete information played by "Bayesian" players. Management Science, 14(3), 159–182.
  3. Schelling, T.C. (1960). The Strategy of Conflict. Harvard University Press.
  4. MITRE ATT&CK Framework v14 — T1505.003 (Web Shell), T1027 (Obfuscated Files), T1583 (Acquire Infrastructure), T1036 (Masquerading), T1491.002 (External Defacement).
  5. Google AMP Project. (2026). AMP HTML Specification. ampproject.org.
  6. Netcraft Phishing Reports: UUID dPORnP7rYNAeVqvZgbexk6difZ5ukR7N, URyTgd5sZ8tjF0ogh2EspK7SdyRz816J.
  7. JPCERT/CC. (2026). インシデント受付・報告 MF-2026-0812.
  8. ID-SIRTII/CC. (2026). Cross-border IoC sharing — Case MF-2026-0812.