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


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


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

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

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


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

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



في هذه السلسلة حنشوف كيفية إستغلال ثغرة البافر أوفر فلو مع حل المشاكل التي ستعترضنا

لدينا برنامج بسيط حنشتغل معه:

كود PHP:
#include<stdio.h>
#include<string.h>
 
void function(char *var){
 
      
char buffer[10]
      
strcpy(buffer,var);
     
int main(int argcchar** argv){
      function(
argv[1]);
      return 
0;
 

البرنامج يقوم بطباعة مايكتبه المستخدم على الترمنال ثم يضعه في مكان مافي الذاكرة حجمه 10 بايت
نقوم بعملية الكومبايل

كود PHP:
gcc -m32 poc.-o poc 
مانريده و تحقيق الكراش يعني لو أدخلنا بايانات أصغر من 10 بايت سيطبعهم لنا
مذا لو أدخلنا بيانت حجمها كبير كما في الصورة التالية:



البرنامج توقف وكتب لنا segmentation fault يعني أنه عمل كراش
السؤال هو كيف حصل هذا لكراش كيف نستغل هذا لكراش بالطريقة المناسبة يعني هل يمكننا فعل شيء لعمل كراش بالطريقة التي نريدها.
الآن نفتح البرنامج مع edb

كود PHP:
edb --run ./poc AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 


نظغط run مرتين فيحصل الكراش مرة أخرى



نشوف ان البيانات التي أدخلناها وصلت للمسجل eip
السؤال هنا كم من بايت يلزمنا للوصول مسجل eip وكيف نحول التنفيذ للشيلكود

نقوم بعمل fuzzer بسيطة لإدخال البيانات مرة أخرى وحساب كم من بايت يلزمنا للوصول مسجل eip

أولا ننشئ مجموعة البيانات التي سندخلها باداة pattern_create.rb تبع الميتاسبلويت



ننشئ ال fuzzer تبعنا

كود PHP:
import os
 
sh 
"Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2A"
 
of "edb --run ./poc '"
 
of += sh
 
of 
+= "'"
 
os.system(of
ننفذ ال fuzzer ونشوف ال edb

حصل الكراش





نشوف كم من بايت نصل لل eip



نشوف ال esp offset



الآن بعد ماوصلنا لل eip نريد أن نضع الشيلكود تبعنا في المكدس لذلك نبحث عن عنوان القفزة لل esp ونضعه في ال eip لتنفيذ الشيلكود تبعنا


في أمان الله
 
الملفات المرفقة
نوع الملف: rar Linux Stack Overflow .. Part 1.rar‏ (429.1 كيلوبايت, المشاهدات 1)

 

 

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

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

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


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

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

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

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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
Linux Stack Overflow - Bypass ASLR zero-cool أساسيات لغة الأسمبلي 0 08-06-2019 04:18 PM
[dos / poc] - Linux Kernel &#039;SCTP_GET_ASSOC_STATS()&#039; - Stack-Based Buffer Overflow inj3ct0r قسم جديد ثغرات مواقع الحماية 0 13-03-2013 07:30 PM
[papers] - Linux exploit development part 3 - ret2libc exploit-db قسم جديد ثغرات مواقع الحماية 0 08-04-2011 04:25 PM
[papers] - Linux Exploit Writing Tutorial Pt 2 - Stack Overflow ASLR bypass Using ret exploit-db قسم جديد ثغرات مواقع الحماية 0 26-03-2011 09:40 PM
[papers] - Linux exploit development part 1 - Stack overflow exploit-db قسم جديد ثغرات مواقع الحماية 0 20-03-2011 01:41 AM


الساعة الآن 12:34 PM