Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2010-5301 — إثبات مفهوم لتجاوز SEH مع حقن DLL تعسفي | Kitploit
أدوات/GitHubGitHub/lem0nsec/cve-2010-5301
تحليل الثغرات الأمنيةالاستغلالشيل كوداختبار الاختراقتطوير الحمولاتاستغلال الملفات الثنائية
GitHublem0nsec/cve-2010-5301

CVE-2010-5301

إثبات مفهوم لتجاوز SEH مع حقن DLL تعسفي

عرض المستودع
12منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2010-5301

إثبات مفهوم لتجاوز سعة SEH مع حقن DLL تعسفي

الوصف

خادم Kolibrì HTTP 2.0 معرّض لـ تجاوز سعة المخزن المؤقت المؤسس على المكدس. في وقت الاكتشاف، تم استغلال هذه الثغرة بمجرد الكتابة فوق مؤشر التعليمات بتعليمة JMP ESP، حيث كان ESP يشير إلى شيلكود تم إسقاطه على المكدس. لاحقًا، تم اكتشاف أنه يمكن الكتابة فوق سلسلة SEH إذا تم إرسال حمولة أكبر. ومع ذلك، لا يحتوي التطبيق على تعليمات صالحة POP - POP - RET لجعل معالج SE يشير إلى سجل SEH التالي. وذلك لأن جميع عناوين الذاكرة ذات الصلة تبدأ ببايت فارغ (nullbyte).

nullbytes_seh


الاستغلال

يقترح هذا الاستغلال تنفيذ التعليمات البرمجية عبر تجاوز سلسلة SEH من خلال حقن DLL. فتح حقن DLL عشوائي في عملية Kolibrì يفتح فرصة للكتابة فوق معالج SE بعنوان خالٍ من البايت الفارغ يشير إلى تعليمة POP - POP - RET من داخل ذلك الـ DLL. من الواضح أن هذه الطريقة لا يمكن استخدامها إلا لتطوير إثبات مفهوم، ولا يمكن الاعتماد عليها إذا تم تنفيذ الاستغلال لرفع صلاحيات النظام محليًا. وذلك لأنك تحتاج إلى الحصول على نفس صلاحيات العملية المستهدفة إذا أردت حقن DLL فيها. بخلاف ذلك، يعمل الاستغلال!

poc


تحديث

عندما قمت برفع هذا الاستغلال لأول مرة، كان يدعم فقط شيلكودات مخصصة قصيرة جدًا مع عناوين WinExec وExitProcess مثبتة. كان ذلك بسبب مساحة المخزن المؤقت القصيرة المتاحة بعد الكتابة فوق SEH. الآن قمت للتو بتحديث كود الاستغلال من خلال نشر شيلكود egghunter مباشرة بعد SEH وإسقاط البيضة (egg) + الشيلكود في ترويسة User-Agent لخادم الويب. وبالتالي سيتم إعادة توجيه تدفق التنفيذ من SEH المستبدل إلى egghunter، والذي سيبحث بعد ذلك عن الشيلكود المُعلَّم بالبيضة 'w00t'.


المراجع

يعود الفضل في هذه الطريقة إلى FULLSHADE من هذا المستودع الأصلي.

https://github.com/FULLSHADE/POPPOPRET-nullbyte-bypass

كل ما قمت به هو تطبيق الفكرة على هذه الثغرة المحددة.

تنزيل الأداة