ReverseEngineering
الذهاب إلى القناة على Telegram
إظهار المزيد
1 265
المشتركون
لا توجد بيانات24 ساعات
-37 أيام
+730 أيام
أرشيف المشاركات
1 265
Security Net 🕷
با ما همیشه یک قدم جلوتر از تهدیدات باشید
-تحلیل تخصصی تهدیدات و حملات
-کتاب، ویدیو، پادکست و منابع کاربردی
-تمرکز بر امنیت تدافعی و آشنایی با ابزارهای حرفهای مباحث blue team و red team و network
همین حالا عضو شو:
https://t.me/sec_netw
(@sec_netw)
1 265
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
1 265
Integrity Check
کد بررسی میکنه آیا تغییری در باینری ایجاد شده یا نه معمولا با توابع CRC، MD5، SHA یا جمع ساده بایتها انجام میشه
راه دور زدن:
پیدا کردن تابعی که چک رو انجام میده و نادیده گرفتن نتیجهاش
patch کردن شرط چک موفقیت یا شکست
1 265
Packers پکرها
نرمافزارهایی مثل UPX، Themida، VMProtect باعث میشن باینری اصلی مخفی بمونه
راه تشخیص:
بخشهای عجیب در ساختار PE (مثل .UPX)
اجرا نشدن برنامه در دیباگر
بررسی با PEiD یا Detect It Easy
راه عبور:
اجرای برنامه و گرفتن memory dump بعد از unpack
دنبال کردن نقطه آنپک با breakpoint روی VirtualProtect یا GetProcAddress
1 265
Obfuscation (مبهمسازی کد)
مثالها:
استفاده از متغیرها و توابع با نامهای بیمعنی
پرشهای زیاد و بیربط (jmp)
استفاده از ساختارهای پیچیده و بیهدف
راهحل:
بازنویسی دستی در ابزار Ghidra یا IDA
استفاده از deobfuscatorها یا پلاگینها
1 265
بررسی Anti-Debugging
نمونه تکنیکها:
استفاده از توابع API مثل
IsDebuggerPresent
CheckRemoteDebuggerPresent
دستکاری فلگ Trap در رجیستر EFLAGS
خواندن شمارنده زمان (مثلا با RDTSC) و بررسی تأخیر
راه مقابله:
patch کردن توابع
استفاده از پلاگینهای ضد ضددیباگ در x64dbg
نوشتن اسکریپت برای نادیده گرفتن رفتار مشکوک
1 265
تحلیل تکنیک های ضد مهندسی معکوس (Anti-Reverse Engineering)
Anti-Debugging اگر دیباگر وصل باشه رفتار برنامه تغییر میکنه یا کرش میکنه
Obfuscation کدها رو ناخوانا و گنگ میکنه تا مسیر منطقی مشخص نباشه
Packing باینری فشرده یا رمز میشه و موقع اجرا آنپک میشه
Virtualization کد به زبان خاصی ترجمه میشه که فقط توی ماشین مجازی خاص اجرا میشه
Checksum / integrity check بررسی میکنه که کسی فایل رو تغییر نداده باشه مثلا برای جلوگیری از
patch
1 265
یه نقشه کلی برای اکسپلویت سازی ساده
1 کشف آسیبپذیری (مثلا کرش با ورودی بزرگ)
2 باز کردن فایل توی دیباگر
3 پیدا کردن محل کرش و آفست
4 ساختن payload اولیه
5 تست payload → بررسی موفقیت کرش یا اجرای کد
6 اصلاح payload برای اجرای بهتر (مثلا اضافه کردن nop sled)
7 مستندسازی کامل همه مراحل
1 265
این کتاب تمرکز زیادی روی توضیح عملی و فنی حملات Buffer Overflow داره مخصوصا در سیستمهای مبتنی بر C/C++ و Windows/Linux
نویسندگان:
James C. Foster, Mark Osborn, Vincent Liu, Kevin M. Corey, Jason W. Nachtrab
سال انتشار: 2005
بافر اورفلو چیه و چطور باعث آسیبپذیری تو برنامهها میشه
چطور میشه از این ضعف سو استفاده کرد و کنترل سیستم رو گرفت مثلا اجرای کد دلخواه روی دستگاه قربانی
چطور میشه جلوی این حملات رو گرفت با تکنیکهایی مثل نوشتن کد امن استفاده از ابزارهای محافظتی و مکانیزمهای امنیتی سیستمعامل
در واقع هم یاد میده حمله کنی (برای یادگیری دفاع) و هم یاد میده دفاع کنی
1 265
نکتههای خیلی مهم
موقع تست روی فایلهای مشکوک همیشه از VM استفاده کنید
هیچ وقت بدون آگاهی روی فایلهای سیستمد واقعی کار نکنید
لاگگیری و تهیه اسکرینشات از همه مراحل باعث حرفهایتر شدن گزارشه
حمله فقط روی نسخه آسیبپذیر تست بشه
1 265
ابزارهایی که خیلی به دردمون میخورن
pattern_create.rb و pattern_offset.rb (از metasploit): برای پیدا کردن دقیق آفست EIP
mona.py توی Immunity Debugger: برای ساخت و آنالیز exploit
msfvenom: برای ساخت shellcode آماده
