TO DONATE : BTC => 1BU6R1C4AQ77LjLZswQNKFwAupw61i88Kn || PM => U4089661


اهم قوانين :1- منع الردود الباهتة مثل شكرااااا و أخواتها 2- لا يسمح بالمشاحنات الطائفية باآ شكل من الأشكال 3- عدم استعمال الألفاظ التافهة و الكلام البذىء 4- عدم وضع معرفات التواصل الأجتماعى بالردود 5- الأطلاع على كامل القوانين واجب 


العودة   الحماية للأبد -Security 4 Ever > قسم البرمجـــة > أساسيات لغة الأسمبلي

أساسيات لغة الأسمبلي يهتم بلغة الآلة (التجميع) Assembly و طرق بناء بعض أجزاء التطبيقات من خلالها

 
أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 13-06-2019, 08:02 AM
الصورة الرمزية zero-cool
zero-cool
:: عضو خاص ::
 
حـالة التــواجـد : zero-cool غير متواجد حالياً
تاريخ التسجيل: Apr 2016
الجــــنــــــس: ذكـر
المشاركات: 76
شكراً:62
تم شكره 259 مرة في 60 مشاركة
معدل تقييم المستوى: 0
zero-cool بدون تقييم
افتراضي Linux Stack Overflow - Part 3

السلام عليكم ورحمة الله وبركاته

إن شاء الله تكونوا في تمام الصحة والعافية إخواني




سنتحدث في هذا الشرح عن مشكلة non executable stack لذلك فنحن نحتاج إلى مكان لتنفيذ الكود تبعنا.
تكمن الفكرة في استعمال وضائف مبرمجة مسبقا موجودة في ال libc وهي مكتبة سي تحتوي على وضائف مثل printf,system,scanf ..إلخ
بما أننا لا نستطيع تنفيذ الشيلكود في المكدس لذلك سنغير التكتيك تبعنا ونستدعي مباشرة الوظيفة system()
ونعطيها ك argument السلسلة النصية "bin/sh/"
لذلك يجب علينا فهم عمل المكدس وإعداده بعناية بحيث يتم إجراء الإستدعاء بشكل صحيح.

إذا قفزنا على هذه الوظيفة system وقمنا بتمرير ال arguments اللازمة لأداء عملها بشكل صحيح ،
فستقوم بعملها دون أن تتوانى وسيكون لدينا شيل

عند إستدعاء الوظيفة system فإنها تحتاج إلى اثنين arguments :
عنوان العودة الذي سيتم استخدامه بمجرد اكتماله
وخاصة الكومند الذي سيتم تنفيذها

فالبايلود تبعنا يشبه ما في الصورة التالية:






نتأكد من وقوف الحماية ASLR

كود PHP:
# echo 0 > /proc/sys/kernel/randomize_va_space 
وعند الكومبايل نمحي دائما حماية ال canary مع -fno-stack-protector
وتحديد هذه المرة أن المكدس لايجب أن يكون executable

كود PHP:
gcc -m32 poc.-o poc -fno-stack-protector 


للإستغلال يجب علينا معرفة شيئين :
عنوان الوظيفة system()
عنوان السلسة التي تمثل الكومند التي سننفذها





عنوان ال ret تبع system ممكن يكون أي شيء
لكن نخشى أن نتحصل على segmentation fault بعد مغادرة الشيل
لأن eip ستحاول قرائته لذلك سندعوها لمغادرة الوظيفة حتى أنه بعد تنفيذ الشيل ،
سينتهي البرنامج دون أخطاء.
نبحث عن عنوان ال exit







بقي لنا عنوان الكومند bin/sh/



الآن لدينا كل مايلزم لهجمتنا ret2libc





ننفذ



bingoo تحصلنا على شيل لكن في تطبيقاب حقيقية ليس بالأمر الهين


في أمان الله
 

 

 

مايفعله الهكرز هو معرفة التكنولوجيا وتجربتها بطرق لايمكن ان يتخيلها الكثير من الناس .
ولديهم رغبة قوية في مشاركة هذه المعلومات مع الآخرين
وتوضيحها للاشخاص الذي قد تكون مؤهلاتهم الوحيدة الرغبة في التعلم.

[email protected]
رد مع اقتباس
4 أعضاء قالوا شكراً لـ zero-cool على المشاركة المفيدة:

الكلمات الدلالية (Tags)
3, linux, overflow, part, stack


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
Linux Stack Overflow .. Part 2 zero-cool أساسيات لغة الأسمبلي 0 11-06-2019 02:31 PM
Linux Stack Overflow .. Part 1 zero-cool أساسيات لغة الأسمبلي 0 10-06-2019 08:51 PM
Linux Stack Overflow - Bypass ASLR zero-cool أساسيات لغة الأسمبلي 0 08-06-2019 04:18 PM
[dos / poc] - Linux Kernel 'SCTP_GET_ASSOC_STATS()' - Stack-Based Buffer Overflow inj3ct0r قسم جديد ثغرات مواقع الحماية 0 13-03-2013 08:30 PM
[papers] - Linux exploit development part 1 - Stack overflow exploit-db قسم جديد ثغرات مواقع الحماية 0 20-03-2011 02:41 AM


الساعة الآن 10:19 AM