مسیر یادگیری:
Pwn College – قسمت اول :
از زمان انتشار اولین نسخه Pwn College در سال 2020، این مجموعه به یک رودمپ پیشرو برای یادگیری توسعه اکسپلویت تبدیل شده. در این مجموعه ترتیب مطالب رعایت نشده اما هنوز هم یک منبع رایگان شگفتانگیز از دانشگاه ایالتی آریزونا هستش و اگه مشکل یا سوالی داشتید، میتونید از دیسکوردشون استفاده کنید. دورهها با سال تحصیلی بروزرسانی میشن.
Pwn College – CSE 466 – Fall 2023 :
این دوره اصلیِ که مردم هنگام صحبت در مورد Pwn College بدون قید و شرط به اون اشاره میکنن. این دوره روی سرریزهای مبتنی بر پشته (Stack-Based Overflows) تمرکز داره و نقطه شروع خوبی برای مسائل خرابی حافظه هستش.
میتونید از قسمت Foundations/Refreshers Dojo صرف نظر کنید، مگه اینه که نیاز به یادآوری داشته باشید. بقیه ماژولها رو به ترتیب تا پایان Program Exploitation تکمیل کنید.
شما دو چیز مهم از این ماژولها بدست میارید:
تجربه سرریزهای مبتنی بر پشته در یک محیط نسبتا مدرن همراه با اقدامات کاهشی فعال.
مهارتهای تفکر خلاق و جانبی بهبود یافته از ماژولهای Shellcoding و Sandboxing. این ماژولها به شما کمک میکنن تا ذهنیت مناسبی برای مقابله با محدودیتهای اکسپلویت کردن در دنیای واقعی رو توسعه بدید، حتی اگه شرایط ساختگی باشن.
ROP Emporium :
Pwn College یک ماژول Return Oriented Programming (ROP)، داره. اگه با ROP Emporium مشکل دارید میتونید از این ماژول استفاده کنید که Labهای اون سرعت یادگیری ملایمتری داره.
ROP Emporium
فراتر از ماژول Pwn College میره، همچنین چالشهاش رو در چندین معماری ارائه میده. شما باینریهای x86-x64 رو مطالعه میکنید اما توصیه شده در برخی موارد برای تکمیل مطلب، چالشهای ARM رو هم انجام بدید. این فرآیند به تقویت درک شما از حملات استفاده مجدد از کد (Code-Reuse Attacks) کمک میکنه. در حالیکه معماری اساساً چیزی رو تغییر نمیده، اما محدودیتهایی رو اضافه میکنه که صرفاً از حفظ مراحل جلوگیری میکنه و درک عمیقتری از کاری که انجام میدید رو ایجاد میکنه.
در حوزه ی امنیت سایبری، حملات استفاده مجدد از کد به دسته ای از حملات گفته میشه که هکرها در اون به جای نوشتن اکسپلویت کامل، از قطعات کد موجود در خود برنامه برای اجرای دستورات دلخواهشون استفاده میکنن.
بصورت کلی دو روش وجود داره:
ROP (Return-Oriented Programming):
یکی از رایج ترین تکنیکهای استفاده مجدد از کد هستش. در این روش، هکرها با استفاده از دستورالعمل های موجود در برنامه، یک زنجیره از دستورالعمل ها رو ایجاد میکنن که بهشون گجت میگن و معمولا با دستور RET تموم میشن.
JOP (Jump-Oriented Programming): مشابه ROP هستش، اما به جای استفاده از دستورالعمل RET، از دستورالعمل JMP استفاده میکنه.
@TryHackBoxOfficial
Post #42
972