fa
Feedback
ReverseEngineering

ReverseEngineering

رفتن به کانال در Telegram
1 265
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-37 روز
+730 روز
آرشیو پست ها
Security Net 🕷 با ما همیشه یک قدم جلوتر از تهدیدات باشید -تحلیل تخصصی تهدیدات و حملات -کتاب، ویدیو، پادکست و منابع کاربردی -تمرکز بر امنیت تدافعی و آشنایی با ابزارهای حرفه‌ای  مباحث blue team و red team و network همین حالا عضو شو: https://t.me/sec_netw    (@sec_netw)

1. crackmes.one
یکی از معروف‌ترین سایت‌ها برای تمرین مهندسی معکوس شامل تعداد زیادی باینری با سطوح مختلف سختی کاربران می‌تونن کدها رو آنالیز کنن و راه‌حل ارائه بدن
2. Reversing.kr
یک پلتفرم کلاسیک با چالش‌های متنوع در زمینه مهندسی معکوس و باینری اکسپلویتیشن تمرین‌ها به صورت CTF طراحی شدن.
3. picoCTF
تمرین‌های CTF مخصوص تازه‌کارها تا سطح متوسط بخش‌هایی مثل "Reverse Engineering" داره که خیلی برای شروع خوبه
4. crackmes.de
قدیمی و قابل اعتماد، با آرشیو بزرگی از CrackMe ها نسخه‌های ویندوزی و لینوکسی از نرم‌افزارها رو برای تحلیل میذاره
5. Hack The Box
دارای بخش Reverse Engineering و Binary Exploitation ماشین‌ها و چالش‌های واقعی برای تمرین سطح پیشرفته
6. Root Me
بخش Reverse Engineering داره شامل چالش‌های تحت ویندوز، لینوکس ARM و … هست
7. OpenSecurityTraining
دوره‌های حرفه‌ای برای آموزش دیباگینگ ASM و RE

Integrity Check کد بررسی می‌کنه آیا تغییری در باینری ایجاد شده یا نه معمولا با توابع CRC، MD5، SHA یا جمع ساده بایت‌ها انجام میشه راه دور زدن: پیدا کردن تابعی که چک رو انجام می‌ده و نادیده گرفتن نتیجه‌اش patch کردن شرط چک موفقیت یا شکست

Packers پکرها نرم‌افزارهایی مثل UPX، Themida، VMProtect باعث می‌شن باینری اصلی مخفی بمونه راه تشخیص: بخش‌های عجیب در ساختار PE (مثل .UPX) اجرا نشدن برنامه در دیباگر بررسی با PEiD یا Detect It Easy راه عبور: اجرای برنامه و گرفتن memory dump بعد از unpack دنبال کردن نقطه آنپک با breakpoint روی VirtualProtect یا GetProcAddress

Obfuscation (مبهم‌سازی کد) مثال‌ها: استفاده از متغیرها و توابع با نام‌های بی‌معنی پرش‌های زیاد و بی‌ربط (jmp) استفاده از ساختارهای پیچیده و بی‌هدف راه‌حل: بازنویسی دستی در ابزار Ghidra یا IDA استفاده از deobfuscatorها یا پلاگین‌ها

بررسی Anti-Debugging نمونه تکنیک‌ها: استفاده از توابع API مثل IsDebuggerPresent CheckRemoteDebuggerPresent دستکاری فلگ Trap در رجیستر EFLAGS خواندن شمارنده زمان (مثلا با RDTSC) و بررسی تأخیر راه مقابله: patch کردن توابع استفاده از پلاگین‌های ضد ضددیباگ در x64dbg نوشتن اسکریپت برای نادیده گرفتن رفتار مشکوک

تحلیل تکنیک‌ های ضد مهندسی معکوس (Anti-Reverse Engineering) Anti-Debugging اگر دیباگر وصل باشه رفتار برنامه تغییر میکنه یا کرش میکنه Obfuscation کدها رو ناخوانا و گنگ میکنه تا مسیر منطقی مشخص نباشه Packing باینری فشرده یا رمز میشه و موقع اجرا آنپک میشه Virtualization کد به زبان خاصی ترجمه میشه که فقط توی ماشین مجازی خاص اجرا میشه Checksum / integrity check بررسی میکنه که کسی فایل رو تغییر نداده باشه مثلا برای جلوگیری از patch

یه نقشه کلی برای اکسپلویت‌ سازی ساده 1 کشف آسیب‌پذیری (مثلا کرش با ورودی بزرگ) 2 باز کردن فایل توی دیباگر 3 پیدا کردن محل کرش و آفست 4 ساختن payload اولیه 5 تست payload → بررسی موفقیت کرش یا اجرای کد 6 اصلاح payload برای اجرای بهتر (مثلا اضافه کردن nop sled) 7 مستندسازی کامل همه مراحل

این کتاب تمرکز زیادی روی توضیح عملی و فنی حملات Buffer Overflow داره مخصوصا در سیستم‌های مبتنی بر C/C++ و Windows/Linux نویسندگان: James C. Foster, Mark Osborn, Vincent Liu, Kevin M. Corey, Jason W. Nachtrab سال انتشار: 2005 بافر اورفلو چیه و چطور باعث آسیب‌پذیری تو برنامه‌ها میشه چطور میشه از این ضعف سو استفاده کرد و کنترل سیستم رو گرفت مثلا اجرای کد دلخواه روی دستگاه قربانی چطور میشه جلوی این حملات رو گرفت با تکنیک‌هایی مثل نوشتن کد امن استفاده از ابزارهای محافظتی و مکانیزم‌های امنیتی سیستم‌عامل در واقع هم یاد میده حمله کنی (برای یادگیری دفاع) و هم یاد میده دفاع کنی

نکته‌های خیلی مهم موقع تست روی فایل‌های مشکوک همیشه از VM استفاده کنید هیچ وقت بدون آگاهی روی فایل‌های سیستمد واقعی کار نکنید لاگ‌گیری و تهیه اسکرین‌شات از همه مراحل باعث حرفه‌ای‌تر شدن گزارشه حمله فقط روی نسخه آسیب‌پذیر تست بشه

ابزارهایی که خیلی به دردمون میخورن pattern_create.rb و pattern_offset.rb (از metasploit): برای پیدا کردن دقیق آفست EIP mona.py توی Immunity Debugger: برای ساخت و آنالیز exploit msfvenom: برای ساخت shellcode آماده

ReverseEngineering - آمار و تحلیل کانال تلگرام @reverseengine