CTF چیست؟ موضوع چالش‌های CTF

1405-08-19 14:59

What is CTF

 

چالش‌های CTF شامل چه موضوعاتی می‌شوند؟


CTF فقط به هک وب محدود نیست. دسته‌بندی‌های متنوع آن فرصتی فراهم می‌کنند تا با شاخه‌های مختلف امنیت آشنا شوید.

 

 

امنیت وب یا Web


این چالش‌ها به آسیب‌پذیری‌های برنامه‌های تحت وب مربوط می‌شوند؛ از ضعف در احراز هویت و کنترل دسترسی گرفته تا تزریق SQL یا مشکلات مدیریت نشست.

 

برای شروع این بخش، آشنایی با HTTP، کوکی‌ها، HTML و مبانی JavaScript مفید است.

 

رمزنگاری یا Cryptography: در چالش‌های رمزنگاری، باید یک پیام رمز‌شده یا پیاده‌سازی ناقص را تحلیل کنید. گاهی مسئله درباره رمزهای کلاسیک است و گاهی به استفاده نادرست از الگوریتم‌های جدید مربوط می‌شود. هدف همیشه شکستن یک الگوریتم قدرتمند نیست؛ بسیاری از چالش‌ها نشان می‌دهند چگونه یک اشتباه در پیاده‌سازی، امنیت کل فرایند را از بین می‌برد.

 

جرم‌یابی دیجیتال یا Forensics: در این دسته باید از میان فایل‌ها و داده‌ها، سرنخ پیدا کنید. تحلیل ترافیک شبکه، بررسی فراداده تصاویر، بازیابی اطلاعات و تحلیل حافظه از موضوعات رایج هستند.

 

مهندسی معکوس یا Reverse Engineering: در مهندسی معکوس، برنامه‌ای در اختیار شما قرار می‌گیرد که معمولاً کد منبع آن را ندارید. باید رفتار و ساختار آن را بررسی کنید تا منطق اعتبارسنجی، اطلاعات پنهان یا مسیر رسیدن به فلگ مشخص شود.

 

بهره‌برداری از باینری یا Pwn: این چالش‌ها معمولاً به ضعف‌های برنامه‌های کامپایل‌شده، به‌خصوص خطاهای مرتبط با حافظه، می‌پردازند. آشنایی با زبان C، معماری کامپیوتر، اسمبلی و دیباگ‌کردن برای ورود جدی به این حوزه اهمیت دارد.

 

اطلاعات متن‌باز یا OSINT: در چالش‌های OSINT، پاسخ از طریق تحلیل اطلاعات عمومی به دست می‌آید. ممکن است لازم باشد مکان یک تصویر را شناسایی کنید یا ارتباط میان چند سرنخ عمومی را پیدا کنید. رعایت حریم خصوصی و محدود ماندن به قواعد چالش در این بخش نیز ضروری است.

 

 

بهترین پلتفرم‌های CTF برای یادگیری و تمرین

 

همه سایت‌هایی که برای تمرین امنیت معرفی می‌شوند، پلتفرم مسابقه CTF به معنای دقیق آن نیستند. بعضی روی مسابقه تمرکز دارند، بعضی آزمایشگاه آموزشی ارائه می‌کنند و برخی برای پیدا کردن رویدادها کاربرد دارند.

 

picoCTF: با هدف آموزش امنیت طراحی شده و چالش‌هایی در زمینه وب، رمزنگاری، جرم‌یابی دیجیتال و موضوعات دیگر دارد. برای کسی که هنوز حوزه مورد علاقه‌اش را انتخاب نکرده، این تنوع ارزشمند است. بخش تمرینی آن امکان می‌دهد بدون فشار زمان مسابقه، روی حل مسئله‌ها کار کنید.

 

OverTheWire: مجموعه‌ای از بازی‌های امنیتی مرحله‌ای ارائه می‌کند. بازی Bandit به‌ویژه برای کسانی مناسب است که می‌خواهند با خط فرمان لینوکس، فایل‌ها، مجوزها و اتصال SSH آشنا شوند. اگر در استفاده از ترمینال احساس سردرگمی می‌کنید، بهتر است قبل از رفتن سراغ چالش‌های پیچیده، مدتی روی این مهارت‌ها کار کنید.

 

TryHackMe: ترکیبی از محتوای آموزشی و محیط‌های تمرینی دارد. بسیاری از تمرین‌های آن با توضیح و سؤال‌های مرحله‌ای همراه‌اند؛ بنابراین برای افرادی که به مسیر مشخص نیاز دارند، انتخاب قابل‌توجهی است. این پلتفرم صرفاً سایت مسابقات CTF نیست، اما برای ساختن مهارت‌های موردنیاز آن کاربرد دارد.

 

Hack The Box: به ماشین‌های آزمایشگاهی و چالش‌های عملی امنیت شناخته می‌شود. در بسیاری از تمرین‌ها، باید خودتان مسیر بررسی را پیدا کنید و چند ضعف را برای رسیدن به هدف به هم مرتبط کنید. بخش‌های آموزشی و مقدماتی این مجموعه را نباید با ماشین‌های دشوارتر آن یکسان دانست؛ انتخاب سطح مناسب، تفاوت زیادی در تجربه یادگیری ایجاد می‌کند.

 

PortSwigger Web Security Academy: اگر هدف اصلی شما یادگیری امنیت وب است، Web Security Academy از PortSwigger منابع آموزشی و آزمایشگاه‌های رایگانی در این زمینه ارائه می‌کند. این مجموعه یک پلتفرم عمومی CTF نیست، اما تمرین‌های آن برای تقویت مهارت حل چالش‌های وب بسیار مفید هستند.

 

Root-Me: مجموعه‌ای از چالش‌ها در حوزه‌های مختلف امنیت دارد. اگر مبانی را می‌دانید و می‌خواهید توانایی خود را در موضوعات متفاوت بسنجید، می‌توانید از آن برای تمرین مستمر استفاده کنید.

 

CTFtime: بیشتر مرجع پیگیری رویدادها، نتایج و رتبه‌بندی تیم‌هاست، نه یک محیط آموزشی مستقل. وقتی آماده شرکت در مسابقه شدید، می‌توانید از آن برای پیدا کردن رویدادها و بررسی اطلاعاتشان استفاده کنید.

 

در بخش بعدی به این مورد اشاره خواهیم کرد که برای شروع کار در حوزه CTF به چه مهارت هایی نیاز خواهید داشت.