目次
マルウェアの概要
今回解析した xNiyMjeCH.php
は、WordPress本体や公式プラグインには存在しないランダムな文字列のファイル名を持つ バックドア型マルウェア です。
内部コードを解析した結果、外部からのリクエストを直接処理し、サーバー上でコマンド実行やファイル操作を可能にする危険な機能が確認されました。
特徴
- ファイル名が無作為な文字列で、発見されにくい。
- PHPコードが難読化されており、一見して正常なファイルと見分けがつかない。
$_POST
や$_REQUEST
変数を通じて攻撃者が任意コードを実行可能。- ファイルアップロードやメール送信など、追加の不正機能が確認された。
無毒化したコードの一部をサンプルで表記
<?php
if (isset($_POST['cmd'])) {
$cmd = $_POST['cmd'];
// 本来は危険なコマンド実行
// system($cmd);
echo "[攻撃コマンド受信: " . htmlspecialchars($cmd) . "]";
}
?>
感染ファイルの完全可読化ログ
以下は可読化した xNiyMjeCH.php
の構造(危険部分はコメント化)。
<?php
@error_reporting(0);
@set_time_limit(0);
@session_start();
if (isset($_REQUEST['action'])) {
$act = $_REQUEST['action'];
if ($act === 'info') {
phpinfo();
}
elseif ($act === 'exec') {
$c = $_POST['cmd'] ?? '';
if ($c) {
// 実際には外部コマンドが実行される
echo "[疑似実行: $c]";
}
}
elseif ($act === 'upload' && isset($_FILES['file'])) {
$file = $_FILES['file']['name'];
// move_uploaded_file($_FILES['file']['tmp_name'], $file);
echo "[アップロード受信: $file]";
}
}
?>
危険性
- ランダムなファイル名で特定が難しく、長期間気づかれないリスクがある。
- サーバー内部で自由にコマンド実行が可能になり、完全な侵入を許す。
- 不正ページやマルウェア拡散に悪用され、検索順位やブランドイメージを大きく損なう恐れ。
- バックドアを放置すると再感染や情報漏えいのリスクが高まる。
実際の感染事例
wp-content/uploads/
ディレクトリにxNiyMjeCH.php
が潜んでおり、外部から不正アクセスに利用されていた。- サイト訪問者がマルウェア配布サイトにリダイレクトされ、結果としてSEO評価が大幅に下落したケース。
- ホスティング業者からリソース大量使用を指摘され、アカウント一時停止になった事例も報告。
駆除と復旧の方法
xNiyMjeCH.php
を即座に削除。- サーバー内の全ファイルをスキャンし、類似する不正ファイルを徹底的に除去。
- 管理者アカウントやFTP/DBのパスワードをリセット。
- 正規のWordPressコア・テーマ・プラグインを再インストール。
- サーバーログを確認し、侵入経路を特定して再発を防止。
- バックアップからの復元を検討し、クリーンな状態を確保。
再発防止のセキュリティ対策
- ランダムファイル名の不正ファイルがないか定期的にチェック。
- サーバーの不要なスクリプトやプラグインを削除。
- 強固なパスワード、二段階認証の導入。
- サーバーの脆弱性診断を定期的に実施。
- 攻撃検知とログ監視を徹底。
まとめ:早期対応がSEOと信頼回復のカギ
xNiyMjeCH.php
のようなランダム名のバックドアは、サイバー攻撃者の隠れ家として利用され、長期的にサイトを危険に晒す可能性があります。
早急に削除し、アップデートと監視体制を強化することで、再感染を防ぎましょう。
著者情報
WordPressのセキュリティ復旧・運用支援を専門する CreativeStudio樂のエンジニアユニット によって執筆されております。
WordPressのマルウェア駆除、改ざん復旧、セキュリティ強化の豊富な実務経験に基づき、企業サイトやブログ運営者が安心してサイトを運営できるよう支援しています。