ワードプレスのadmin-ajax.phpへの不正アクセスを調査する方法を解説いたします

admin-ajax.phpとは?なぜ攻撃される?

ワードプレスに含まれるadmin-ajax.phpは、サイトの表示の背後で通信を処理するためのファイルです。
プラグインやテーマでよく使用されており、actionというクエリを付与すると、そのアクションに応じたプラグインやテーマ等に実装された処理が実行されます。

しかし、この処理に欠陥があったり脆弱性がある場合があります。この脆弱性を突くためにハッカーが様々な不正な文字列(マルウェアのコード等)を付与してこのファイルに大量にアクセスしてくることがあります。

admin-ajax.phpを通じた攻撃

【無料】ワードプレス:マルウェアスキャン&セキュリティープラグイン [マルウェア・ウィルス検出と駆除]
には、こういった攻撃を検出して可視化する機能がございます。

2番目の記録を見てみましょう。
受信データが action=p3dlite_handle_upload となっています。こちらを検索してみると、3DPrint Liteプラグインのファイルアップロードができてしまう脆弱性を突いた攻撃であることが分かります。

ただ、この攻撃は、3DPrint Liteプラグインがサイトにインストールされており、かつ脆弱性があるバージョンでない場合は成功しません。

ハッカーのIPも記録されるのでabuseipdbというハッカーのIPを調べるサイトで検索してみると、多数のハッキングを行っているIPとして報告されていることが分かります。

admin-ajax.phpを通じた攻撃への対応

ワードプレスのadmin-ajax.phpに攻撃を受けることは、きわめてよくおこることです。
ハッカーは、ワードプレスサイトのリストを利用して、脆弱性を次から次についてみて攻撃が成功すればハッキングを継続するという手法でワードプレスサイトのハッキングを行います。

この為サイトに存在しない脆弱性への攻撃が記録されることになります。admin-ajax.phpの攻撃は99%成功しませんのでadmin-ajax.phpへの不正アクセスが記録されたとしてもあわてる必要はございません。

またadmin-ajax.phpファイルを消したり、アクセス禁止してしまうと、ワードプレスの主要な機能が動作不全を起こし、使えなくなってしまう可能性が高い為、このファイルのアクセス禁止処置を行わない方がいいかと存じます。

admin-ajax.phpへの攻撃があった場合は、下記のような対応を行われることが望ましいかと思います。

・admin-ajax.phpを通じて攻撃されるような脆弱性のあるプラグイン等を脆弱性のないバージョンまでアップデートもしくは、不使用の場合は停止削除します。

【無料】ワードプレス:マルウェアスキャン&セキュリティープラグイン [マルウェア・ウィルス検出と駆除] で脆弱性検査もすることが可能です。

・可能であれば、攻撃者のIPを調べハッキングがよくされているIPの場合はアクセス禁止処置を行います。上記プラグインにもIPをアクセス禁止する機能がありますが、htaccessファイルに設定を記載してIPをブロックすることも可能です。

Order Allow,Deny
Deny from 185.185.185.185
Allow from all

※185.185.185.185 の部分はブロックしたいIPにします
※htaccessファイルはワードプレスがインストールされている一番上のディレクトリに自動生成されています。FTPソフトウェアでアクセスしてダウンロードの上テキストエディタで編集して再アップロードします。

WordPress ワードプレスのマルウェア駆除・セキュリティー対策のご依頼・ご相談はワードプレスドクターまでお気軽にお送りください