
MicrosoftのオンプレミスSharePointサーバーに対する「ToolShell」攻撃に関して、コミュニティと業界が行った素晴らしい取り組みに敬意を表します。本記事の目的は、この優れた成果を基盤とし、オンプレミス環境のSharePointサーバーを利用するSumo Logicのお客様が、自社の環境内で証拠を調査・特定する支援を行うことです。
出来事の簡単な要約
2025年7月18日、Eye Security1はオンプレミスSharePointサーバーに対する攻撃を検知しました。この攻撃により、不審な.aspxファイルが書き込まれ、デジタルマシンキーが抽出されました。攻撃チェーンの分析により、Microsoftが以前に発表した脆弱性とパッチに関連する脆弱性のペアが特定されました。
攻撃者は、オンプレミス版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アラートの深刻度を上げるべき)なホストを特定してください。
Cloud 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はコマンドライン経由で複数の方法で呼び出されますが、これはその一例であり、この攻撃に関する参考資料に共通して見られる方法です。この攻撃の影響範囲内にある可能性のあるこれらのマシンやその他のマシンについては、時間と状況が許す限り、詳細な調査を行うことを推奨します。
プロセスの第三段階として、ネットワーク上のホストのファイルシステムへの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」マッチリストの作成とデータ入力が必要です。以下はマッチリストを作成する方法です。
脅威インテリジェンスは、新たな脅威や新興脅威を検知する上で重要である。本攻撃に関して侵害の兆候(IoC)が共有されているためである。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ルール向けの脅威インテリジェンス情報源を構築することは、迅速な対応範囲の確保と上記ルールへの組み込みを実現する選択肢となります。お客様は、作成したカスタムソースを活用して、ローカルの脅威インテリジェンスルールを作成することもできます (例: 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/


