企業のHP制作やネット活用なら、Webコンサルによる分析提案から制作・運用までの幅広いサービスが最適です。

突然のお客さまのWordPressハッキング(クラッキング)対応

ななめ正面_元_縦長_w200みなさんこんにちは、ラウンドナップ・コンサルティングの中山です。

Web戦略ラウンドナップやこのサイトのノウハウページなどでいろいろ普段から書いてはいるのですが、普段の業務の中のつぶやきも知りたいという声を以前から頂いておりましたので、少し書きたいと思います。

今日は(正確には昨日は)主に

  • ご依頼のサイトリニューアルのための競合調査とコンテンツ案作成
  • chatworkでの遠隔コンサルティング対応
  • フォームからのお問合せ対応とそのための調査
  • 昨日リリースしたPodcastエピソードのSNS投稿とパフォーマンス確認(1,000件/日くらいのDL数でした)
  • 内部用のマニュアル動画撮影

などを行っていました。後は運動のためと気分転換でうちの犬と外を散歩など。花粉がひどいので、ショートコースでした、ごめんね。

AMに突然やってきたお客さまからのWordPress異常相談

NewImage.pngAMに、顧問・パートナー契約のお客さまからchatworkでご連絡がありました。SearchConsoleで自社サイトの外部リンクを見たところ、自社の他のとあるサイトから大量のバックリンクがある。しかも、リンク元ページを見ると知らない海外のサイトが表示される──

嫌な予感がしたので確認した所、やはりといってはなんですがWordPressがクラッキングされて乗っ取られ、ある海外サイトの紹介ページが2,000記事程度生成されていました。

HTMLを見ると、Body部分にiframeを入れて、それ以外の要素を全部覆い隠すようにCSSでセッティングしているようで、そのせいでHTML上では従来のサイドバーが残っていました。

そのサイドバーの中に、自社サイトへのリンクがあったので爆発的にバックリンクが発生していたんですね。

普段触らないサイトだったようで、SearchConsoleの外部リンクから偶然見つけられて幸いでした。純粋に運がよいと思います。

ワードプレスのクラッキング(ハッキング)に至る手口

220_F_99895492_mPoZHLuNkrvk6kj6dMlaZREn4Qe9T7p6一体どんな手口で侵入し、大量にページを生成したのかを、あまり深く書くと危ないので簡単に書きたいと思います。何かのご参考になれば幸いです。

  1. 恐らくBruteForceアタック(総当たり攻撃)でAdminアカウントのパスワードを突き止め、ログイン
  2. 別途2つの管理者権限ユーザーを作成
  3. そのユーザー経由でテーマファイルの一部と、使用していないテーマファイルの一部と、/wp-include/の中のあるファイルの数行を書き換え
  4. 書き換えた内容は、何重にもbase64エンコードされていたりしておりましたが解き明かすと、サイトのHttpサーバやOSを調べて、脆弱性を調べるサイトで調査、その結果を元に脆弱性をつき、サーバをコントロール可能にするコードでした。
  5. また、もしサーバがセキュリティホールが放置されているサーバであれば、共有サーバ全体のコントロールも奪われかねないものでした(幸い今回は至らなかったようです)ファイルのアップロードやダウンロード、シェルコマンドも外部からうてるバックドアも有りました
  6. その上で、大量のページ生成と外部サイトをiframeで呼ぶスクリプトが書かれていました。管理画面からはわからない形で大量のページが作られていたため、手動で消せばいいというものでもない厄介なものです

iframe内で表示されていたサイトは北米県のそこそこしっかりした中堅サイトで、本当にこの会社が依頼したのか、それとも貶める目的でやっているのか不明のため、名前は伏せます。

問題解決のために行ったこと

そもそもこの時点では、3で書いた問題のファイルが分かりませんでした。発見する際に役立ったのは

  • Theme Check プラグイン(これ最高ですね!)
  • 生成されたページ内の特徴的なワードでGoogleで検索(なぜかポルトガル語が多かった)
  • DreamWeaver(マルチファイル検索ができればなんでも良い)

でした。

今回問題が出たのが、お客さまがどなたかに作ってもらったオリジナルテーマだったたことと、バックアップがなかったため差分が取れませんでした。なので、まずはテーマを変更。テーマを変えると生成ページが真っ白になり404になるので、テーマ内の問題と判断。

該当テーマファイル内を虱潰しにチェック(個々は地味で長いので省略します)

そこで見つかった不明点を片っ端からテスト。新規に追加されているファイルは、非常に自然に溶け込むようなファイルでした。しかもWordPressのデフォルトテーマ内に本体を置いていたりと、見つからない工夫が満載です。

コードも以下の様な難読化がされています。

2016-03-17_01-00-49

Theme Check プラグインは、インストールされているThemeやWordPressコアファイルについて、オリジナルとのDiffを出してくれるのですが、これは最初にやってみることをおすすめします。

オリジナルテーマには使えないのですが、これによって、

  • コアファイル内で書き換えられている部分の特定と確認
  • オリジナルファイルへの上書き

3e2cfc85de53da08bf8d89ec258a8023が簡単に行なえます。素晴らしいです。いつもプラグイン新規追加でトップページに載っているだけあります。

これでオリジナルテーマ以外の問題をFIXし、オリジナルテーマ内の異常部分も手を入れた所、無事全ての生成ページは消えてなくなりました。404を出させておいたので次のクロールでインデックスからも削除されると思います。

※本来はクリーンインストールを推奨します、これが全てではない可能性が高いからです。今回は短期的な対処法についてです。

セキュリティ強化策

この後、セキュリティ強化策としてセキュリティ系プラグイン(具体的にはWordfenceと SiteGuard WP Plugin)を入れました。また、Adminアカウントを権限なしにし、別のユーザーを作成しそちらを管理者アカウントとして使います。

また、セキュリティ系プラグインによって

  • ログインミス時のロックダウン処置
  • ログインURLの変更
  • CAPTCHA導入(今回ポルトガル語圏の情報が多かったため、日本語を選択)
  • その他2プラグインで標準とされているものを導入
  • アラートメール実装

また、使っているテーマファイル以外のテーマを削除しました。クリーンインストールの計画も立てます。

220_F_93589535_iytwguoe0bqLZ7XUdwSgNj4VbkYyELTmと、こんなことも行っています。

なかなか難儀でしたが、お客さまに安心してもらえて幸いです。

これをきっかけに他のサイトにも全て同じ対策を施してもらっています。趣旨を含めた顛末をドキュメントにしてGoogleドライブ上で共有しているので、これでお客さまとしても、対応マニュアルや製作マニュアルとして共有して頂ければと思います。

コンサルティングサービスなのですが、幅広くお助けしています。

会社さんと会社さんを結びつけるマッチングなども行っていますし、製品選定や営業メールや営業電話に対しての評価や対応方法のお伝えなどもしています。

会社として詳しい人がいなくて不安…という方が、顧問弁護士のようなイメージで使っていただいているケースも少なくないので5万円/月、1日あたり1,333円で安心を買いたいという方はスタンダードプラン是非ご検討下さいませ。

それでは、WordPressをお使いの方のお役に立てば幸いです。

 

コメント

タイトルとURLをコピーしました