Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

新しいApache Strutsの脆弱性、リモートでコード実行

8月23日の更新情報: Tenableの研究チームによって実用的な概念実証(PoC)がGithubで発見され、検証されました。さらに、攻撃者がすでに脆弱なApache Strutsインスタンスをプローブしているという兆候が見られています。

背景

Semmleの研究者は特定の構成要件を満たす、Apache Strutsを実行中のサーバーにてリモートコード実行(RCE)脆弱性(CVE-2018-11776)を発見し、公開しました。Semmleによると、これらの要件は以下の通りです。

  • alwaysSelectFullNamespaceフラッグはStruts構成において「True」に設定されています。(注: お使いのアプリケーションが多用されているStrutsの従来のプラグインを使用している場合はこれに該当します。)
  • アプリケーションのStruts構成ファイルには、オプションの名前空間属性を指定しない、もしくはワイルドカードの名前空間(例:「/*」)を指定する<action ...>タグが含まれます。

この脆弱性の対象は、Apache StrutsのバージョンがStruts 2.3–Struts 2.3.34 または Struts 2.5–Struts 2.5.16です。Apacheにより提供されている最新バージョンにアップグレードすることでリスクを軽減できる可能性があります。

影響の評価

上記の構成要件が満たされており、かつお使いのApache Strutsのバージョンが推奨のバージョンにアップデートされていない場合、攻撃者はApache Strutsを使用してウェブアプリケーションを完全にのっとることができます。

Equifaxも、歴史上最も高額なデータ漏洩と呼ばれるものに使用された同様のApache Strutsの脆弱性(CVE-2017-5638)確認しました。これと同様の多くのウェブベースのRCE脆弱性は、公開後数日以内に公に出現したエクスプロイトとともに迅速にリサーチされました。実際、弊社の最近の攻撃側の先行者利益レポートでも、最もよく見られる脆弱性の34%で、見つかったその日にエクスプロイトが出現したことを明らかにしています。

脆弱性の詳細

Apache Strutsでは、<action ...>タグに対応する名前空間属性が存在しない場合、デフォルトのredirectAction結果タイプはコマンドとしてHTMLリクエストの無害化されていないストリングを渡します。

さらに、プリセットのactionまたはvalue属性のない<s:url …>タグは、不足している属性に悪意あるコードを注入することで操作され、Strutsに実行済みのコマンドとして渡されます。

緊急措置が必要

できるだけ早く、Apache Strutsバージョン2.3.35または2.5.17にアップグレードしてください。

Apacheはまた、以下の構成の変更により脆弱性を軽減できるとしています(ただし、これはあくまでも組織がアップグレードを実行するまでの一時的なワークアラウンドです):

  • 基の構成の全ての定義された結果に対して、セット名前空間(該当の場合)があることを確認
  • お使いのJSPの全ての「url」タグに対してセットvalueまたはactionを持っていることを確認。上のアクション構成が名前空間を持っていない、もしくはワイルドカード名前空間の場合に両方必要になります。

Semmleの研究者は、他の方法による攻撃が存在する可能性を指摘しており、これらの構成要件が必ずしも攻撃を防ぐことができるとは限りません。

攻撃されたシステムの特定(8月24日更新)

未認証のリモートチェック

プラグイン112064は、脆弱性の悪用を試みて、ICMP echo (ping)リクエストをリモートホストからスキャナホストに返し、エクスプロイトに成功したかどうかを検証するリモートプラグインです。

適切なスキャンテストを行うには次の手順が必要です:

  • まず、Assessment -> General Settingsから「perform thorough tests」を有効にします。
  • 次に、Assessment設定で「Web Application Scan」を有効にします。ウェブアプリケーションをクロールを開始する適切な場所をスキャンするように構成してください。Assessment設定のWeb Applicationsセクションで、以下の画像でハイライトしているように、ロボット型検索エンジンの「Start crawling from」の場所を定義します。
  • 最後に、高度にセグメント化され、区分化されたネットワークについては、ターゲットがスキャナの直接IPをpingする能力を持っていることが重要です。これは、VPC、サブネット、およびコンテナ化されたアプリケーションが通信と干渉するクラウド環境において特に大切です。プラグインがターゲットからスキャナに送信し、ブラインドのリモートコード実行脆弱性が存在するかどうかを検証します。

注: このプラグインは脆弱性の性質上、Tenable.ioスキャナプールでは動作しません。ユーザーの方は、お使いのオンプレミスのスキャナでスキャンされることを推奨します。

認証済みのローカルチェック

プラグインID112036は、Windows (SMB資格情報使用)およびUnix (SSH資格情報使用)の両方ともにあります。このプラグインは、「Accuracy」設定が[Show potential false alarms]に設定されている場合にのみスキャンで実行されます。このプラグインはStrutsアプリケーションで特定されたバージョン番号のみに依存するため、このプラグインは脆弱性を緩和するワークアラウンドが実行されているかどうか特定することができません。この理由から、「Accuracy」設定は、[Show Potential false alarms]である必要があります。

Tenable.io Container Securityは、CVE-2018-11776の脆弱性があるApache Strutsのバージョンを実行しているコンテナを検出できます。

重要: Apacheは、古いサポート対象外のバージョンのStrutsが脆弱である可能性があり、最新バージョンにアップグレードすることを推奨しています。

プラグインID

説明

112036

Apache Struts CVE-2018-11776 Results With No Namespace Possible Remote Code Execution (S2-057)

112064

Apache Struts CVE-2018-11776 Results With No Namespace Possible Remote Code Execution (S2-057) (Remote Check)

攻撃されたシステムのプラグイン出力の例は以下でご確認いただけます。

詳細情報を入手する

現代のアタックサーフェスを総合的に管理する初のCyber Exposureプラットフォーム、Tenable.ioについてもっと知る。今すぐTenable.io Container Securityを無料でお試しください

Tenableブログを購読する

購読する
無料でお試し 今すぐ購入

Tenable.ioを試す

60 日間無料

最新のクラウドベースの脆弱性管理プラットフォームの全機能にアクセスし、これまでにない精度で全ての資産を確認し、追跡しましょう。 今すぐサインアップしてください。

Tenable.ioを購入する

最新のクラウドベースの脆弱性管理プラットフォームの全機能にアクセスし、これまでにない精度で全ての資産を確認し、追跡しましょう。 年間サブスクリプションをご購入ください。

65 資産

$2,275.00

今すぐ購入

無料でお試し 今すぐ購入

Nessus Professionalを無料で試す

7日間無料

Nessus®は、最も包括的な脆弱性スキャナです。Nessus Professionalは脆弱性のスキャンプロセスを自動化し、コンプライアンスサイクルを短縮し、お客様がITチームに専念できるようにサポートします。

Nessus Professionalを購入する

Nessus®は、最も包括的な脆弱性スキャナです。Nessus Professionalは脆弱性のスキャンプロセスを自動化し、コンプライアンスサイクルを短縮し、お客様がITチームに専念できるようにサポートします。

Buy a multi-year license and save. Add Advanced Support for access to phone, email, community and chat support 24 hours a day, 365 days a year. Full details here.

無料でお試し 今すぐ購入

Tenable.io Web Application Scanningを試す

60 日間無料

Tenable.ioプラットフォームの一部として最新のアプリケーション用に設計された、最新のWebアプリケーションのスキャンサービスの全機能にアクセス可能です。手作業による労力や重大なWebアプリケーションの中断なしに、脆弱性のオンラインポートフォリオを安全に高精度でスキャンします。 今すぐサインアップしてください。

Tenable.io Web Application Scanningを購入する

最新のクラウドベースの脆弱性管理プラットフォームの全機能にアクセスし、これまでにない精度で全ての資産を確認し、追跡しましょう。 年間サブスクリプションをご購入ください。

5 FQDNs

$3,578.00

今すぐ購入

無料でお試しください セールスにご連絡ください

Tenable.io Container Securityを試す

60 日間無料

脆弱性管理プラットフォームに統合された唯一のコンテナセキュリティ製品の全機能にアクセス可能です。コンテナイメージの脆弱性、マルウェア、ポリシー違反を監視継続的インテグレーション/継続的デリバリー(CI / CD)システムと統合し、DevOpsプラクティス、セキュリティ強化、および企業のポリシーコンプライアンスをサポート

Tenable.io Container Securityを購入する

Tenable.ioのContainer Securityは、ビルドプロセスと統合することにより、コンテナイメージのセキュリティ(脆弱性、マルウェア、ポリシー違反など)を可視化し、シームレスかつ安全なDevOpsプロセスを実現します。

Industrial Securityについてもっと知る

Tenable.scのデモを入手する

以下のフォームに連絡先をご記入ください。営業担当者からデモのスケジュールについてご連絡いたします。短いコメントもご記入いただけます(255文字まで)。アスタリスク(*)マークの付いた欄は必須です。