WordPressハックを完全に削除したことを確認していますか?


105

http://fakeplasticrock.com(WordPress 3.1.1を実行中)にある私の楽しいWordPressブログがハッキングされました- <iframe>すべてのページに次のように表示されていました:

<iframe src="http://evilsite.com/go/1"></iframe>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 

私は次のことをしました

  1. 組み込みのWordPressアップグレードシステムを介して3.1.3にアップグレードされました
  2. インストールされているエクスプロイトスキャナ(珍しいファイル上の重要な警告がたくさん)とアンチウイルス(これはすべての緑ときれい示したので、私はアンインストールして実行した後、それを削除)
  3. MySQLパスワードを変更しました。
  4. すべてのWordPressユーザーパスワードを変更しました。
  5. FTP経由で接続し、ファイルシステム全体をダウンロードしました(サイズは大きくありません。これはWordPress専用のLinux共有ホストです)
  6. WordPress 3.1.3の公式ZIPに対してファイルシステムを相違せ、一致しないものを削除または上書きしました

確かに

  • ディスク上のすべてのファイルは公式のWordPress 3.1.3ファイルです
  • 私のディスク/theme、Exploit Scannerプラグイン(ダウンロードしたばかり)、/uploadsフォルダ、その他の予想されるファイル以外のディスクには、「余分な」ファイルはありません。私の他のプラグイン、wp-recaptchaは、現在の公式ダウンロードバージョンと一致します。
  • .htaccessファイルもチェックしましたが、何も問題がないようです

比較を超えたワードプレス3.1.3ファイル比較

私はデータベース触れませんでしたが、データベース内の何かがそれを動作させる特別なPHPコードなしでどのように悪意があるのか​​を考えるのに苦労していますか?

私のWordPressブログは問題なく表示され、ハッキングされていないように思えますが、他に確認する必要があるものはありますか?


1
ブログを最新の状態に保つ必要あります。:)
fuxia

回答:


80

エクスプロイトベクターを特定しましたか?そうでない場合は、将来のエクスプロイトに対してオープンなままになる可能性があります。

考慮すべきその他の事項:

  1. WordPress管理者ユーザーのパスワードを変更する- 完了
  2. ホスティングアカウントのユーザーパスワードの変更
  3. FTPパスワードを変更する
  4. MySQL dbユーザーパスワードの変更- 完了
  5. dbテーブルのプレフィックスを変更する
  6. wp-config nonces / saltを更新します
  7. ディレクトリ/ファイルの権限を確認してください
  8. 経由でディレクトリ参照アクセスをブロックする .htaccess
  9. WordPress Codexの強化エントリのすべてを確認します
  10. FAQ My Site Was Hacked Codexエントリのすべてに目を通します

1
申し訳ありませんが、言及することを怠りました-もちろん、WordPressのパスワードを変更しました。投稿を更新し、ここのリストでチェックしました!WordPressにアクセスするだけで、ホスティングパスワードまたはFTPパスワードを取得する方法は考えられません。その情報はファイルシステムやデータベースのどこにもありません。
ジェフアトウッド

9
逆方向の可能性のある悪用ベクトルがあります。おそらくWordPress->ホスティングアカウントではなく、ホスティングサーバー(サーバーまたはFTP経由)-> WordPressです。
チップベネット

2
@Jeff(より良いホストを見つけることを除いて)あなたが制御できないサーバーレベルのエクスプロイト。ただし、ホスト/ FTP資格情報を使用していないからといって、ホスティングアカウントにアクセスし、誰かがそれらを盗んだわけではありません。
チップベネット

7
マルウェアがワークステーション(または請負業者のワークステーション)に感染し、お気に入りのFTP(またはFTP対応)プログラムで保存されたパスワードを調べ、攻撃者に送信して侵害するラウンドを作る非常に一般的なエクスプロイトがありますサイトを使用して、同じマルウェアを他のウェブマスターに拡散するために使用します。これは、FTPパスワードが盗まれる一般的な方法の1つです。特に陰湿なのは、あなたのような通常のサイトを介して拡散することであり、注意を払う可能性のある怪しげなサイトではありません。
タイラー

3
参考までに、コマンドラインにアクセスできる場合、WP-CLIには、各ファイルをwordpress.orgに対してチェックする検証チェックサムコマンドがあります
William Turrell

26

Google Chromeの「セーフブラウジング」メッセージを見ると、「。cc iFrameハック」が発生しています。3.1.3でこれが修正されると思いますが、もしあなたのサイトがあれば、ルートのindex.phpファイルを確認してください。

投稿とコメントの挿入でできる非常にトリッキーなことがいくつかあります。データベースに対して次のクエリを実行すると、ここで私の「追跡」の残りの部分をブログに書いたものを見つけることができます

SELECT * FROM wp_posts WHERE post_content LIKE '%<iframe%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%<noscript%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%display:%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%<?%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%<?php%'
SELECT * FROM wp_comments WHERE comment_content LIKE '%<iframe%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%<noscript%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%display:%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%<?%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%<?php%'

お役に立てれば!


4
私は追加するSELECT * FROM wp_* WHERE comment_content LIKE '%<?%'SELECT * FROM wp_* WHERE comment_content LIKE '%<?php%'ちょうど...確かに
SeanJA

4
ああ、最後のメモです。このドメインにGoogle Webmasterツールが関連付けられていると仮定しています。クリーンアップが完了したら、ウェブマスターツールアカウントからリクエストを送信して、Googleがサイトを再スキャンして警告メッセージを削除できるようにします。通常、1日以内にウェブマスターツールからのリクエストを処理します。さもなければ、あなたは良い90日間「いたずらリスト」に載ります。
ディリーO

多くの結果が見つかりましたが、それはVimeoの組み込みiframeが原因です。
-tooshel

20

データベースには悪意のあるコードも含まれている可能性があります。隠されたユーザーアカウントまたは値がどこかにエスケープされずに印刷されます。また、アップロードディレクトリをチェックして、そこに属していないファイルを探します。

ああ、攻撃者があなたのサイトに侵入した方法を理解してください。共有アカウントでは、多くの場合、サーバー全体です。ハッキングされたブログや他のページについても、サーバー上の他のサイト確認してください。FTPログを読み取ります。どのように起こったのかわからない場合、次の休憩を防ぐことはできません。


エクスプロイトスキャナーは非表示のユーザーアカウントを検出しませんか?
ジェフアトウッド

@ジェフ・アトウッド私はそれに依存しません。ユーザーテーブルはそれほど大きくありません。プラグインなしで簡単に読むことができます。
FUXIAの

私はwp_usersテーブルと2行のみをチェックしましたが、両方とも予想されていました。/upload珍しいフォルダー(gif、png、jpegだけ)には何もありません
ジェフアトウッド

@Jeff Atwoodファイルを調べましたか、それとも拡張子だけを調べましたか?これらのファイルはすべてメディアライブラリにリストされていますか?
FUXIAの

4
画像ファイルは、かなり一般的なペイロード配信方法です。参照してくださいここで、そしてテーマレビューチームも活用同様のTIFFを使用してテーマに実行された)だから、うん:私はそれがメディアライブラリの一部だ確実にするために、それぞれを確認したいです。(簡単な高レベルスキャン:サムネイルサイズが定義されていない画像を確認してください。)
チップベネット

13

あなたがハッキングされたと聞いて申し訳ありません-あなたは素晴らしい回復仕事をしたようです!

あなたのファイルシステムは金色に聞こえますが、ここでできることは他にありません。

Exploit Scannerは、スクリプト、iframe、PHP(eval'dの場合のみ危険)、またはデータベース内のその他の異常なコードを検出すると警告をスローすると思います。

投稿とコメント以外のテーブルをチェックする/wp-admin/options.phpかどうかはわかりませんが、一目でチェックして、何かおかしいものを見つけられるかどうかを確認する価値があるかもしれません。

また、MySQLクライアントでユーザーテーブルを確認します(ユーザーはデータベースに含まれている場合がありますが、管理者には表示されません)。


usersテーブルでMySQLクエリを実行して、予期しないものがないことを確認するのは間違いなく良い考えです。良いヒント!
ジェフアトウッド

8

Googleウェブマスターツールで次の2つのことを確認してください。

  • サイトが危険にさらされているというフラグが立てられていないことを確認し、もしそうなら再審査をリクエストします
  • サイトをGooglebotとしてチェックし、Googlebotにのみ表示されるスパムが挿入されていないことを確認します-これの例はWP Pharmaハックです

また、テーマを再実装するか、非常に慎重に確認します。PHPの数行は、コアPHP関数を再定義して、データベースから悪意のあるコード、特にwp_optionsキー/値ストアテーブルを抽出できるようにします。


ええ、私は間違いなくGoogleウェブマスターツール経由でサイトを再送信しましたが、今では「クリア」されているようです。
ジェフアトウッド

6

phpmyadminで「iframe」を検索するか、データベースをダンプしてテキストを検索します。

また、usersテーブルで非表示のユーザーを確認します。WP Admin >> Usersに表示されなかったテーブルのユーザーを見てきました。

クリーンオプション«WordPressプラグインは、古いプラグインや脆弱性のある可能性のあるプラグインからのジャンクがデータベースに残っていることを示します。

テーマにも<head>タグが欠落しているため、テーマを編集して不正なリンクを削除した場合にチェックします。

そしていつものこと:そして、ハッキングされたWordPressでバックドアを見つけ、WordPress強化する方法«WordPress Codex


5

「他に確認する必要があるものはありますか?」プロセスを調べて、どのようにハッキングされたかを確認し(ほぼ間違いなく、時間内に、または正しくパッチを適用しなかったため)、症状だけでなく、それも修正する必要があります。


5
(それはあるが、私はそれはWordPressを更新していないとしなければならなかった疑いが可能それだけではありませんが、可能性)。WordPress自体は、悪用手段となることほとんどありません。通常のベクトルは、安全でないホスト構成と盗まれたFTP資格情報です。
チップベネット

4

Mediatempleでのリークを通じて、それはかつて私に起こりました。挿入されたリンクのデータベースをチェックするプラグインを作成する必要がありました。ここでgithubの要点として入手できます。

かなり使いやすく、フィードバックを送信し、完了後にデータベースを再チェックするいくつかのステップがあります。

幸運を!


4

クライアントサイトの1つで修正しなければならない非常によく似たハックがありました。

ファイルシステムに悪意のあるスクリプトがありました(php base64_decode stuff)。ただし、データベースの「投稿」および「コメント」テーブルが侵害され、iframeコードもそのデータに散らばっていました。

安全のために、少なくともDBでいくつかの検索を実行しました。:)


3

プラグインを確認してください!今年は、.orgプラグインから60のエクスプロイトリリースがありますが、実際にフルタイムでやっている人はいないので、実際の数はもっと多いと思います。

プラグインは1つしかないことをリストアップしましたが、セキュリティホールがありました(どれだけの期間が出たかはわかりませんが、ベクトルではないかもしれません)。

wp-recaptcha-plugin
エクスプロイトがリリースされました:2011-03-18
エクスプロイトバージョン:2.9.8

著者は、バージョン3.0で書き直したと述べましたが、セキュリティパッチについては言及されていません。

http://www.wpsecure.net/2011/03/wp-recaptcha-plugin/

変更ログ:http : //wordpress.org/extend/plugins/wp-recaptcha/changelog/


2

私はクラウドサーバーを使用しており、ランダムな奇抜なsshポート番号を持っていますが、ftpはまったくありません。パスワードをハッキングすることは非常に困難です。すべてのルートアクセスは完全に拒否されます。WordPressがあなたの犯人ではないことに同意します。もう1つ確認する必要があるのは、FTPセッションが閉じないこと、パーソナルコンピューター上のウイルス(サイトにファイルをアップロードできること、およびそのファイルをロードしたユーザーが同じウイルスを取得できることを忘れないでください)、パスワードをパブリックサイトまたはプライベートに保持しないことですサイトは常に、文書やメモ帳ではなく、紙の上でそれらを正しく書き留めます。

最後に、ファイアウォールを設定する必要があるため、最近侵害を受けたかどうかをホストに尋ねます


2

ファイルの日付を確認してください。どのファイルにも、最後の編集/インストールより新しい変更データが含まれていてはなりません!

しかし、これも偽装できます。唯一確実な方法は、すべてのファイルを元のインストールファイルと比較する(ハッシュ比較など)ことです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.