目次
マルウェアの概要
今回解析した moo.php
は、WordPress標準ファイルや一般的なプラグインとは無関係の不審なPHPファイルです。
調査の結果、外部から送信されたデータを直接実行する Webシェル型のマルウェア であることが判明しました。攻撃者にサーバーの制御権を与えてしまうため、非常に危険です。
特徴
moo.php
という一見無害な短い名前で偽装。- 難読化された文字列を復号して利用。
$_POST
/$_REQUEST
の内容を受け取り、任意のコマンドを実行する仕組み。- ファイルアップロードやリモートからのコード注入を可能にする部分を含む。
無毒化したコードの一部をサンプルで表記
<?php
if (isset($_POST['cmd'])) {
$cmd = $_POST['cmd'];
// 本来は危険な system($cmd) などが実行される
echo "[攻撃コマンド受信: " . htmlspecialchars($cmd) . "]";
}
?>
感染ファイルの完全可読化ログ
以下は moo.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) {
// 実際には system($c) が実行される
echo "[疑似実行: $c]";
}
}
elseif ($act === 'upload' && isset($_FILES['file'])) {
$f = $_FILES['file']['name'];
// move_uploaded_file($_FILES['file']['tmp_name'], $f);
echo "[アップロード受信: $f]";
}
}
?>
危険性
- シンプルな名前で油断させる手口。
- サーバーを完全に遠隔操作される危険性。
- データ漏洩やスパムサイトへのリダイレクトに利用される。
- 検出が遅れるとSEO評価の大幅低下やGoogle検索からの除外リスク。
実際の感染事例
moo.php
がwp-content/uploads/
内に設置され、外部コマンド実行に利用されたケース。- 攻撃者によって新たなマルウェアファイルが連鎖的にアップロードされ、サイト全体が乗っ取られた事例。
- 広告スパムやフィッシングサイトへの誘導に悪用され、ドメインの信頼性が大きく損なわれたケースも確認されている。
駆除と復旧の方法
moo.php
を即時削除。- サーバー全体のファイルをスキャンし、類似ファイルを徹底的に除去。
- WordPressコア・テーマ・プラグインを正規の最新版で再インストール。
- 管理者アカウントやFTP/DBパスワードを全て変更。
- サーバーログを確認し、不正アクセス経路を特定。
- クリーンなバックアップからの復元も検討。
再発防止のセキュリティ対策
- ランダム名のファイルや不審なPHPファイルが生成されていないか定期的にチェック。
- WAFやセキュリティプラグイン(Wordfence, WP Cerberなど)の導入。
- 不要なプラグイン・テーマを削除し、脆弱性の原因を減らす。
- 管理者ログインへの二段階認証を導入。
- 定期的なバックアップとリストアテストを実施。
まとめ:早期対応がSEOと信頼回復のカギ
moo.php
は非常にシンプルながら強力なバックドアで、攻撃者による不正アクセスやデータ漏えいの原因となります。
感染が判明した場合は速やかに削除・復旧を行い、セキュリティ体制を強化することが重要です。
著者情報
WordPressのセキュリティ復旧・運用支援を専門する CreativeStudio樂のエンジニアユニット によって執筆されております。
WordPressのマルウェア駆除、改ざん復旧、セキュリティ強化の豊富な実務経験に基づき、企業サイトやブログ運営者が安心してサイトを運営できるよう支援しています。