[WEB] Webシェル攻撃とcreate_function関数の脆弱性

PLURA

Webシェル(Webshell)の概要

Webシェル(Webshell)とは、Webサーバーにアップロードされることで、攻撃者がリモートからサーバーを制御できるようにする悪意のあるスクリプトです。これにより、サーバーのファイルシステムにアクセスし、コマンドを実行することが可能になります。


主な機能:

  • ファイル管理: アップロード、ダウンロード、編集、削除
  • コマンド実行: サーバー上でのシェルコマンド実行
  • ネットワーク活動: 悪意のあるコードの拡散や他のシステムへの攻撃
  • データベースアクセス: 機密情報の流出

webshell_attack_and_create_function


Webシェルの実行/分析情報

1

分析情報:

  • MD5: 3cd5c4352b1379bd789ab3de7b76a196
  • SHA-1: 3a728d71ac418a906f9db78ba3fa935736eb02c9
  • SHA-256: ec04ce68129b58837f0b7b720f9dcb453d840f051ef9d1e2f7d197abf4167384

[画像1] VirustotalによるWebシェル分析結果


create_function関数の脆弱性

3

create_function関数は、PHPで匿名関数(Anonymous Function)を生成する機能を提供します。しかし、この関数はセキュリティ上の脆弱性が指摘されており、次第に使用が非推奨となりました。

PHPバージョン別の動作:

  1. PHP 4.0.1 ~ 7.1.x

    • 正常に使用可能。
  2. PHP 7.2.0 ~ 7.4.x

    • create_function()は非推奨(deprecated)となり、警告メッセージが表示されますが、関数は引き続き実行可能です。
    • 出力例:
      Deprecated: Function create_function() is deprecated in /path/to/file.php on line 2
      
  3. PHP 8.0以降

    • 関数が完全に削除され、実行時にFatal Errorが発生します。
    • 出力例:
      Fatal error: Uncaught Error: Call to undefined function create_function() in /path/to/file.php:2
      

対応方法

PHPのバージョンを最新にアップデートすることは、セキュリティとパフォーマンスを強化するために必須です。特に、create_function関数の脆弱性を回避するためには、最新バージョンの使用が推奨されます。

最新バージョンアップデートのメリット:

  1. セキュリティ強化: Webシェル攻撃や脆弱性の防止。
  2. パフォーマンス向上: Webアプリケーションの応答速度を最適化。
  3. 新機能の提供: 最新の文法や機能を活用可能。

そのため、PHP 8.0以降にアップデートすることで、セキュリティとパフォーマンスを維持し、Webシェルのような攻撃からシステムを保護できます。


参考資料