
Microsoft のオンプレミス SharePoint サーバーに対する「ToolShell」攻撃に関して、コミュニティや業界が行った素晴らしい作業に脱帽です。この記事の目的は、その素晴らしい作業を基に、オンプレミスの SharePoint サーバーを使用している Sumo Logic のお客様が、環境内の証拠を調査して特定できるようにすることです。
出来事の簡単な要約
2025年7月18日、Eye Security 社はオンプレミス版 SharePoint サーバーに対する攻撃を特定しました。この攻撃により、不審な .aspx ファイルが書き込まれ、デジタル・マシンキーが抽出されていました。攻撃チェーンの分析の結果、Microsoft が過去に公開した一対の脆弱性およびそのパッチに関連する、別の 2件の脆弱性が存在することが判明しました。
攻撃者は、オンプレミス版SharePointサーバー(2013、2016、2019、 およびサブスクリプション版)に対して、サーバーのデジタルマシンキーへのアクセス権を取得することを目的として、ウェブシェルを展開するために2つの脆弱性(重大なリモートコード実行脆弱性(CVE-2025-53770)とサーバーなりすまし脆弱性(CVE-2025-53771))の利用が確認されました。
2025年7月19日、MicrosoftはSharePointサーバー向けに緊急の帯域外パッチを発行しました。これに加え、MSRCブログ記事でSharePointサーバーのパッチ適用、SharePoint Server ASP.NETマシンキーのローテーションに関する顧客向けガイダンスを提供し、検知とハンティングに関する追加の推奨事項を提示しました。
Sumo Logicでの監視と検知について見ていきましょう。
攻撃を構成要素に分解することで、検索とCloud SIEM検知の構築に役立ちます。
Sumo Logic Platform を使用した顧客環境の生のログと、Sumo Logic Cloud SIEM から正規化されたレコードを用いた検索例を見てみましょう。
エクスプロイトチェーンを開始するため、初期アクセスはToolPane.aspxへのPOSTリクエストから始まります。これはログ上で固有のURIパターンによって識別可能です。これらのスタブクエリを使用すると、このメソッドを介したSharePointとのやり取りの試行を検出できます。
_sourceCategory=prod/web/iis "ToolPane"
| parse "* * * * * * * * * * * * * * *" as date time cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
| where cs-method matches "POST"
AND cs-uri-stem matches "*/_layouts/*/ToolPane.aspx*"
Cloud SIEM record search:
_index=sec_record_network "ToolPane"
| where http_method matches "POST"
AND %"fields.cs-uri-stem" matches "*/_layouts/*/ToolPane.aspx*"
AND http_referer_path matches "/_layouts/SignOut.aspx"
http_referrer_path = /_layouts/SignOut.aspx は、偽装されたリファラーが認証制御のバイパスを可能にするため、エクスプロイトチェーンのもう一つの重要な要素です。
この攻撃チェーンにおける主要な悪意のある要素、すなわち攻撃者が標的のSharePointサーバーからマシンキーやその他の目的を抽出するために使用していることが確認されたWebシェルを特定するための調査です。
Sumo Logic search:
_sourceCategory=prod/web/iis
| parse "* * * * * * * * * * * * * * *" as date time cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
| where cs-uri-stem matches /spinstall\S?\.aspx/
AND cs-method = "GET"
Cloud SIEM record search:
_index=sec_record_network "aspx"
| where http_method = "GET"
AND %"fields.cs-uri-stem" matches /spinstall\S?\.aspx/
上記のウェブシェルは、攻撃者にターゲットサーバー上で目的を実行する能力を提供します。この活動は、セキュリティ専門家(防御側)が指摘している通り、SharePointサーバーの振る舞いとしては重要かつ検出可能な逸脱です。
まず、cmd.exeプロセスの親プロセスとしてw3wp.exeを探します。これらの検索結果は、PowerShell実行のその後の検索や、この攻撃におけるWebシェル.aspxファイルの文脈で使用されます。
Sumo Logic Search:
_sourceCategory=windows_event_logs
| json field=_raw "EventData.CommandLine" as commandLine
| json field=_raw "Computer"
| json field=_raw "EventData.ParentImage" as parentImage
| json field=_raw "EventData.Image" as image
| where toLowerCase(Image) matches "*cmd.exe"
AND toLowerCase(parentImage) matches "*w3wp.exe"
| count by Computer,parentImage,image,commandLine
Cloud SIEM record search:
_index=sec_record_endpoint
| where toLowerCase(parentBaseImage) matches "*w3wp.exe"
AND toLowerCase(baseImage) matches "*cmd.exe"
| count by device_hostname,parentBaseImage,baseImage,commandLine
Cloud SIEMのヒント: 上記のクエリを使用して、より詳細な調査が必要(かつSIEMアラートの深刻度を上げるべき)なホストを特定してください。
クラウドSIEMのお客様に便利な機能であるマッチリストを使用すると、正規化されたレコードにメタデータを追加できます。これは、機密性の高いデバイスを追跡して、レコードをすばやく検索するのにも役立ちます。さらに、エンティティのタグ付けとエンティティのクリティカリティの機能があり、クリティカリティはその特定のエンティティのシグナルの重大度計算機を増加させます。
これらの機能を組み合わせて使用することで、以下のことが可能になります:- レコード検索(マッチリスト)における環境内のSharePointサーバーの迅速な識別- SharePointサーバーへのタグ付け(エンティティ重要度の向上に使用)- Sumo Logic Cloud SIEM内でのシグナルとインサイトの確実な生成
次に、上記のホストを使用したPowerShellの実行です。
Sumo Logic Search:
_sourceCategory=windows_event_logs
| json field=_raw "Computer"
| json field=_raw "EventData.ParentImage" as parentImage
| json field=_raw "EventData.Image" as image
| where Computer IN ("[insert list of hosts above]","...")
AND toLowerCase(image) matches "*powershell.exe"
Cloud SIEM record search:
_index=sec_record_endpoint
| where device_hostname IN ("[insert list of hosts above]","...")
AND toLowerCase(baseImage) matches "*powershell.exe"
この検索の注意点:PowerShell には commandLine 経由で呼び出される複数の方法がありますが、これは 1 つの方法であり、この攻撃に関する参考資料全体に表示されている方法です。時間とインシデントが許す限り、これらのマシンやこの攻撃の影響範囲内にある可能性のある他のマシンについて深く調べることをお勧めします。
プロセスの第三段階として、ネットワーク上のホストのファイルシステムへのWebシェルの書き込みが行われます。
Sumo Logic search:
"aspx"
| json field=_raw "EventData.TargetFilename" as targetFilename nodrop
| json field=_raw "EventData.CommandLine" as commandLine nodrop
| json field=_raw "Computer" nodrop
| json field=_raw "EventData.ParentImage" as parentImage nodrop
| json field=_raw "EventData.Image" as image nodrop
| where toLowerCase(targetFilename) contains "aspx"
Cloud SIEM record search:
_index=sec_record_endpoint aspx
| where baseImage matches "*powershell.exe"
AND changeTarget contains "aspx"
[ボーナスコンテンツ] 上記の検索を応用し、エンドポイントレコード内に.aspxファイルが書き込まれる可能性のある他のソースを探る。
Cloud SIEM record search:
_index=sec_record_endpoint aspx
| where changeTarget contains "aspx"
これは、正規化されたエンドポイントレコードの中から .aspx ファイルの作成を特定するためのクエリですが、ファイルを書き込んだプロセスを PowerShell のみに限定するものではありません。これはハンティング用の分析であり、継続的な運用ではなく、非常に限定的な調査目的での利用を想定しています。
注:スコープ検索とパフォーマンス向上のためには、_sourceCategory=(生ログ)を使用したクエリのスコープ設定とsec_recordインデックスの活用を強く推奨します。ただし、複数のソースカテゴリにまたがる不審なアクティビティを調査する場合、広範な検索から開始することでアクティビティを迅速に特定し、必要に応じて検索範囲を絞り込むことが有効です。
これらのクエリは、影響を受けたSharePointインフラストラクチャの調査において網羅的なものではありません。潜在的に影響を受けた環境の調査を加速することを目的としています。
Sumo Logic Cloud SIEM 検知
Sumo Logic Cloud SIEMをご利用のお客様は、環境内で以下のルールを実行しています。これにより、影響を受けたシステム(およびその他の関連エンティティ)からのシグナルやインサイトを特定し、対応することが可能になります。
Cloud SIEMルールについては、以下のものは対象となるSharePointサーバー上での不審な実行に焦点を当てており、これらは主にSharePointに関連する一連のアクティビティ(一部は他よりも一般的なもの)を検出します。
前述の通り、Cloud SIEMにはエンティティタグ付けとマッチリスト機能が備わっており、これらはSharePointサーバー上で脅威を特定し、その深刻度を評価する上で有用なツールです。
| Cloud SIEM ルールID | ルール名 |
| MATCH-S00164 | Webサーバーによって生成された不審なシェル |
| MATCH-S00539 | 不審なプロセスを実行しているWebサーバー* |
| FIRST-S00010 | コンピューターからのPowerShell実行を初めて確認 |
| MATCH-S00136 | PowerShell エンコードされたコマンド |
* MATCH-S00539 では、Web サーバーからのプロセス実行をスコープ指定して検出するために、「web_servers」マッチリストの作成とデータ入力が必要です。以下はマッチリストを作成する方法です。
脅威インテリジェンスは、新しい脅威や出現しつつある脅威を検知するための鍵となります。SharePoint インフラストラクチャに関連する脅威インテリジェンスに目を通し、調査の機会を得ることをお勧めします。この記事を書いている時点では、インジケータはブログ記事内で共有されており、必ずしも大規模な脅威フィードに表示されているわけではありません。
| Cloud SIEM ルールID | ルール名 |
| MATCH-S01023 | 脅威インテリジェンス – 脅威フィードIPからの受信トラフィック(高信頼度) |
| MATCH-S01027 | 脅威インテリジェンス – 脅威フィードIPからの受信トラフィック(中程度の信頼度) |
| MATCH-S01025 | 脅威インテリジェンス – 脅威フィードIPからの受信トラフィック(信頼度低) |
| MATCH-S01000 | 脅威インテリジェンス – MD5一致 |
| MATCH-S01003 | 脅威インテリジェンス – SHA1一致 |
| MATCH-S01004 | 脅威インテリジェンス – SHA256一致 |
Sumo Logic Threat Intelligenceでは、顧客自身のインディケーターをアップロードできるほか、独自ソースからの取り込みも可能です。今回コミュニティで共有されているインディケーターは少数ですが、Cloud SIEM のルール向けに Threat Intelligence ソースを作成すれば、上記ルールへの迅速な反映とカバレッジ拡大が行えます。 また、顧客は自分たちで作成したカスタムソースを利用して、ローカルな Threat Intelligence ルールの作成もできます例:hasThreatMatch([srcDevice_ip,file_hash_md5,file_hash_sha256], source=”toolshell iocs”)
ローカルルール形成に関する検出理論の提案
以下に、この攻撃の要素を検出するためのルール作成の参考として、検出理論をCloud SIEMのマッチ式に変換したサンプルをいくつか示します。
Cloud SIEMによるエクスプロイトチェーンの初期アクセスPOSTリクエスト:
http_method = 'POST'
AND http_response_statusCode IN (200, 302)
AND http_referer_path MATCHES /(?i)_layouts\/1[56]\/signout\.aspx$/
AND fields['cs_uri_stem'] MATCHES /(?i)_layouts\/1[56]\/toolpane\.aspx$/
理論:攻撃の初期アクセスを開始するPOSTリクエストを検知し、脆弱なシステムへのWebシェルインストールに至るプロセス。
Cloud SIEM実行ファイルがIISディレクトリに追加されました:
action = "FileCreate"
AND changeTarget MATCHES /(?i:\\wwwroot\\|\\windows\\microsoft\.net\\framework\\|\\microsoft shared\\web server extensions\\).+\.(?i:as[hmp]x|cshtml)$/
AND baseImage NOT MATCHES /(?i)(?:\\w3wp|\\msdeploy|\\svchost|\\explorer)\.exe$/
理論:IISディレクトリへの書き込み対象となる実行可能ファイル(この文脈ではウェブシェル)に対するFileCreateアクションの検知。
Cloud SIEMがGET経由でのウェブシェルとのやり取りを検知:
http_method = 'GET'
AND http_response_statusCode IN (200,302)
AND fields['cs_uri_stem'] MATCHES /(?i)_layouts\/1[56]\/spinstall\d{0,2}\.aspx/
理論:攻撃者が上記のPOSTから始まるエクスプロイトチェーンでシステムを侵害した後、この検知は標的に対して目的を実行する際にウェブシェルとのやり取りを捕捉します。
これらの検出セオリーは、ローカル検出ルールの作成を加速し、検出を支援し、疑わしい脆弱な環境を調査するためのプロトタイプとして共有されます。これらはSumo Logic Cloud SIEMのマッチ式として実行するように特別に設計されており、上記の共有検索と同様の結果を得るために適応させることができます。
推奨
Microsoftは、この脆弱性が悪用される可能性から環境を保護する方法に関する 詳細なガイダンス を提供しています。また、SharePointサーバーが侵害されたと判断した場合の修復手順も提供しています。
SharePoint の脆弱性を悪用することは些細なことです。お客様の環境に脆弱性のある SharePoint サーバーがある場合、そのサーバーが侵害されたかどうか、また侵害された場合、被害の程度と必要な緩和策を判断する必要があります。攻撃者が SharePoint サーバーへの侵入に成功すると、SharePoint から環境内の他の資産に攻撃が及ぶ可能性があります。この記事に含まれるクエリは、侵害が行われたかどうかを判断するのに役立ちます。
現在、オンプレミス SharePoint サーバーに対する継続的な攻撃の概要分析とタイムライン、および Sumo Logic を使用して関連する不審な活動を検索・検出する方法について説明します。このトピックについてさらに深く掘り下げたい場合は、以下の情報源を参照してください。
そして、これまでと同様に、Cloud SIEMをまだ導入しておらず、このような脅威の検知と対応にどのように役立つかを理解したい場合は、デモを予約して詳細をご覧ください。
参考文献および追加情報
NISTの脆弱性情報
影響を受けたSharePointのお客様向けMicrosoft MSRCブログ:
Eye Securityによる攻撃を最初に報告したブログ記事:
サイバーセキュリティコミュニティのリソースおよび攻撃を記録した報告書:
- https://www.crowdstrike.com/en-us/blog/crowdstrike-detects-blocks-sharepoint-zero-day-exploitation/
- https://www.thawd.com.sa/post/cve-2025-53770-unauthenticated-sharepoint-rce-toolshell-exploit-uncovered
- https://blog.qualys.com/vulnerabilities-threat-research/2025/07/21/toolshell-zero-day-microsoft-rushes-emergency-patch-for-actively-exploited-sharepoint-vulnerabilities
- https://www.microsoft.com/en-us/security/blog/2025/07/22/disrupting-active-exploitation-of-on-premises-sharepoint-vulnerabilities/
- https://unit42.paloaltonetworks.com/microsoft-sharepoint-cve-2025-49704-cve-2025-49706-cve-2025-53770/
- https://www.rapid7.com/blog/post/etr-zero-day-exploitation-of-microsoft-sharepoint-servers-cve-2025-53770/


