Web シェル攻撃は増加し続けています

1 年前、私たちは世界中で Web シェルを使用した攻撃が着実に増加していることを報告しました。最新の Microsoft 365 Defender のデータは、この傾向が継続しただけでなく、加速したことを示しています。2020 年 8 月から 2021 年 1 月までの毎月、サーバー上でこれらの脅威の平均 140,000 の遭遇を記録しました。これは、昨年の月平均 77,000 のほぼ 2 倍です。

図 1. サーバーでの Web シェルの遭遇

Web シェルの普及率が高まっているのは、攻撃者にとって Web シェルがどれほど単純で効果的であるかに起因している可能性があります。 Web シェルは通常、典型的な Web 開発プログラミング言語 (ASP、PHP、JSP など) で記述された悪意のあるコードの小さな断片であり、攻撃者は Web サーバーに埋め込み、サーバー機能へのリモート アクセスとコード実行を提供します。 Web シェルを使用すると、攻撃者はサーバー上でコマンドを実行してデータを盗んだり、サーバーを他の活動 (資格情報の盗難、ラテラル ムーブメント、追加のペイロードの展開、キーボード操作など) の出発点として使用したりできます。組織。

Web シェルは、一般的な攻撃と標的型攻撃の両方でますます一般的になっているため、お客様を確実に保護するために、この傾向を監視および調査し続けています。このブログでは、Web シェルを検出する際の課題と、組織がこれらの脅威から防御するために現在使用できる Microsoft テクノロジと調査ツールについて説明します。また、Web シェル攻撃に対してネットワークを強化するためのガイダンスも共有します。

攻撃のエントリ ポイントとしての Web シェル

攻撃者は、インターネットに接続されたサーバーのセキュリティ ギャップ (通常は Web アプリケーションの脆弱性) を利用して、サーバーに Web シェルをインストールします。これらの攻撃者は、多くの場合、 shodan.ioなどのパブリック スキャン インターフェイスを使用してインターネットをスキャンし、標的とするサーバーを見つけます。残念ながら多くのサーバーでパッチが適用されていない、以前に修正された脆弱性を使用する可能性がありますが、新しく公開された脆弱性をすぐに利用することも知られています。

たとえば、6 月 30 日、F5 Networks は、トラフィック管理ユーザー インターフェイス (TMUI) のリモート コード実行 (RCE) 脆弱性である CVE-2020-5902 のパッチをリリースしました。この脆弱性はディレクトリ トラバーサルのバグであり、CVSS スコアは 10 点満点中 9.8 点です。わずか 4 日後の 7 月 4 日に、エクスプロイト コードが Metasploit モジュールに追加されました。

図 2. CVE-2020-5902エクスプロイト コード

翌日、Microsoft の研究者は、脆弱なサーバーに Web シェルをアップロードするために攻撃者がエクスプロイトを使用しているのを確認し始めました。 Web シェルは、一般的な暗号通貨マイナーを実行するために使用されました。その後数日間、業界のセキュリティ研究者は、エクスプロイトが Web シェルの展開に広く使用されていることを確認し、その後すぐに複数の亜種が出現しました。

このインシデントは、サーバーを最新の状態に保ち、Web シェル攻撃に対して強化することの重要性を示しています。 Web サーバーはインターネットからアクセスできることが多く、攻撃者がネットワークへのアクセスに使用する可能性があります。

永続化メカニズムとしての Web シェル

Web シェルは、サーバーにインストールされると、企業内で永続化するための最も効果的な手段の 1 つとして機能します。 Web シェルが永続化メカニズムとしてのみ使用されているケースがよく見られます。 Web シェルは、侵害されたネットワークにバックドアが存在することを保証します。これは、攻撃者がサーバーに最初の足場を確立した後、悪意のあるインプラントを残すためです。検出されないままにしておくと、Web シェルは、攻撃者がアクセスできるネットワークから引き続きデータを収集し、収益化する方法を提供します。

侵害の回復は、攻撃者の持続性メカニズムを見つけて削除しない限り、成功して持続することはできません。また、侵害された単一のシステムを再構築することは優れたソリューションですが、多くの場合、既存の資産を復元することが唯一の実行可能なオプションです。そのため、すべてのバックドアを見つけて削除することは、侵害回復の重要な側面です。

これにより、Web シェル検出の課題に戻ります。前述したように、Web シェルは、インプラントを介して任意の攻撃者の入力を実行する手段として一般化できます。最初の課題は、攻撃者がコードを実行できる方法の数に対処することです。 Web アプリケーションはさまざまな言語とフレームワークをサポートしているため、攻撃者が利用できる高度な柔軟性と互換性が提供されます。

さらに、ネットワーク トラフィックの量に加えて、絶え間ないインターネット攻撃の通常のノイズは、Web サーバーを狙った標的型トラフィックが混じり合う可能性があることを意味し、Web シェルの検出が非常に困難になり、識別して停止できる高度な動作ベースの検出が必要になります。目に見えない悪意のある活動。

Web シェルの検出における課題

Web シェルは、Web アプリケーションで一般的ないくつかの言語のいずれかを使用して構築できます。各言語内には、任意のコマンドを実行する手段がいくつかあり、攻撃者が任意に入力する手段が複数あります。攻撃者は、ユーザー エージェント文字列または Web サーバー/クライアントの交換中に渡されるパラメーターのいずれかに指示を隠すこともできます。

攻撃者は、これらすべてのオプションをわずか数バイトに結合して、Web シェルを作成します。次に例を示します。

図 3. Web シェル コードの例

上記の例では、Web シェルで読み取り可能な唯一の単語は「eval」であり、見落としたり誤解したりしやすい可能性があります。スクリプトを分析するときは、コンテキストの手がかりを活用することが重要です。たとえば、疑わしい Web サイトからコードをダウンロードして実行する「Update Google」と呼ばれるスケジュールされたタスクは、より詳細に検査する必要があります。

Web シェルでは、シェルを使用するまでコンテキストが明確にならないため、コンテキストの分析が難しい場合があります。次のコードで最も有用な手がかりは「system」と「cat /etc/passwd」ですが、攻撃者が Web シェルと対話するまでこれらは表示されません。

図 4. Web シェル コードの別の例

Web シェルを検出する際のもう 1 つの課題は、意図を明らかにすることです。無害に見えるスクリプトも、意図によっては悪意のあるものになる可能性があります。しかし、攻撃者が Web ディレクトリに任意の入力ファイルをアップロードできる場合、任意のコードを実行できるフル機能の Web シェルをアップロードできます。これは、一部の非常に単純な Web シェルで実行されます。

これらのファイル アップロード Web シェルはシンプルで軽量であり、攻撃者のコマンドを単独で実行できないため見過ごされがちです。代わりに、フル機能の Web シェルなどのファイルを Web サーバーにアップロードすることしかできません。それらは単純であるため、検出が困難であり、無害であると見なされる可能性があります。

最後に、攻撃者は、メディア ファイルなどの実行不可能なファイル形式で Web シェルを隠すことが知られています。サーバー側のコードを実行するように構成された Web サーバーは、Web シェルを検出するための追加の課題を作成します。これは、Web サーバーでは、サーバー側の実行命令についてメディア ファイルがスキャンされるためです。攻撃者は、写真内に Web シェル スクリプトを隠し、それを Web サーバーにアップロードできます。このファイルをワークステーションにロードして分析すると、写真に害はありません。しかし、Web ブラウザがサーバーにこのファイルを要求すると、悪意のあるコードがサーバー側で実行されます。

Web シェルを検出する際のこれらの課題は、攻撃ツールとしての人気の高まりに貢献しています。これらの回避型の脅威がサイバー攻撃でどのように利用されるかを常に監視し、保護を改善し続けています。次のセクションでは、動作ベースの検出技術が Web シェル攻撃から顧客を保護するのにどのように役立つかについて説明します。

Microsoft が Web シェル攻撃からネットワークを保護する方法

インターネットに接続されたサーバーを可視化することは、Web シェルの脅威を検出して対処するための鍵です。これらの脅威を検出する際の課題に取り組むために、 Microsoft Defender for Endpointは、Web シェルのインストールを防ぐ永続的な保護と、関連する悪意のあるアクティビティを識別する動作ベースの検出を組み合わせて使用します。 Microsoft Defender for Endpoint は、スクリプト ファイルの書き込みとプロセスの実行を分析することにより、悪意のある動作を公開します。 Web シェルの性質上、静的分析は効果的ではありません。これまでに示したように、Web シェルを変更して静的保護をバイパスするのは比較的簡単です。効果的に保護を提供するために、Microsoft Defender for Endpoint は、動作検査を通じて複数の保護レイヤーを使用します。

動作を分析して脅威を検出することに特化したエンジンを使用する動作ベースのブロックおよび封じ込め機能は、新しいスクリプト ファイルの作成について、Web アクセス可能なディレクトリを監視します。ファイル作成イベントだけを疑わしいものとして扱うことはできませんが、そのようなイベントを原因となるプロセス ツリーと関連付けることで、より信頼性の高いシグナルを生成し、悪意のある試みを表面化させることができます。その後、エンジンはスクリプトを修復し、主要な感染経路を無力化します。たとえば、「 cmd.exe /c echo 」 、「 certutil.exe 」 、または「 powershell.exe 」などの疑わしいプロセスを実行している IIS インスタンス ( w3wp.exe ) は、Web アクセス可能なフォルダーにスクリプト ファイルを作成します。これはまれなイベントであり、通常、Web サーバーの侵害と Web シェルのインストールの強力な兆候です。

Microsoft Defender for Endpoint は、さまざまなラテラル ムーブメント メソッドを使用して、組織内のリモート システムからの Web シェル インストールの試行も検出します。たとえば、攻撃者が Windows リモート管理 (WinRM) を介して Web シェルを投下したり、既存の Windows コマンドを使用して SMB 経由で Web シェルを転送したりすることが確認されています。 Web サーバーでは、これらのリモート アクションはシステム プロセスによって実行されるため、プロセス ツリーを可視化できます。スクリプト ファイルをドロップするシステム特権プロセスは、もう 1 つの疑わしいイベントであり、攻撃者が悪意のあるアクションを実行する前にスクリプトを修正する方法を動作検査エンジンに提供します。

動作ベースの保護は、攻撃者が Web サーバー上で既に操作およびコマンドを実行しているシナリオで、侵害後の防御も提供します。攻撃者がサーバーへのアクセス権を取得したら、最初のステップの 1 つは、Web アプリケーションでは通常使用されない組み込みの偵察コマンドを使用して、アクセスできる権限と環境を理解することです。 ‘net’‘whoami’‘dir’‘cmd.exe’ 、または‘query’などのコマンドを実行している IIS インスタンス ( w3wp.exe ) は、通常、Web シェル アクティビティの強力な初期インジケーターです。

IIS サーバーには、管理者がさまざまなメンテナンス タスクを実行するために使用する管理ツールが組み込まれています。これらのプラットフォームは、重要な情報を攻撃者に公開する可能性のあるさまざまな PowerShell コマンドレットを表面化させます。 Outlook on the web (旧称 Outlook Web App または OWA) や Exchange 管理センター (EAC、旧称 Exchange コントロール パネルまたは ECP) などのさまざまな Web 向けクライアント サービスをホストする IIS インスタンス ( w3wp.exe )。管理プラットフォームまたは以下のコマンドレットを実行することは疑わしいアクティビティであり、ハンズオン キーボード攻撃を意味します。動作エンジンは、そのようなコマンドレットの実行と、担当するプロセス ツリーを監視します。次に例を示します。

Microsoft Defender for Endpoint は、動作ベースのブロック機能と封じ込め機能を備えており、Web シェル攻撃に関連する動作を識別して停止できます。これらの検出に対してアラートが生成されるため、セキュリティ運用チームは Microsoft Defender for Endpoint の豊富な調査ツールを使用して、関連または類似の脅威を追加調査およびハンティングできます。

図 5. Web シェル攻撃に関連する動作に対する Microsoft Defender for Endpoint アラート

Microsoft 365 Defender および Microsoft Defender for Endpoint のお客様は、高度な検索クエリを実行して、Web シェル攻撃を積極的に検索することもできます。

IIS ワーカー プロセス (w3wp.exe)、Apache HTTP サーバー プロセス ( httpd.exevisualsvnserver.exe ) などによって通常開始されない疑わしいプロセス (例: cmd.exeおよびpowershell.exe ) を探します。

DeviceProcessEvents
| | InitiatingProcessCommandLine has_any("beasvc.exe","coldfusion.exe","httpd.exe","owstimer.exe","visualsvnserver.exe","w3wp.exe") または InitiatingProcessCommandLine に「tomcat」が含まれる場合
| | where FileName != "csc.exe" // csharp コンパイラを除外
| | where FileName != "php-cgi.exe" //php グループを除外、高速 cgi
| | where FileName != "vbc.exe" //Visual Basic コマンド ライン コンパイラを除外
| |ファイル名で要約

疑わしい Web シェルの実行を探します。これにより、リモート実行と偵察活動に関連するプロセスを特定できます (例: 「arp」、「certutil」、「cmd」、「echo」、「ipconfig」、「gpresult」、「hostname」 、「net」、「netstat」、「nltest」、「nslookup」、「ping」、「powershell」、「psexec」、「qwinsta」、「route」、「systeminfo」、「tasklist」、「wget」、「 whoami」、「wmic」など)

DeviceProcessEvents
| |ここで、InitiatingProcessParentFileName in~("beasvc.exe","coldfusion.exe","httpd.exe","owstimer.exe","visualsvnserver.exe","w3wp.exe") または InitiatingProcessParentFileName は "tomcat" で始まります
| | InitiatingProcessFileName in~("powershell.exe","powershell_ise.exe","cmd.exe")
| |どこで FileName != 'conhost.exe'

Web シェルに対するサーバーの強化

攻撃者がリモートでサーバー上でコマンドを実行できる単一の Web シェルは、広範囲に及ぶ結果をもたらす可能性があります。ただし、スクリプトベースのマルウェアでは、すべてが最終的にcmd.exe 、 powershell.exe 、およびcscript.exeなどのいくつかの自然なチョークポイントに集中します。ほとんどの攻撃ベクトルと同様に、防止が重要です。

組織は、次の予防措置を講じることで、Web シェル攻撃に対してシステムを強化できます。

  • Web アプリケーションと Web サーバーの脆弱性または構成ミスを特定して修正します。脅威と脆弱性の管理を使用して、これらの弱点を発見して修正します。最新のセキュリティ更新プログラムが利用可能になったらすぐに展開します。
  • 侵害された Web サーバーが企業ネットワークの侵害につながらないように、境界ネットワークの適切なセグメンテーションを実装します。
  • Web サーバーでウイルス対策保護を有効にします。 クラウドによる保護を有効にして、新たに出現する脅威に対する最新の防御を実現します。ユーザーは、ウイルス対策によってスキャンでき、サーバー側のスクリプトまたは実行を許可しないように構成されたディレクトリにのみファイルをアップロードできる必要があります。
  • Web サーバーからのログを頻繁に監査して確認します。インターネットに直接公開するすべてのシステムに注意してください。
  • Windows Defender ファイアウォール、侵入防止デバイス、およびネットワーク ファイアウォールを利用して、エンドポイント間のコマンド アンド コントロール サーバー通信を可能な限り防止し、ラテラル ムーブメントやその他の攻撃活動を制限します。
  • 境界ファイアウォールとプロキシを確認して、非標準ポートを介したサービスへのアクセスを含め、サービスへの不要なアクセスを制限します。
  • 資格情報の衛生状態を適切に実践します。ローカルまたはドメインの管理者レベルの権限を持つアカウントの使用を制限します。

Web シェルとそれが可能にする攻撃は多面的な脅威であり、ドメインとプラットフォーム全体を包括的に可視化する必要があります。 Microsoft 365 Defenderは、エンドポイント、電子メールとデータ、ID、アプリからの脅威データを関連付けて、クロスドメイン保護を調整します。 Microsoft Defender 365 を使用して、自動化されたクロスドメイン セキュリティと組み込みの AI によって攻撃を阻止する方法について説明します

 

検知および対応チーム (DART)

Microsoft Defender セキュリティ研究チーム

 

参考: https ://www.microsoft.com/en-us/security/blog/2021/02/11/web-shell-attacks-continue-to-rise/

コメント

タイトルとURLをコピーしました