![]() |
[~] ثغرات DLL hijack تحت مجهر فايروس قلعة [~] http://www.saudinokia.com/vb/images/...404d6ae6b2.gif اهلا وسهلا اعضاء ومشرفين ومدراء شبكة العناكب الاحترافية ’ اليوم بأذن الله سوف اقوم بشرح عن ثغرات واقتبس من مواقع سكيورتي والموقع الهكر الشهيرة . عن ثغرات جديدة هي ثغرات DLL hijack هذة الثغرات لي الكثير سمع عنها في الاونة الاخيرة ولم يذكر اهتمام لها , اليوم سوف اكون لكم مرجع شامل عن هذة الثغرات وكيفة حدوثها واستغلالها واختبار هذة الثغرات dll hijack ..) اولا شيء اقتباس من موقع isecur1ty اقتباس:
الحمد لله المُطاع .. خالق الإبداع .. فاصل الأنواع .. نحمده أن أرسل إلينا خير داع .. و مكّن دينه في كلّ البقاع .. و أنزل لنا خير كتبه نثاب بالعمل به .. و بتلاوته و بالسماع .. و الصلاة الدائمة على حبيبه و من تبعه إلى يوم الدين بلا إنقطاع. مقدمة: الكل يعلم عن مكتبات الربط الديناميكي (dll) ودورها في توفير الجهد في التعامل مع النظام , إذ يكفيك للتعامل مع النظام , أن تستدعي المكتبة والدوال الموجودة فيها , فعندما تريد أن تحذف ملفاَ , ستستدعي مكتبة Kernel32.dll وتقوم بإستدعاء دالة DeleteFile التي تقوم بحذف الملف الممرر لها , وعندما تريد الإتصال بمنافذ أو أجهزة أخرى , تقوم بتحميل مكتبة ws2_32 وإستدعاء الدوال الخاصة بالمقابس. أغلب المكاتب تتواجد في مجلد النظام System32 كما هو معلوم , ويمكنك إرفاق المكتبة مع البرنامج في نفس المجلد في بعض الأحيان عندما لا تتوفر المكاتب في الأجهزة الأخرى , وهنا جاءت المشكلة! فكرة الثغرة: عندما تقوم بتحميل مكتبة إلى برنامجك , تقوم بإستدعاء دالة LoadLibraryA وتمرير اسم المكتبة لها بالشكل التالي: كود PHP: من هنا يمكننا فهم الفكرة , إذ أن وضع مكتبة خاصة بنا في نفس مجلد العمل للبرنامج , أو في مكان يتم فحصه قبل الSystem32 يؤدي إلى تحميل المكتبة الخاصة بنا بدلاَ من المكتبة الأصلية... سؤال: إذا كانت الفكرة بهذه البساطة, لماذا لا يمكننا إستغلالها لكل البرامج؟ بوضع أي مكتبة يستعملها البرنامج في نفس مجلد العمل؟ يجب , كما ذكرت أن يقوم البرنامج بتحميل المكتبة عن طريق دالة LoadLibraryA , إذ أن وجود المكتبة في قائمة جدول الإستيراد Import Table سيقوم بتحميل المكتبة من مجلد الSystem32 أولاَ , بهذا تجد أنه لا يمكن إستغلالها , أيضاَ يجب أن لا تكون المكتبة قد تم تحميلها للذاكرة , فمثلاَ عندما تقوم بتحميل مكتبة user32 , المكتبة تحوي العديد من المكاتب التابعة لها في جدول الإستيراد , وسيتم تحميلهم معها ومن نفس مجلدها , بهذا تفشل الثغرة. مثال: لدينا هنا برنامج يريد إستدعاء adsnt.dll بعد تحميله عن طريق دالة LoadLibraryA , بالشكل التالي: كود PHP: http://www.isecur1ty.org/images/stor...ijacking-1.png الآن نقوم بعمل dll بنفس الإسم ولنجعلها تقوم بعمل break وقت تشغيلها , على الشكل التالي: كود PHP: نقوم بتشغيل البرنامج في المنقح , وننتظر النتيجة, ستجد أنه قد تم تحميل مكتبتنا بدل المكتبة الأصلية وهذا هو أساس الثغرة ككل... http://www.isecur1ty.org/images/stor...ijacking-2.png سؤال: ماهي المشاكل التي تواجه مطور الثغرة؟ هل الثغرة تعتبر كاملة بالشكل السابق؟ مثالنا السابق يمثل معظم إستغلالات الثغرة لكن إذا أردت أن تقوم بعملك على أكمل وجه, ستضطر لمواجهة العديد من المشاكل. مثلاً إذا قمت بجعل مكتبتك تعمل بدل مكتبة أخرى , يجب أن تقوم بتحميل المكتبة الأصلية وتوفير الدوال التي توفرها هي للبرامج التي تستدعيها وإلا ستكشف على الفور, أي أن البرنامج إذا قام بإستدعاء كود PHP: الموضوع يتحدث عن ما ذكرناه , إنشاء مكتبة وسيط بينك وبين المكتبة الأم , بتقليد كافة دوالها والقفز إلى الدوال الأصلية وقت الإستدعاء. سؤال: هل الدوال هي كل ما توفره المكاتب؟ لا طبعاَ, إذ أن المكاتب توفر مصادر Resources وأشياء أخرى وإذا أردت أن تقوم بإستبدال المكتبة , يجب أن تقوم بمحاكاة. سؤال: كيف أحمي برنامجي من أن يستغل بهذه الثغرة؟ كما رأينا فإن المشكلة العامة هي بعدم توفير المسار الكامل للنظام لكي يبحث عن المكتبة فيه , بهذا نستطيع القول أننا لم إستدعينا المكاتب بالشكل التالي مثلأَ: كود PHP: سؤال: كيف أحمي نظامي من هذه الثغرة؟ كما ذكر في شرح الأخ محمد القرني يجب أن تتأكد من الملفات المرفقة مع البرامج والملفات , أيضاَ مايكروسوفت وفرت ترقيع يسمح لك بمنع تحميل المكتبات من مجلدات العمل وإستعمال مجلدات النظام فقط. أعمل حالياَ على طريقة تقوم بتغيير قيمة الدالة LoadLibraryA الراجعة للبرنامج بحيث يمكننا إستبدالها بقيمة الدالة الأصلية , بهذا نتفادى مشكلة المصادر والدوال وأي تعامل للبرنامج الأصل سيتم مع المكتبة الأم , لكن الموضوع معقد بالنسبة لي , وسأحاول طرح التحديث بأقرب وقت إن شاء الله. http://www.zerovb.com/Up/Misc/Spacer.14.Gif اقتباس:
بعد نقاش مع الأخوه حول ثغرات dll hijacking في محادثة L((i))ve وجدت ان احسن طريقه هي كتابة مقال بسيط اشرح فيه طريقة استغلال الثغرة باستخدام مشروع ميتاسبلويت بعد معرفة البرنامج المصاب والحصول على سطر اوامر meterpreter. ارجو مراجعة موضوعى الاخ محمد القرني و مصطفى العيسائي المنشورين فى المجتمع حول ثغرات dll hijacking لان المقال مبنى عليهم. التطبيق سيكون على برنامج smpalyer اخر اصدار Version: 0.6.9 - SVN r3447. بعد معرفة أن البرنامج مصاب من خلال اداة DLLHijackAuditKit المطروحه فى مدونة الميتاسبلويت والتى اشار اليها الشباب فى الموضوعين السابقين http://www.isecur1ty.org/images/stor...-exploit-1.png كما تلاحظون فإن البرنامج قام بتشغيل الحاسبه عند تشغيله وهذا يدل على انه مصاب بثغرة dll hijacking (الاخ مصطفى قدم شرح كافى فى هذا الجزء "جزاه الله خيرا"). نأتى الان الى تكوين ملف dll والذى من خلاله سنحصل على سطر الاوامر الذى تحدثنا عنه. ستلاحظون داخل مجلد الاداه التى حملناها من مدونة الميتاسبلويت ملف بعنوان regenerate_binaries.rb هذا الملف هو المسؤل عن استعداء الحاسبه من خلال ملف dll واخر exe. نقوم الان بتكوين ملف dll من خلال الميتاسبلويت كما موضح فى الصوره التاليه: http://www.isecur1ty.org/images/stor...-exploit-2.png يجب مراعاه استخدام الخيار D المسؤال عن تكوين الملف بصيغة dll و حفظ الملف بنفس الامتداد, الان نقوم بتشغيل multi handler من خلال ميتاسلويت و انتظار الاتصال على المنفذ 4444. http://www.isecur1ty.org/images/stor...-exploit-3.png ثم نقوم بنقل payload.dll الى مجلد الملف المصاب ستلاحظ ان ملف dll المنشئ من الميتاسلويت نفس حجم الملف الاصلى 14 kb http://www.isecur1ty.org/images/stor...-exploit-4.png احذف الملف الاصلى ثم قم بتغير اسم payload.dll الى اسم الملف الاصلى wintab32.dll. http://www.isecur1ty.org/images/stor...-exploit-5.png وقت تشغيل ملف الفيديو "RMVP" سترى ان البرنامج يعمل بشكل طبيعى وفى نفس الوقت حصلنا على سطر الاوامر المراد :) http://www.isecur1ty.org/images/stor...-exploit-6.png لم اطول فى الموضوع لان الشباب ما شاء الله شرحوا ثغرات dll hijacking شرح مفصل فى موضوعين سابقين. http://www.zerovb.com/Up/Misc/Spacer.14.Gif اقتباس:
شرح فيديو يوضح طريقة اكتشاف ثغرات dll hijacking التي إنتشرت في الأيام الماضية والتي تعتبر نوع جديد من الثغرات. هذا النوع من الثغرات أصاب أغلب برامج نظام ويندوز وسيتم شرح إكتشاف هذا النوع من الثغرات بإستخدام أداة DLLHijackAuditKit التي تم برمجتها بواسطة مطوري مشروع Metasploit. طرق للحمايه من ثغرات dll hijacking: عدم تحميل أي برنامج إلا من الموقع الرسمي. إظهار الملفات المخفيه في الوندوز. الفديوا : [hide] كود PHP: http://www.zerovb.com/Up/Misc/Spacer.14.Gif اقتباس:
أو حقن ملفات DLLوبامكانك تخترق اي مستعمل وندوز بسهولة تامةتابع الدرس بس . أول شيء ندخل في تعريف بسيط لهاذي الثغرات طبعا وكل واحد منا يعرف انو كل برنامج عند فتحه رح يقوم بتحميل مكتبة ملفات DLL فطبعا في شخص الي اكتشف الثغرة فكر انو يغير ها*ي المكتبة بمكتبة أخرى زائفة أو خبيثة ان صح القول بلب الموضوع فالكل قام بتجريب أداة مساعدةوهي DLLHijackAuditKit لكتابة الثغرات فقط أما اليوم شيء متغير اليوم رح احكي عن كيفية اختيار برنامج مناسب , اكتشاف , كتابة , استغلال الثغرة ~~~ روابط التــحمــيل ~~~ مشاهدة الفيديو - مباشره - [hide] كود PHP: تحميل الفيديو [hide] كود PHP: الحقوق محفوظة The Madjix http://i72.photobucket.com/albums/i1...ividers_55.gif واتنى انكم استفاديتم طبعا الثغرة جديد وممكن يظهر هناك استغلات كثيرة وجديدة , واسف على التقصير وان شاء الله اشرحها لكم لكن ليس لدي وقت لذلك بسبب المدرسة غدا smilies16, وان شاء الله بس اكون فاضي راح اشرحها لكم :a03: والى لقاء في مواضيع اخرى بلتوفيق للجميع smilies18 http://www.saudinokia.com/vb/images/...40ae70a249.gif |
ابداع مابعده ابداع يثبت 5 Stars |
[align=center]مشكور اخي على التثبيت بارك الله فيك والقادم اقوى بـأذن الله [/align] |
مشكوورررر يامعلم |
goood work man send to المواضيع المتميزه الف مبروك |
thankssssssssss |
مشكووووووووووووور |
مشششكور يا مديــرر |
thanksssssssssssssssssssssssssssssssssssssssssssss ssss |
ماشالله عليك مبدع واصل ابداعك يامعلم |
واصل يا مبدع |
thankkkkkkkkkkk |
شرح روعه بجد بارك الله فيك |
mrciiiiiiiiiiiii |
thankyouuuuuuuuuu |
MACHKOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOR |
يــعطيك العافــيه.، شرح واضح.، |
مشكور اخي |
very nice peace of work thabks br0 |
شكراا |
تسلم يا غالي |
تسلم ما قصرت يعطيك ألف عافيه[C/COLOR] |
بارك الله فيك |
ابداع مابعده ابداع |
مبدع اخي وتستاهل احلى تقيم |
تسسلم اخوي عالموضوع . نقل موفق . يعطيك العافية . |
يعطيك الف الف عافيا شــرح ولله شرح كافي ووافي جزاك الله الف خير يارب تقبل مروري |
thanxxxxxxxxxxxxxx |
الساعة الآن 10:11 AM |
[ vBspiders.Com Network ]