.Bt WordPressマルウェアとは?悪意ある製薬サイトへのリダイレクトの仕組みと検出・駆除法
世界で最も広く利用されているCMSであるWordPressは、その人気ゆえにインターネット上で数多くの悪意あるハッキング攻撃の標的となっています。攻撃の手口は、ハッカーの目的や使用される難読化手法などによってさまざまですが、共通しているのは、乗っ取られたWordPressサイトがあらゆる悪用行為の踏み台として利用されるという点です。
そうしたマルウェア感染の一つが「.Bt WordPressハック」です。この名前は、感染するとWordPressサイトのルートディレクトリや「wp-admin」「wp-admin/css」ディレクトリ配下に、拡張子「.bt」を持つファイルが生成されることに由来します。
本記事では、.Btハックの原因、症状、検出方法、駆除手順を解説します。さらに、読者の理解を深めるために、マルウェアの動作メカニズムも段階的に詳しくご紹介します。
.Bt WordPressハックの主な原因
「.Bt WordPressハック」が発生する主な原因は以下の通りです。
- 更新されていない古いプラグインや信頼性の低いプラグイン
- 脆弱性を含むテーマ
- サポートが終了した古いPHPバージョン
- 推測されやすい弱いパスワード
- サーバーの設定ミス
.Bt WordPressマルウェアのコード解析
感染の最初の手がかりとなるのが、IPアドレスのリストを含む「.bt」ファイルです。ただし、このファイルを削除しても再生成されるため注意が必要です。感染本体は.btファイル内には存在せず、通常は以下のようなWordPressファイル内に潜んでいます。
- wp-load.php
- wp-settings.php
- /wp-content/themes/<テーマ名>/functions.php
- /wp-includes/functions.php
これらのファイルに挿入される悪意のあるコードは難読化されており、以下のような外見をしています。
コードを見ると分かるように、マルウェアはまずすべてのエラーメッセージを無効化し、サイト管理者に気づかれないようにしています。
ステップ1:マルウェアのダウンロード
.Bt WordPressハックでは、悪意のあるペイロード自体はサーバー上に常駐せず、外部ソースからダウンロードされる仕組みになっています。そのために、マルウェアはまずPHPの「allow_url_fopen」ラッパーが利用可能かどうかを確認します。利用できない場合は、PHPのcURLライブラリを使い、「get_data_ya()」という関数でマルウェアをダウンロードします。悪意のあるファイルのダウンロード元URLは「hxxp://lmlink1[.]top/lnk/inj[.]php」でした。
ステップ2:マルウェアの難読化
続いて、ダウンロードされたデータは単純なXOR暗号化によって難読化されます。これはマルウェアの「wp_cd()」関数で行われ、データとキーを入力パラメータとして受け取り、XOR暗号化された結果を返します。
ステップ3:マルウェアの書き込み
暗号化されたペイロードが準備できると、マルウェアは書き込み可能なサブディレクトリを探します。該当するディレクトリが見つからない場合は、カレントディレクトリへの書き込みを試みます。
ダウンロードされた悪意のあるペイロードを復号すると、次のようなコードになります。
ここで注目すべきは、ペイロードにはPHPの開始タグと終了タグが含まれておらず、サブディレクトリへの書き込み時に後から追加されるという点です。
ステップ4:ペイロードの実行
ペイロードがサブディレクトリ内に正常に書き込まれると、PHPのinclude()文を使って実行されます。このペイロードは、検索エンジンボットのIPアドレスを含む.btファイルを生成します。また、下記コードのように製薬スパム(ファーマスパム)の配信にも使用されます。
.btファイルは、検索エンジンボットに対してスパムを表示しないことで、サイトがブラックリストに登録されるのを回避するために使われていると考えられます。さらにペイロードは、外部から送られる悪意のあるコマンドを受け取り、感染したWordPressサイト上で実行することもできます。
ステップ5:ペイロードの削除
最後に、悪意のある処理が完了すると、マルウェアはPHPのunlink()関数を使ってファイルを削除し、痕跡を消し去ります。このように、このマルウェアは悪意のあるペイロードを保存せず、「ダウンロード→利用→削除」というサイクルを繰り返すため、長期間にわたって検知を逃れ続けることができます。
.btマルウェアの検出と駆除方法
方法1:「.bt」または「.r」拡張子のファイルを確認する
ヒューリスティックな確認方法として、サーバー上に「.bt」または「.r」という拡張子のファイルが存在するかどうかをチェックしましょう。ファイルマネージャーの検索機能を使用します。
または、SSHでサーバーにログインし、以下のコマンドを実行します。
find . -name '*.bt' -print
.Bt WordPressハックをさらに確定させるには、WordPressファイル内に悪意のあるコードが含まれていないか検索します。SSHコンソールで以下のコマンドを実行してください。
find . -name "*.php" -exec grep " $ea = '_shaesx_'; $ay = 'get_data_ya'; $ae = 'decode';"'{}'; -print &> list.txt
このコマンドは結果をlist.txtファイルに保存します。ファイルを開き、マルウェアが含まれる箇所から悪意のあるコードを削除してください。どの部分が悪意のあるコードで、どの部分が元のコードか判断がつかない場合は、悪意のあるコードのみを掲載した参考資料を確認し、それに従って削除を進めてください。それでも不安な場合は、怪しいコードをコメントアウトした状態で専門家に相談しましょう。
方法2:コアファイルの整合性をチェックする
もう一つの方法は、WordPressコアファイルの整合性を確認することです。SSHでWebサーバーにログインし、以下の手順を実行します。
ステップ1:WordPressのクリーンなコピーをダウンロードするための新しいディレクトリを作成し、そこへ移動します。
$ mkdir WordPress
$ cd WordPress
ステップ2:最新版のWordPressをダウンロードして展開します。
$ wget https://github.com/WordPress/WordPress/archive/<最新バージョン>.tar.gz
$ tar -zxvf <最新バージョン>.tar.gz
「<最新バージョン>」の部分は、入手可能なWordPressの最新バージョン番号に置き換えてください(例:https://github.com/WordPress/WordPress/archive/5.3.tar.gz)。
ステップ3:diffコマンドでファイルを比較し、不審なコードが混入していないか確認します。
$ diff -r path/to/your/file/wp-load.php /Wordpress/wp-load.php.
ステップ4:悪意のあるコードが見つかったら、削除するか、専門家に駆除を依頼しましょう。
Astraセキュリティがお手伝いします!
Astra Securityは、手頃な価格のウェブサイト保護ソリューション「Website Protection」により、.bt WordPressハックを検出し、ブロックします。
ご不明な点があれば、コメント欄でお気軽にお尋ねいただくか、セキュリティ専門家とのチャットをご利用ください。必ずご返信いたします🙂
-
【修正】WordPress「rms-script」リモートアクセスマルウェアの実態と対処法
最近、一部のWordPressサイトにおいて、外部サイトへのリモートアクセスを許してしまうマルウェアが確認されました。このマルウェアは、wp-content/mu-pluginsフォルダ内に配置された複数のPHPファイルに潜んでいることが判明しています。しかも厄介なことに、無料のWordPressセキュリティプラグインでサイトをスキャンしても、異常は一切検出されませんでした。本記事では、このマルウェアの詳細と、感染した場合の具体的な対処方法について詳しく解説します。 rms-scriptマルウェアの挙動 最初に気づくのは、WordPressサイトに奇妙なエラーが表示されることです。このエラーの
-
WordPressプラグインに潜むPHP実行型マルウェアの駆除・対策ガイド
最近、WP Super Cache、Akismet、Elementorといった人気WordPressプラグインが生成するファイルと酷似したファイル名・内容を持つ悪意あるファイルを、ハッカーが密かに仕込んでいるサイトが複数確認されました。これらのファイルに含まれるコードは、リダイレクトハック、サーバー上への不正ファイルの作成、お問い合わせフォームやメールマガジンへのスパム送信を引き起こし、最悪の場合はホスティング会社によるアカウント停止につながることもあります。本記事では、プラグインに潜むこの隠蔽マルウェアの実態と、その除去方法について詳しく解説します。 WP Super Cacheプラグイン