آموزش حملات سرریز بافر برروی سیستم‌های مدرن ۶۴-بیتی

1 567
۵/۵ - (۱۱ امتیاز)

یکی از رایج‌ترین انواع حملات سایبری، حملات علیه آسیب‌پذیری سرریز بافر یا همان Buffer Overflow به حساب می‌آید. این نوع از حملات دچار تحولات زیادی نسبت یه نمونه‌های اولیه خود شده‌اند. چرا که مکانیزم‌های امنیتی زیادی برای مقابله با آن‌ها اجرا شده است.

یک نمونه از این مکانیزم‌ها که در سیستم‌های امروزی نیز به‌کار می‌رود، Non-Executable کردن استک یک برنامه می‌باشد.

در این ویدئو قصد داریم با وجود روشن‌بودن این مکانیزم امنیتی، آسیب‌پذیری سرریز بافر یک برنامه را اکسپلویت کنیم. سپس مراحل تشخیص و سواستفاده از آسیب‌پذیری را شرح دهیم.
در این ویدئو، در گام اول مروری بر آسیب‌پذیری سرریز بافر داریم. سپس یک نمونه برنامه آسیب‌پذیر که از کاربر ورودی دریافت می‌کند را بوسیله دیباگر GDB مورد بررسی قرار می‌دهیم. قصد داریم از وجود آسیب‌پذیری در برنامه با استفاده از دیباگ‌کردن آن و بررسی رجیسترها اطمینان حاصل کنیم.
بعد از اینکه آسیب‌پذیری شناسایی شد، سعی می‌کنیم آن را اکسپلویت کنیم. در این مرحله با توجه به اینکه مکانیزم‌‌های امنیتی مذکور فعال می‌باشند، سعی می‌کنیم مسیر اجرای برنامه را تغییر داده (Flow Hijacking) و یک روش بازگشت به کتابخانه استاندارد زبان سی (Return to libc یا ret2libc) را انجام دهیم.

این روش به ما اجازه می‌دهد که مجوز نواحی‌ از حافظه را ارتقا بخشیم و با استفاده از APIهای زبان C و تغییر مسیر اجرای برنامه از آسیب‌پذیری مورد نظر بهره‌برداری کنیم.
در نهایت با اجرای یک Shellcode، مهاجم قادر خواهد بود تا از راه دور (Remote) از آسیب‌پذیری برنامه مورد نظر بهره‌برداری کرده و نسبت به اجرای دستورات سیستم عامل اقدام نماید.

 

ارسال یک پاسخ