مسابقات CTF چیست ؟
در این قسمت از آموزش قصد داریم به سوال CTF چیست پاسخ دهیم و شما را با مسابقات CTF و چالش های این مسابقه آشنا کنیم.
CTF چیست ؟
مسابقات CTF که به صورت کاملا قانونی برگذار می شود در ایران به مسابقات امنیت سایبری و مسابقات هک و امنیت معروف است که این مسابقات به دو دسته تقسیم می شود ، حالت اول که به آن Jeopardy گفته می شود که در این حالت سوالاتی در اختیار شرکت کنندگان قرار می گیرد که شرکت کنندگان باید بتوانند سوالات را پاسخ دهند که سوالات مربوطه نسبت به سختی و راحتی آن ها نیز امتیاز های متفاوتی را دارند.
حالت دوم که Attack Defence نام دارد و نیز به شرکت کننده ها سرویس هایی داده می شود که باگ های امنیتی در ان ها وجود دارد ، حال جالب است که بدانید سرویس هایی که در اختیار شما قرار می گیرد تا تست نفوذ خود را بر روی ان پیاده سازی کنید سرویس هایی است که به رقیبان شما هم داده شده است.
برای درک بهتر این موضوع به مثال زیر توجه کنید :
مثال برای آشنایی با مسابقات CTF
تصور کنید یک قلعه در اختیار شما قرار داده شده است و یک قلعه به رقیبتان داده شده است و شما باید با استفاده از سربازان و روش های خود به قلعه حریف حمله کنید و قلعه را تصرف کنید و در عین حال بتوانید امنیت قلعه خود را بالا ببرید تا قلعه شما توسط دیگر حریفانتان تصرف نشود (دقیقا مانند بازی نوستالژیک جنگ های صلیبی )
در این مرحله شما تمام تلاش خود را می کنید تا به سرویس هایی که به رقیبان شما اختصاص داده شده است نفوذ کنید و عین حال امنیت سرویس خود را بالا ببرید تا مورد نفوذ قرار نگیرد . سایت اصلی و رسمی مسابقات CTF سایت ctftime است که لینک این سایت را در ادامه برای شما قرار داده ایم :
زمانی که وارد سایت شوید با صفحه زیر رو به رو خواهید شد :
قسمتی که در تصویر با رنگ قرمز مشخص شده قسمتی است که می توانید برندگان این مسابقه را در سال مربوطه مشاهده کنید . اما سایتی که قرار است در ادامه با ان کار کنیم سایتی بسیار جذاب و پرطرفدار است که چالش های بسیار جالبی برای متخصصان تست نفوذ قرار داده است تا ان ها بتواند مهارت خود را به چالش و در نهایت بالا ببرند .
در این قسمت از آموزش سه تا از چالش های بسیار ساده را برای شما شرح خواهیم داد که هر چالش مربوط به یک دسته بندی مختلف است و سپس شما باید بتوانید با مهارت خود دیگر چالش ها را پشت سر بگذارید ؛ سایتی که در این قسمت از آموزش با ان کار خواهیم کرد سایت root-me است که لینک انرا می توانید در زیر مشاهده کنید :
چالش مسابقات CTF با root-me
زمانی که وارد سایت شوید با چنین صفحه ای رو به رو خواهید شد :
در ابتدا برای شرکت در مسابقات CTF باید یک حساب کاربری ایجاد کنید
تا بتوانید به چالش ها دسترسی داشته باشید.
به این منظور باید فیلد های مربوطه به ساخت حساب کاربری را تکمیل کنید.
در قسمت اول یک نام کاربری برای خود انتخاب می کنید.
در قسمت دوم باید یک ایمیل ادرس برای حساب کاربری خود تنظیم کنید.
در قسمت سوم باید یک پسورد برای حساب کاربری خود انتخاب کنید.
در فیلد چهارم باید پسورد را مجددا وارد کنید و در نهایت بر روی دکمه submit کلیک کنید .
سپس ایمیل خود را تایید کنید و وارد حساب کاربری خود شوید که شامل بخش های مختلف است که برای شرکت در چالش ها باید به قسمت Challenges بروید که لیستی از دسته بندی های مختلف را مشاهده خواهید کرد و هر کدام از این دسته بندی ها چالش های بسیار زیادی دارد که می توانید ان ها را پشت سر بگذارید.
لیست چالش های مسابقه
سپس از لیست باز شده گزینه Web-server را انتخاب کنید :
حال نیز با لیستی از چالش ها رو به رو خواهید شد که ما از سه دسته بندی معروف و پرکاربرد یک چالش را پشت سر خواهیم گذاشت تا شما با روند چالش ها آشنا شوید. در ابتدای کار بر روی اولین چالش که با نام HTML-Source code در اختیار کاربران قرار گرفته است کلیک کنید تا به صفحه چالش منتقل شوید که این بخش شامل چند بخش مهم است.
در قسمت اول شما نام چالش را مشاهده می کنید ، سپس در قسمت دوم راهنمایی به شما شده است که باید با دقت عبارت را مورد انالیز و تحلیل قرار دهید زیرا برای در پشت سرگذاشتن چالش بسیار می تواند به شما کمک کند. در قسمت سوم می توانید چالش را شروع کنید و اقدام به حل کردن چالش کنید. از قسمت چهارم زمانی می توانید استفاده کنید که جواب چالش یا همان پسورد را به دست اورده باشید.
شروع مراحل تست نفوذ
حال نیز باید بر روی start the challenge کلیک کنید.
به صفحه ای منتقل خواهید شد که هیج سرنخی در ان وجود ندارد به این منظور ما به سورس صفحه مراجعه خواهیم کرد که برای مشاهده سورس صفحه می توانید با کلیک راست کردن و زدن گزینه View page source و یا زدن کلید های Ctrl + U سورس صفحه مورد نظر خود را مشاهده کنید.
حال نیز اگر دقت کنید خواهید دید که به صورت واضح می توانید پسورد این چالش را در سورس پیج مشاهده کنید.
حال نیز باید به صفحه قبلی بروید و پسورد خود را وارد کنید تا بتوانید به مرحله بعدی از این چالش های مسابقات CTF بروید. به دسته بندی بعدی چالش ها یعنی Web-client می رویم که همانگونه که از اسم ان مشخص است چالش حملات وب تحت کلاینت است.
چالش Web client
حال نیز به این دسته بندی بروید و چالش HTML-disabled buttons را انتخاب کنید :
در این چالش دو فیلد وجود دارد که هر دو غیرفعال هستند و شما باید این دو فیلد را از حالت غیر فعال در بیاورید و کلمه ادمین را در فیلد بنویسید و تایید کنید ، اگر با زبان نشانه گذاری HTML آشنا باشید و کمی با ان کار کرده باشید می دانید که می توان با استفاده از متد disable فیلد های مختلف را غیر فعال کرد و از آنجایی که چالش های ما Web-Client هستند می توانیم از طریق روش Inspect گزینه disable را غیرفعال کنیم که می توانید ابزار Inspect را با کلیک راست بر روی صفحه وب و انتخاب گزینه Inspect یا با استفاده از کلید میانبر Ctrl + Shift + l اجرا کنید.
سپس گزینه disable را غیر فعال می کنیم.
حال نیز عبارت admin را در فیلد مربوطه وارد می کنیم و گزینه member access را می زنیم.
سپس صفحه ای برای شما باز می شود که پسورد برای شما به نمایش در خواهد آمد.
همانگونه که مشاهده کردید پسورد برای شما به نمایش در می اید
که مفهوم بسیار جالبی دارد که می گوید html نمی تواند جلوی تو را بگیرد.
سپس این عبارت را کپی می کنیم و در قسمت پسورد وارد می کنیم.
حال می توانید به دیگر چالش های این مجموعه بپردازید
در ادامه به چالش Network Hacking می پردازیم.
مسابقه CTF برای تست نفوذ شبکه
در اینجا با چالش اول مجموعه Network Hacking کار می کنیم که اولین چالش ان چالش FTP-authentication است. زمانی که این چالش را start بزنید یک فایل برای شما دانلود خواهد شد که مربوط به ابزار قدرتمند wireshark است که شما باید این فایل را با ابزار وایرشارک اجرا کنید و به تحلیل داده های موجود بپردازید تا بتوانید نام کاربری و پسورد FTP را پیدا کنید.
زمانی که فایل مورد نظر را در نرم افزار وایرشارک import می کنید باید در ابتدا پروتکل FTP را فیلتر کنید تا فقط پکت های مربوط به پروتکل FTP به نمایش در بیایند و سپس اگر کمی دقت کنید می توانید نام کاربری و پسورد را مشاهده کنید.
البته در اینجا نیازی به نام کاربری ندارید و تنها با پسورد می توانید از این چالش عبور کنید
به این منظور باید پسورد را در فیلد مربوطه وارد کنید و به چالش بعدی مراجعه کنید.
نکته : ممکن است شما به جواب برسید و پسورد را در فیلد مربوطه وارد کنید و شما error بدهد ، در این صورت شما باید همان پسورد را مجددا وارد کنید تا مورد تایید قرار بگیرد زیرا بعضی از افراد چالش ها را با حملات بروت فورس انجام می دهند ، این وب سایت با استفاده از این روش قصد جلوگیری از بروت فورس را دارد. پس اگر زمانی به پسورد رسیدید و پسورد را زمانی که وارد کردید با ارور مواجه شدید حداقل یکبار دیگر پسورد را تست کنید.
نتیجه گیری
در این قسمت از آموزش شما را با مسابقات CTF و چالش های این مسابقه آشنا کردیم و به سوال CTF چیست پاسخ کامل داده ایم. در این اموزش قصد ما نیز حل چالش نبوده بلکه قصد ما آشنایی شما با سیستم و base چالش ها بوده است تا شما بتوانید منطق و نوع چالش ها را درک کنید تا بتوانید خودتان دیگر چالش ها را حل کنید و به نتیجه برسید ، سایت های بسیار زیادی وجود دارد که چنین چالش هایی را برگذار می کنند که شما می توانید با کمی جستجو دیگر سایت های مربوطه را پیدا کنید و مهارت خود را به چالش بکشید.
موفق باشید.