web-dev-qa-db-ja.com

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

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. Exploit Scanner (異常なファイルに関する多数の重要な警告)および AntiVirus (これはすべて緑色できれいなため、実行後にアンインストールして削除しました)
  3. MySQLのパスワードを変更しました。
  4. すべてのWordPressユーザーパスワードを変更しました。
  5. FTP経由で接続し、ファイルシステム全体をダウンロードしました(大きくはありません、これはWordPress専用のLinux共有ホストです)。
  6. ファイルシステムをWordPress 3.1.3の公式Zipおよび削除または上書きと比較し、一致しないものはすべて除外しました。

私はそれを確信しています

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

wordpress 3.1.3 file compare in Beyond Compare

データベースに触れませんでした しかし、特別なPHP codeが機能しないとデータベース内の何かが悪意のあるものになることができるのかどうか迷っていますか

私のWordPressブログは今では大丈夫でハックフリーですが、確認すべき点は他にありますか?

104
Jeff Atwood

エクスプロイトベクトルを特定しましたか?そうでなければ、あなたは自分自身を将来の攻撃にさらす可能性があります。

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

  1. WordPress管理者ユーザーパスワードを変更します - done
  2. ホスティングアカウントのユーザーパスワードを変更する
  3. FTPパスワードを変更する
  4. MySQL dbユーザーパスワードを変更します - done
  5. dbテーブルのプレフィックスを変更します 
  6. wp-config nonces/salt を更新してください。
  7. ディレクトリ/ファイルのアクセス権を確認してください
  8. .htaccessによるディレクトリ閲覧アクセスの遮断
  9. Hardening WordPress Codexエントリ内のすべてのものを調べます。
  10. FAQ個人用サイトがハッキングされました Codexエントリのすべてを確認
79
Chip Bennett

Google Chromeの "safe browsing"メッセージを見ると、最近たくさんの ".cc iFrameハック"が発生しているようです。私は3.1.3でこれを解決すると思いますが、あなたのサイトであればrootであなたのindex.phpファイルをチェックしてください。

投稿やコメントのインジェクションに関して、人々ができることがいくつかあります。あなたのデータベースに対して次のようなクエリを実行すると、残りの "tracking" here をブログに書いたものを見つけるのに役立ちます。

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%'

お役に立てれば!

26
Dillie-O

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

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

20
fuxia

あなたがハッキングされたのを聞いてすみません - けれどもあなたがすばらしい回復仕事をしたように見えます!

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

データベースにスクリプト、iframe、PHP(評価された場合のみ危険です)、またはその他の異常なコードが見つかった場合、Exploit Scannerは警告をスローすると思います。

投稿とコメント以外のテーブルをチェックするのかどうかはわかりませんが、/wp-admin/options.phpをちょっとのぞいてみて、何か変なところがあるかどうかを確認する価値があるでしょう。

私はまたMySQLクライアントのあなたのusersテーブルをチェックしたいと思います(ユーザはデータベースにあるかもしれませんがadminには見えないかもしれません)。

13
TheDeadMedic

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

  • あなたのサイトが危険にさらされているというフラグが付けられていないことを確認し、もしそうであれば再考を要求する
  • サイトをGooglebotとしてチェックし、Googlebotにしか見えないスパムが挿入されていないことを確認します - この例はWP Pharmaハックです。

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

8
Jon Galloway

Phpmyadminで "iframe"を検索するか、データベースをダンプしてテキストを検索してください。

そしてusersテーブルで見えないユーザをチェックしてください。 WP Admin >> Usersに表示されていないユーザーがテーブルに表示されています。

きれいなオプション"WordPressプラグイン 古い、そしておそらく脆弱なプラグインからのどんながらくたがデータベースに残されているかを示すでしょう。

あなたのテーマにも<head>タグがありませんので、悪いリンクを削除するためにテーマを編集した場合に備えてチェックします。

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

6
markratledge

「他に確認すべき点はありますか?」あなたは自分のプロセスを調べ、あなたがどのようにハッキングされたのか(ほとんど確実にあなたが時間内にパッチを当てていなかったために)、そしてそれも直す必要があります。

5
Tom Chiverton

私は自分のクライアントサイトの1つで修正しなければならなかったのと非常によく似たハックをしました。

ファイルシステムに悪質なスクリプトがありました(php base64_decodeもの)。しかし、データベースの「投稿」と「コメント」のテーブルは危険にさらされており、iframeコードもそのデータ全体に散在していました。

安全を期すために、少なくともDB上で数回検索を実行します。 :)

4
Eric Allison

それはmediatempleのリークを通して、私に一度起こった。データベースに注入されたリンクをチェックするためのプラグインを書く必要がありました。あなたはそれをつかむことができます ここでGithub Gistとして

それはかなりユーザーフレンドリーであり、フィードバックを提供し、終了後にデータベースを再チェックするいくつかのステップがあります。

がんばろう!

4
kaiser

あなたのプラグインをチェックしてください!今年はこれまで.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/

3
Wyck

私はクラウドサーバーを使用していて、ランダムな変なsshのポート番号を持っています。パスワードをハッキングするのは非常に困難です。すべてのrootアクセスは完全に拒否されています。私はWordPressがあなたの犯人にはならないことに同意します。確認するべきもう一つの事柄はあなたのパーソナルコンピュータ上のウイルスがあなたのサイトにウイルスをアップロードすることができることを忘れないことです。サイトは常にWord文書やメモ帳ではなく紙の上にそれらを正しく書き留めます。

最後に、ファイアウォールを設定する必要があるため、最近違反があったかどうかをホストに確認します。

2
xLRDxREVENGEx

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

しかし、これも偽物になる可能性があります。最も確実な方法は、すべてのファイルを元のインストールファイルと比較することです(例:ハッシュ比較)。

2
powtac