サイト内の現在位置

ウェブサイト改ざんについて

NECセキュリティブログ

2022年6月17日

はじめに

NECサイバーセキュリティ戦略統括部 セキュリティ技術センターの岩田です。
今週のセキュリティブログでは、ウェブサイト改ざんに関する話題をお届けします。

ウェブサイト改ざんとは

ウェブサイト改ざんとは、ウェブサイトの管理者以外がウェブサイトのコンテンツを追加・削除・変更してしまうことです。インターネットに接続しているウェブサイトは世界中から攻撃を受ける可能性があります。その結果、セキュリティ対策が不十分なウェブサイトは改ざんされてしまいます。情報セキュリティ10大脅威 2022new window[1]では掲載されていませんが、著者は2022年もウェブサイト改ざんの被害が継続していることを確認しています。

ウェブサイト改ざんには、いくつかのパターンがあります。

  1. ウェブサイトの見た目が変化する
    – (例)TOPページが改ざんされ怪しい画像やメッセージが表示される
  2. ウェブサイトの見た目は変化しないが、検索結果に反映される
    – (例)Google等の検索結果に商品情報等が表示され、リンクをクリックすると別サイトに誘導される
  3. ウェブサイトの見た目は変化せず、検索結果にも反映されない
    – (例)不審なファイルが設置される

1は、"Hacked By XXX"などと表示されることが多いため、すぐに気づくことができます。最近このパターンのウェブサイト改ざんは減っているように感じます。
2は、偽ショッピングサイトやラッキービジター詐欺new window[2]・偽警告(サポート詐欺)など悪質なサイトへリダイレクトします。金銭を目的としてウェブサイトを改ざんしていると考えられ、最近増加しているように感じます。
3は、ウェブサイト内にマルウェアを設置されたり、フィッシングサイトを構築されたりします。ウェブサイトの見た目が変わらず検索結果にも反映されないため、直接的な観測が困難です。例えばマルウェアを解析しダウンロード先のURLとして把握する必要があります。著者はマルウェアに含まれていたJPドメインにMIRAI系マルウェアが設置されていた事例を確認しています。

また、以下のような攻撃も可能となるためEC系サイトではウェブサイト改ざんに対して特に注意が必要となります。

  • 決済情報を外部サイトに送信(クレジットカード情報を窃取)すること
  • ユーザー登録画面にクレジットカード番号入力画面を追加し情報窃取すること

PHPなどスクリプト言語が実行可能なウェブサイトが改ざんされた場合、任意のプログラムが実行可能となるため、被害が大きくなりやすいです。例えばスパムメール配信、他サーバーに対する脆弱性スキャン行為やログイン試行・攻撃者の踏み台として利用される可能性があります。また、ウェブサイトで暗号資産のマイニングやランサムウェアが実行され自サイトが機能不全に陥ってしまう可能性もあります。

なぜウェブサイト改ざんをするのか

なぜ他人・他社のウェブサイトを改ざんするのでしょうか。真の理由はアクターにしかわかりませんが、著者は以下のような理由があると考えています。

  • SEO対策
    – 既存のウェブサイトであれば検索結果の上位に表示される可能性が高く、検索結果がクリックされる可能性が高まる
  • テイクダウン対策
    – もともと正規のウェブサイトのため簡単にドメインやサーバーを止めることができず、改ざんしたコンテンツの寿命を長くできる
  • その他
    – ドメインやサーバーの契約が不要なため身元の隠蔽が可能、取得コストもかからない
    – 検索エンジンから悪意のあるサイトを隠すため

ウェブサイトを改ざんする側にメリットがあっても、改ざんされる側にとってはなんのメリットもありません。改ざんを放置するとレピュテーションの低下は避けられません。そのため改ざんされないように対策すること、改ざんをすぐに検知できることは重要だと考えます。

ウェブサイト改ざんのチェック方法

ウェブサイト改ざんの対策には各種製品やサービスがありますが、ここでは費用をかけずに確認できる方法を紹介します。

検索結果に反映されるタイプの改ざんの場合、検索エンジンに意図しない情報が登録されていないか確認します。
例えば自サイトのドメイン example.com の情報をGoogle検索で確認する場合、検索文字列に site:example.com として検索を実行します。指定したドメインの情報だけが表示されるので、検索結果に見慣れないコンテンツが存在しないか目視でチェックします。見慣れないコンテンツが検索結果に表示されていた場合、ウェブサイトが改ざんされている可能性が考えられます。
検索結果に反映されないタイプの改ざんの場合、ウェブサイトのファイルを確認する必要があります。例えば最近作成や更新されたファイルの内容を目視でチェックします。しかし、ウェブサイトを改ざんする側(アクター)も、改ざんしたファイルが見つからないようにファイルの日付を過去に変更する・既存ファイルにバックドアのプログラムを追加するなどのテクニックを使用するため、改ざんされたファイルを発見するのは困難です。
ウェブサイト改ざんをチェックする確実な方法はバックアップデータとの比較になります。バックアップデータと現在のウェブサイトのデータを比較し、サイズ変化や増加したファイルを目視で確認します。ただし、一時的なデータや後から追加されたコンテンツなどはバックアップ時点では存在していないため改ざんと勘違いしないように注意が必要です。

ウェブサイト改ざんの事例

ウェブサイトが改ざんされた場合、どのような検索結果が表示されるのでしょうか。今回は不正なウェブサイトに誘導する(別のウェブサイトにリダイレクトされる)タイプの改ざんについて事例を紹介します。
図1は前節で紹介したように検索キーワードに「site:ドメイン名」を指定して、改ざんされたドメインの情報だけをGoogle検索で確認した結果となります(検索キーワードにNECを追加しています)。検索結果には多数の商品情報が表示されています。

図1 NEC製品を取り扱う改ざんされたウェブサイトの検索結果例

検索結果のキャッシュ情報を確認すると、図2のように商品情報が格納されていました。しかし、キャッシュデータはコンテンツがベタ書きされているだけで商品を販売しているようには見えません。

図2 改ざんされたウェブサイトのキャッシュ情報例

検索結果に表示された商品情報のリンクをクリックすると図3のようなサイトに遷移しました。URLを見るとドメインが.co.jpで終わるウェブサイトから.xyzで終わるウェブサイトに遷移していることが確認できます。
実際、以下のウェブサイトは偽ショッピングサイト(FakeStore)と呼ばれるタイプの詐欺サイトとなります。偽ショッピングサイトでは商品を購入しても金銭等を奪われるだけで商品は届かないためご注意ください。

検索結果では.co.jpで終わるドメイン名のためリンク先を信じてしまったかもしれません。URLの変化に気がつけないと、騙されていることに気がつけません。スマートデバイスなどURLが確認しづらい環境では注意が必要です。偽ショッピングサイトで表示される商品情報は、正規のECサイト等の情報を窃用しているため違和感がありません。販売価格が安いため魅力的に感じてしまいます(商品情報は使いまわしているため、レアな商品や現在では販売していない商品が販売されていることもあります)。

図3 偽ショッピングサイトの例

リダイレクト方法

では、どのようにサイト閲覧者を別サイトにリダイレクトしているのでしょうか。改ざんされたウェブサイトにはスクリプトが埋め込まれておりアクセス条件により出力するコンテンツを変化させています。User-Agentが検索エンジンの場合は図2のようなコンテンツを出力し商品情報を検索エンジンにキャッシュさせます。一般的なブラウザで改ざんサイトにアクセスしHTTP_REFERERが検索エンジンの場合、図4のようなスクリプトを出力し、リンクをクリックしたユーザーを偽ショッピングサイトへとリダイレクトします。偽ショッピングサイトへ誘導するスクリプトには複数の種類があることを確認したため、複数のアクターがウェブサイト改ざんに関わっていると著者は考えています。
HTTP_REFERERをチェックしているため、ブックマークからのアクセスや、URLを直接入力した場合にはリダイレクトしません。これは、サイト所有者からの発見を遅らせることや、連絡を受け改ざんを確認する人からの隠蔽を目的にしていると考えられます。

図4 リダイレクトスクリプトの例
curlコマンドの -e でHTTP_REFERERを指定

偽ショッピングサイト

参考までに、なぜ誘導先のウェブサイトが偽ショピングサイトなのか根拠を1つ示します。リダイレクトされた先のウェブサイト(ドメインが.xyzで終わる)で robots.txt の内容を確認すると、図5のように全コンテンツに対してクローラーへのアクセスを拒否しています。

図5 偽ショッピングサイトのrobots.txtの例

robots.txtの活用は、一般的なECサイトであれば検索エンジンに対し情報を登録し集客を促すきっかけにすると考えられます。検索しても見つからないようにしている正規のECサイトを運営するということは考えにくいです。偽ショッピングサイトがこのような robots.txt を準備しているのは、偽ショッピングサイトが検索エンジンを利用して発見されることを防ぐためだと考えられます。

偽ショッピングサイトで商品を注文すると、支払った金銭あるいはクレジットカード情報が取られてしまいます。注文した商品は当然届きませんし、銀行振込した金銭も戻ってきません。クレジットカード決済の場合には二次被害(盗んだカード情報を利用して商品を購入される)が発生することを複数のソースで確認しています。送付先として入力した個人情報についても悪用される可能性が高いと思います。

図6 偽ショッピングサイトのクレジットカード情報入力画面例

著者の調べでは、注文金額に応じて、銀行振込とクレジットカード決済が切り替わる偽ショッピングサイトもありました。

ウェブサイト改ざんの観測結果

実際どのぐらいのウェブサイトが改ざんされているのでしょうか。すべての改ざんサイトを把握することは不可能なので、主に偽ショッピングサイトへのリダイレクトを目的としたウェブサイト改ざんについて個人的に観測した結果を図7に示します。観測環境のメンテナンスや観測方法の変更による無視できない観測数の変動があると思うため参考値となりますが、今月はすでに2000件以上のウェブサイト改ざんを観測しています。

図7 改ざんを検出したサイト数(2022年6月は一部期間のみ集計)

例えば、図8に示すようにオーストラリア政府固有ドメイン .gov.au を持つウェブサイトが改ざんされ、NECに関わる商品情報がGoogle検索結果に表示されていました。検索結果の商品情報のリンクをクリックすると偽ショッピングサイトへと誘導されました。日本人をターゲットとした、偽ショッピングサイト誘導を目的としたウェブサイト改ざんが世界規模で発生しています。また、ラッキービジター詐欺や、フィッシングサイトと偽ショッピングサイトへのリダイレクトが同一ウェブサイトに同居している事例も確認しています。

図8 Google検索結果例(.gov.auが改ざんされている)

JPドメインに限定しても、最近3ヶ月間では毎月100件近いウェブサイトが改ざんされていることを確認しています。
なお、ウェブサイト改ざんを目視確認したJPドメインについては、JPCERT/CCへ情報提供し対応をお願いしています。

図9 改ざんを検出したサイト数(JPドメイン)

ウェブサイト改ざんの手口

実際どのようにしてウェブサイトが改ざんされてしまうのでしょうか。残念ながら改ざんされたウェブサイトを詳細に解析する機会がなく、手口はわかっていません。

定量的ではありませんが、改ざんされたウェブサイトにアクセスするとCMS、特にWordPressが多いと感じます。またOSINTにより入手した改ざんウェブサイトに関わるスクリプトを調査した際、WordPressなどいくつかのCMSに特化した処理が実装されていることを確認しています。
一般的にWordPressの改ざん方法としては、以下が考えられます。

  • WordPressのウェブサイト管理画面への不正ログイン(脆弱なパスワードの利用など)
  • 脆弱性が発見されたWordPressのプラグインを未対策のまま使用していた
  • 脆弱性が発見されたWordPressを未対策のまま使用していた

改ざんされたウェブサイト数が多いことを踏まえると特定ウェブサイトを標的として改ざんするのではなく、特定の脆弱性が未対策のウェブサイトを狙って攻撃していると考えられます。CMSのインストールは簡単ですが、なんでもかんでもプラグインをインストールするとリスクを増やしている可能性があるため、導入前にプラグインのサポート状況を確認することは重要です。
他にもFTPやサーバーへのログイン情報の漏洩も原因として考えられます。さらに、JPCERT/CC 活動四半期レポートPDF[3]に記載されているように、共有サーバーを利用しているとアカウントの1つが侵害されたことにより同じホスト上にある複数のウェブサイトが改ざんされてしまうこともあります。実際著者も同一IPアドレスで複数の異なるドメインのウェブサイトが改ざんされていた事例を確認しています。

ウェブサイト改ざんの実態

残念ながら改ざんされたウェブサイトを詳細に解析する機会がなく、改ざんされたウェブサイトがどうなってしまったのか詳細はわかっていません。

一般的な攻撃と同様であると考えると、アクターによる作業効率化や再侵害するためにバックドアやWebShellを設置していると考えられます。また、ランダムなフォルダにランダムなファイル名でバックドアを設置する機能をウェブサイト改ざんに関わるスクリプトで確認したこともあります。

OSINTで入手した改ざんウェブサイトに埋め込まれ偽ショッピングサイトへの誘導に関わるスクリプトの機能について紹介します。

特徴的なのは、図10のようなGoogleへsitemapを送信するコードです。これはsitemap.xmlに複数の商品情報を登録しGoogleへPingを送ることで、より早く検索結果に商品情報が表示されるようにするためだと考えられます。余談ですがsitemapのPing送信機能に認証を付与する・Ping受信側で送信されたsitemap内容をチェックするなどの対策をすることで、検索結果に不正なサイトへのリダイレクトが登録されてしまうことを防ぐことができると思います(ぜひ対策を・・・)。

図10 改ざんサイトのスクリプト例:GoogleへのPing送信

また、以下のように偽装したファイルにコンテンツを隠す処理も確認しています。WordPressに標準で含まれているファイル名を模しているため、目視での発見は困難だと考えられます。

図11 改ざんサイトのスクリプト例:スクリプト等の隠蔽

以下はリダイレクトの処理の例となります。

  • (1)
    HTTP_REFERERが特定の値(検索エンジン)の場合(2)以下の処理を実行
  • (2)
    クライアント情報をC2サーバーへ送信
  • (3)
    Locationヘッダーを使い、別サイト(偽ショッピングサイト)へとリダイレクトさせる

ここで、REFERERのチェックで.co.jpが含まれていることより、日本人を狙った攻撃であると考えられます。

図12 改ざんサイトのスクリプト例:リダイレクト処理

このスクリプトのリダイレクト機能は、アクセスしたhtml名からリダイレクト先を決定している点です。html名のアルファベット文字列を逆転させリダイレクト先のドメイン名としていました(図13で赤とオレンジ色の部分)。そして、青色の数値部分をproducts_idに指定していました。

図13 改ざんされたサイトのhtml名とリダイレクト先の関係
赤色の文字列を反転しリダイレクト先のドメイン名としている。オレンジ色はTLD、青色は商品ID。

仕組みがわかるとトップレベルドメイン(TLD)は限定されますが、第三者が改ざんされたウェブサイトを利用してリダイレクトさせることが可能です。

HTTP_REFERERのチェックはpreg_match関数による部分一致です。例えば以下のように"yahoo.co"が含まれていれば条件を満たしリダイレクトするため、攻撃者がドメインを準備することは容易です。

図14 改ざんされたサイトを利用して任意のドメイン(ここではabcdef.xyz)へリダイレクトが可能

ウェブサイト改ざん対策

改ざんの実態を把握できていないため憶測となりますが、以下のような一般的な対策が必要だと考えます。

  • CMS等のログインアカウントの管理
    – 容易に推測されないアカウント名・パスワードを使用する
    – BruteForce攻撃を防ぐため、CAPTCHA を導入する
    – ログイン画面の接続元IPアドレスを制限する
  • パッチの適用
    – WordPress等の自動更新機能を有効にする
    – OSの自動更新機能を有効にする

また改ざんされたらすぐに気がつけるような運用も重要です。

ウェブサイト改ざんされたら

一部のVPS事業者ではウェブサイトの改ざんを検知すると被害拡大を防ぐため当該サイトへのアクセスを禁止していました。しかし個人で管理しているサーバーなどではウェブサイトが改ざんされても修正されず、不正なウェブサイトへのリダイレクトが機能し続けている場合があります。

前述したように改ざんされたウェブサイトは、偽装したファイルやランダムなファイルを作成し隠蔽します。そのため、ウェブサイトが改ざんされた場合には、ウェブサイトを再構築するのが確実です(見慣れないファイルを削除するという場当たり的な対応では根絶できません。一度リダイレクトが機能しなくなったが、数日後に検索結果に新たな商品情報が現れリダイレクトが復活した事例を確認しています)。

画像ファイルに偽装しスクリプトを設置する場合もあるため、WordPress等の再インストールでは根絶することは難しいです。定期的にバックアップを取り、もしウェブサイトが改ざんされたら全データを消去後、改ざん前のバックアップデータから復旧するのが望ましいです。

さいごに

ウェブサイト改ざんの被害を受けたウェブサイトは、偽ショッピングサイト等にリダイレクトするだけと思われるかもしれませんが、ウェブサイトに不正なプログラムが埋め込まれC2と通信もしています。ある日突然ボットネット化して攻撃を始めることも考えられます。不正なウェブサイトにリダイレクトするという発見しやすい状態の間に、改ざん可能なウェブサイトを撲滅することがサイバーハイジーンとして重要ではないでしょうか。

参考文献

執筆者プロフィール

岩田 友臣(いわた ともおみ)
セキュリティ技術センター リスクハンティング・アナリシスグループ

hardware/firmware/software の開発や生体認証の技術開発などを経て、現在はペネトレーションテスト、脆弱性診断などの業務に従事。

攻撃観測・マルウェア解析・フォレンジックを趣味で実施。
SEC660、FOR610、FOR508、SEC504、3×NetWars、2×Flare-Onメダル保持
CISSP、GIAC(GXPN、GREM、GCFA、GCIH)、RISS、ねこ検定(初級)を保持

スーパー猫の日がある2022年に ねこ検定(初級)に合格できました。

執筆者の他の記事を読む

アクセスランキング