CVE-2017-9841を悪用したスキャン通信の増加

SOCにおける観測情報

SOCでは2020年1月17日頃からPHPUnitの脆弱性(CVE-2017-9841)の有無を確認するスキャン通信の増加を観測しています。以下に、その検出件数の推移を示します。なお、日別のグラフでは対象期間中の総検出件数を100%として正規化しています。

図-1 CVE-2017-9841を悪用するスキャン通信の推移

当該脆弱性はリモートから任意のPHPコードを実行することが可能なもので、2017年6月24日に公開され、既にPHPUnitにおける当該脆弱性の修正は完了しています。しかし、2019年9月頃にコンテンツ管理システム(CMS)の一つであるDrupalで再び話題となりました。これはDrupal固有の問題ではなく、Drupalで利用しているサードパーティ製のMailchimp及びMailchimp E-Commerceモジュールの一部にPHPUnitが利用されており、そのPHPUnitに対してCVE-2017-9841の悪用を試みる攻撃が観測されたことで話題となりました。また、2020年1月頃にCMSとして知られているPrestaShopにおいても、CVE-2017-9841が悪用されているという報告がされています。ここでは、侵害されたPrestaShopのサイトにおける分析結果が一部示されており、CVE-2017-9841を利用してXsamXadooと呼ばれるマルウェアの配置やAdminLoginController.phpなどの既存ファイルを改ざんする行為が発生したとのことです。運用しているPrestaShopの影響を確認する方法や影響範囲、対策はPrestaShopの公式サイトをご確認ください。

このような背景から、今回SOCが観測したCVE-2017-9841に対するスキャン通信は、インターネット上に残存するCVE-2017-9841が悪用可能なサーバを調査するための目的であると考えられます。

スキャン通信の例

図-1に示したスキャン通信の増加はの60程度の送信元IPアドレスからの通信が原因であることが確認できています。以下に、CVE-2017-9841に対する脆弱性の有無を確認するスキャン通信の一部を示します。

図-2 CVE-2017-9841に対する脆弱性の有無を確認するスキャン通信の例1
図-3 CVE-2017-9841に対する脆弱性の有無を確認するスキャン通信の例2

SOCで確認した脆弱性の有無を確認するスキャン通信は、'<prestashop_directory>/vendor’ 及び ‘<prestashop_directory>/modules/<module_name>/vendor’の配下に存在する’eval-stdin.php’に対してPOST通信を行い、多くは図-2に示すようにmd5でハッシュ値の計算を試みるものでした。図-3のケースでは、POST通信に含まれるデータが存在しません。これは、’eval-stdin.php’ファイルへのアクセスを通して当該脆弱性の有無を確認するスキャン行為です。PrestaShopのautoupgradeモジュールは、PHPUnitの脆弱性の影響を緩和する対処として、 ‘/vendor/phpunit’配下のファイルを削除するという対応をしているため、autoupgradeモジュールを用いてPHPUnitを利用している場合、図-3のように’eval-stdin.php’ファイル到達の有無が脆弱性の有無に直結すると考えられます。

まとめ

2020年1月17日からCVE-2017-9841の利用可能なサーバをスキャンする通信が増加しました。CVE-2017-9841はリモートから任意のコマンド実行が可能な脆弱性であるため、マルウェアの配置以外にも悪用される可能性があります。また、DrupalやPrestaShopに限定せず、PHPUnitの脆弱性(CVE-2017-9841)がインターネット上から悪用されないかご確認ください。

執筆者プロフィール

セキュリティオペレーションセンター 守田 瞬

セキュリティ本部 セキュリティビジネス推進部 セキュリティオペレーションセンター データアナリスト