バックドアとは
悪意のあるバックドアとは、侵害されたサイトへの不正かつ多くの場合無制限のアクセスを可能にするコードです。 攻撃者は、ホスティング アカウント内のすべてのファイルにアクセスすることができます。 バックドアは、通常のphpコードのように見えたり、難読化(コードを曖昧にするために意図的に不明瞭にすること)されて隠れていたりします。 バックドアは、有効なファイルに1行の短いコードとして挿入されることがありますが、これはむしろ無害に見えます。 また、バックドアは独立したファイルである場合もあります。 バックドアにアクセスすると、攻撃者はサイト上に任意の悪意のあるコードを置くことができます。
サイトが感染しているかどうかの判断
バックドアは、難読化されたコードであることが多いため、見つけるのが難しい場合があります。 通常、1つのバックドアがあれば、同じように見えるかどうかは別として、他のバックドアがあります。
サイトの所有者は、サイトにバックドアが存在することに気づかないことがよくありますが、サイトに他のマルウェアが見つかった場合、多くのバックドア ファイルやコード インジェクションも存在する可能性があり、攻撃者がサイトに侵入できるようになります。
Finding and Removing Backdoors
バックドアの除去には、サイト コードの分析が必要です。 バックドアは通常、Web サーバー上の php ファイル内で見つかります。 バックドアは、コア、プラグイン、テーマのファイルに挿入されている場合と、独立したファイルである場合があります。
バックドアを取り除くには、まずサイトのファイルとデータベースのバックアップを作成します。 バックドアの使用は、通常、ファイルへのPOST HTTPリクエストを通じて行われるため、生のhttpアクセスログファイルを確認することは有益です。
妥協した管理者アカウントにより、攻撃者はコアテーマエディタを使用して、テーマの404ファイルにバックドアを追加することができます。
バックドアを除去するには、不正なアクセスを可能にするコードを見つけ出し、そのコードを除去する必要があります。
ローグ ファイル バックドア
ここでは、ローグ ファイル (コアのプラグイン、テーマ、またはコンテンツ管理システムの一部ではないファイル) として見つかったバックドアのサンプルをいくつか紹介します。 これらのファイルには、xml.php、media.php、plugin.phpなど、他のコアファイルと同様の無害な名前が付けられており、サイトのどこにでも置くことができます。 不正なファイルのコードは次のように始まります。
$t43="l/T6\\:aAcNLn#?rP}1\rG_ -s`SZ\$58t\n7E{.*]ixy3h,COKR2dW = ${$t43.$t43
サイト上の余計なファイルを探すだけでなく、すべてのファイルを調べることが重要です。
バックドア付きのプラグインとテーマ
管理者アカウントが侵害された場合、攻撃者はサイトのプラグインやテーマのアップロード機能を利用してバックドアを追加することがよくあります。
バックドア付きのプラグインが追加された場合、プラグインの管理ページに表示される場合とされない場合があります。 悪意のあるプラグインのファイルは、多くの場合、見えないようになっており、ファイル マネージャや FTP を通してファイル システム内でのみ見ることができます。
- WordPress Support
- Login Wall
- WP zipp
- WP-Base-SEO
通常のプラグインのように見えるプラグインがインストールされることがあり、Akismet3 のような名前で、古い有効な Akismet ファイルと一緒にアップロードされますが、アップロードされたファイルの中にバックドア コードが含まれています。
また、バックドアを含むテーマファイルが追加されることもあります。 WordPressのSketchテーマは、一時期、多数のバックドアファイルを含んだマルウェア付きのテーマがアップロードされて人気を博しました。 そのテーマは、テーマの管理ページに表示されることもあれば、いくつかのファイルが不足しているため、そのページの下の方に非アクティブなテーマとして表示されることもあります。
見覚えのないテーマやプラグインがあれば、それらを削除してください。 しかし、残りのファイルも見直す必要があります。
コア ファイルのバックドア 挿入
コンテンツ マネジメント システムのコア ファイルには、バックドアを挿入することができます。
このようなコードは、しばしば有効なページの先頭に追加されます。
if (isset($_REQUEST)){$_FILE =$_REQUEST('$_',$_REQUEST.'($_);');$_FILE(stripslashes($_REQUEST));}
以下はその例です。
他のバックドアは高度に難読化されており、次のように始まります。
preg_replace("/.*/e","\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66\x6C\x61\
多くの場合、バックドア ファイルのどこかに FilesMan への参照があります。
$default_action = "FilesMan";
バックドアが特定のファイルに悪意のあるコンテンツを書き込むことがあります。
安全でないメンテナンス スクリプト
メンテナンス スクリプトは、メンテナンスが行われた後に残されることがあります。 これらのスクリプトは、後に攻撃者によって発見され、悪用されます。
Looking Beyond the Backdoor
バックドアは、ほとんどの場合、他の悪意のあるページと組み合わせて、目的を達成するための手段として使用されます。
サイトにどのような種類のバックドアが見つかったとしても、重要な問題は、それがどのようにしてそこに到達したのかということです。 サイトに他の種類のマルウェアやセキュリティの脆弱性があり、それによって攻撃者がサイトにアクセスできるようになったのかもしれません。
このガイドを読んでも、バックドアの除去方法がわからない場合、すべてのバックドアを除去したかどうかわからない場合、コードがどのようにサイトに置かれたかについてさらに答えを探している場合は、助けを求めてください。