ReverseEngineering
1.25K subscribers
41 photos
10 videos
55 files
666 links
Download Telegram
اعداد باینری binary number:

هر عدد یا شماره رو با دو رقم نشون میدن مثل 0,1 اعداد باینری در مبنای 2 هستن

#binary

اعداد اکتال octal number:

اعداد اکتال بر مبنای 8 هستن و هشت رقم شماره وجود داره برای شمردن
0 1 2 3 4 5 6 7 8 9 10 & ....

#octal

اعداد هگزادسیمال hexadecimal number:

اعداد هگزادسیمال بر مبنای16 هستن و در شمارش میگیم هر رقم 4 بیت داره
0 1 2 3 4 5 6 7 8 9 A B C D E F

#hexadecimal

یعنی مثلا وقتی میخایم بگیم 14 نمیگیم 14 میگیم E
👍4
برخی از رایج‌ترین تکنیک‌های Binary Exploitation شامل:

1 Buffer Overflow: در این حمله، به مقدار بیش از ظرفیت بافر (حافظه موقت) داده وارد می‌شود تا باعث تغییر داده‌های حافظه یا اجرای کد دلخواه شود این تکنیک اغلب برای اجرای کد دلخواه یا تزریق کد به برنامه‌های آسیب‌پذیر استفاده می‌شود


2 Format String Vulnerability: این نوع آسیب‌پذیری زمانی اتفاق می‌افتد که ورودی کاربر به‌طور مستقیم در یک دستور printf یا مشابه آن قرار گیرد. حمله‌گر می‌تواند از این طریق به بخش‌های مختلف حافظه دسترسی پیدا کرده یا داده‌های حساس را استخراج کند


3 Use-after-free: این آسیب‌پذیری زمانی رخ می‌دهد که یک برنامه پس از آزادسازی حافظه (free) به آن دسترسی پیدا کند. مهاجم می‌تواند حافظه آزادشده را بازنویسی کرده و از آن برای اجرای کد دلخواه استفاده کند


4 Heap Spraying: مهاجم به‌طور مصنوعی حافظه heap را با داده‌های خاص پر می‌کند، به طوری که اجرای کد دلخواه ممکن است به دنبال این داده‌ها اتفاق بیافتد


5 Return-Oriented Programming (ROP): در این حمله، مهاجم از قطعات کد موجود در برنامه به نام "gadgets" برای ساختن یک رشته دستورات دلخواه استفاده می‌کند، بدون اینکه نیاز به تزریق کد جدید باشد


6 Stack Smashing: مشابه با buffer overflow است، اما معمولاً در زمینه حملات به پشته (stack) انجام می‌شود تا آدرس بازگشتی (return address) تابع را تغییر داده و جریان کنترل برنامه را به محل دلخواه هدایت کند



چطور به کار میاد؟

مهاجم معمولاً با استفاده از ابزارهای مهندسی معکوس (مثل گادمپ، OllyDbg، IDA Pro، Ghidra) باینری‌ها رو آنالیز می‌کنه تا آسیب‌پذیری‌ها رو پیدا کنه

پس از شناسایی آسیب‌پذیری مهاجم می‌تونه یک exploit بنویسه که به سیستم اجازه بده کد دلخواه اجرا کنه یا اطلاعات حساس رو استخراج کنه
#binary_exploitation
#binary
7🔥1👏1
ReverseEngineering
برخی از رایج‌ترین تکنیک‌های Binary Exploitation شامل: 1 Buffer Overflow: در این حمله، به مقدار بیش از ظرفیت بافر (حافظه موقت) داده وارد می‌شود تا باعث تغییر داده‌های حافظه یا اجرای کد دلخواه شود این تکنیک اغلب برای اجرای کد دلخواه یا تزریق کد به برنامه‌های…
چطور می‌تونیم از Binary Exploitation جلوگیری کنیم؟

1 Safe coding practices: استفاده از روش‌های برنامه‌نویسی امن


2 ASLR (Address Space Layout Randomization): با این تکنیک، آدرس‌های حافظه به طور تصادفی تغییر می‌کنن و حمله‌گر نمی‌دونه دقیقا کجا باید حمله کنه


3 Stack Canary: یه نوع محافظت از پشته هست که وقتی تغییرات مشکوکی رو شناسایی کرد جلوی اجرای برنامه رو می‌گیره


4 DEP (Data Execution Prevention): این تکنیک جلوی اجرای کد در بخش‌هایی از حافظه که نباید کد اجرا بشه رو می‌گیره

#binary
#binary_exploitation
👍63
چه ابزارهایی برای Binary Exploitation استفاده می‌کنیم؟

برای شروع با Binary Exploitation باید چند تا ابزار مهم رو بشناسیم که توی این حملات کمک می‌کنن این ابزارها می‌تونن به ما کمک کنن تا آسیب‌پذیری‌ها رو پیدا کنیم و ازشون بهره‌برداری کنیم

1 Ghidra: یک ابزار تحلیل باینری متن‌باز از NSA هست. با این ابزار می‌تونیم برنامه‌های باینری رو تحلیل کنیم و بفهمیم که کدهای داخلش چطور کار می‌کنن


2 IDA Pro: یکی از قدرتمندترین ابزارها برای مهندسی معکوس و تحلیل باینری‌ها. البته کمی گرونه


3 gdb (GNU Debugger): ابزار دیباگ کردن برنامه‌های C و C++ هست خیلی از زمان‌ها به ما کمک می‌کنه تا رفتار برنامه رو بررسی کنیم و ببینیم چه اتفاقاتی توی حافظه میفته


4 Radare2: ابزار دیگه‌ای برای مهندسی معکوس و تحلیل باینری‌ها که در مقایسه با IDA رایگان‌تر و متن‌بازه

#binary
#binary_exploitation
10👏1