Forwarded from کانال بایت امن
#Note #CTF
چالش های وب سایت باینری گلف (binary.golf)
هدف BGGP5 این بود که کوچکترین کد ممکن ساخته بشه که یک فایل متنی رو از وبسایت BGGP دانلود و نمایش بده. در این چالش روش Peter Ferrie برام جالب بود.
یک رشته ۲۴۹ بایت که base64 شده و یک کاراکتر Sentinel که در آخر اضافه شده که هم دکودر و هم Payload رو در خودش جا میده.
این ۲۴۹ بایت در اصل متن ASCII است، ولی وقتی آن را بهعنوان کد اجرایی 16 بیتی مثلا COM اجرا میکنید، به عنوان کد اسمبلی پردازش میشه یعنی فایل متنی خودش تبدیل به برنامه میشه.
دکودر به صورت Self-Modifying نوشته شده و از ترفندی مثل دستکاری در Prefetch Queue و تغییر بایتها در محل اجرای کد استفاده میکند تا دادههای رمزشده را بازسازی کند.
⬅️ چنین تکنیکهایی (فشردهسازی، رمزگذاری درون متن، دکودینگ در حافظه، اجرا شدن بهصورت خود-تغییرده) مشابه تکنیکهایی است که در بدافزارهای کوچک و Obfuscated بهکار میرود. بنابراین دیدن این کارها هم از منظر هنر چالش برنامهنویسی جالب است و هم از منظر تهدیدات باید با احتیاط بررسی شود.
⬅️ اجرای یک فایل متنی که بهعنوان باینری اجرا میشود ممکن است خطرناک باشد اگر از منبع نامطمئن اجرا شود.
🦅 کانال بایت امن | گروه بایت امن
_
چالش های وب سایت باینری گلف (binary.golf)
هدف BGGP5 این بود که کوچکترین کد ممکن ساخته بشه که یک فایل متنی رو از وبسایت BGGP دانلود و نمایش بده. در این چالش روش Peter Ferrie برام جالب بود.
XN4T4MP354Q0D+kP5X2P6CF0T4uOM/063349+76391
N7M0MMJ4/65L8L1762+3M7378LM92060+36394M6+0
N053L4J63690151013/461N73M1+J04N2M86614L86
0907/+/8M4J3000T3PMtEq3EM0hjgYsALA9STH/8q6
J+ruVAYxPBB4GHwe4AEvNIc0gGS9jY3VybCAtTCBia
W5hcnkuZ29sZi81LzUNAAB6AQAAAAIAAAACAAB=!
یک رشته ۲۴۹ بایت که base64 شده و یک کاراکتر Sentinel که در آخر اضافه شده که هم دکودر و هم Payload رو در خودش جا میده.
این ۲۴۹ بایت در اصل متن ASCII است، ولی وقتی آن را بهعنوان کد اجرایی 16 بیتی مثلا COM اجرا میکنید، به عنوان کد اسمبلی پردازش میشه یعنی فایل متنی خودش تبدیل به برنامه میشه.
دکودر به صورت Self-Modifying نوشته شده و از ترفندی مثل دستکاری در Prefetch Queue و تغییر بایتها در محل اجرای کد استفاده میکند تا دادههای رمزشده را بازسازی کند.
_
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤1