آموزش امنیت سایبری از طریق CTF - بخش چهارم
1405-07-14 07:57
۴. مطالعات موردی: ماشینهای بازنشستهشده Hack The Box (Lame، Beep، Legacy)
این فصل شامل تحلیل گامبهگام سه ماشین Hack The Box است و مهارتهای فنی آموزشدادهشده، پیامدهای یادگیری و ارتباط آنها با آموزشهای دانشگاهی را برجسته میسازد.
۴.۱. مطالعه موردی ۱: ماشین Lame (لینوکس، آسان) (0xdf, 2018)
هدف اولیه و ابزارها
هدف در ماشین Lame، دسترسی به هر دو User Flag و Root Flag از طریق اکسپلویت این سیستم لینوکسی سطح آسان بود. Lame که به عنوان یک ماشین کلاسیک مناسب مبتدیان شناخته میشود، دارای یک سرویس قدیمی Samba و یک سرویس ناامن FTP است. هدف فراگیر، استفاده از ابزارهای استاندارد شناسایی و اکسپلویت — Nmap برای اسکن، کلاینتهای FTP، ابزار searchsploit و اسکریپتهای سفارشی پایتون — جهت کشف و اکسپلویت این سرویسهای ضعیف بود. در عمل، از ابزارهای رایج تست نفوذ استفاده شد؛ از جمله Nmap به همراه اسکریپتهای پیشفرض، searchsploit برای یافتن اکسپلویتهای شناختهشده، پایتون همراه با کتابخانه pysmb برای ساخت اکسپلویت SMB، و ابزار Netcat برای دریافت Reverse Shell.
اقدامات گامبهگام
• اسکن پورت: اجرای یک اسکن کامل پورتهای TCP با دستور nmap -sT -sV -sC -p-. ابزار Nmap پورتهای باز ۲۱ (vsftpd 2.3.4)، ۲۲ (OpenSSH) و ۱۳۹/۴۴۵ (Samba 3.0.20) را آشکار ساخت.
• بررسی FTP: تلاش برای Anonymous Login به سرویس vsftpd 2.3.4. پس از موفقیت در ورود، هیچ فایل مفیدی یافت نشد. همچنین با استفاده از اسکریپت ftp-vsftpd-backdoor در Nmap وجود Backdoor معروف vsftpd 2.3.4 بررسی شد، اما گزارش داد که هیچ در پشتیای وجود ندارد.
• جستجو برای اکسپلویتها: جستجوی اکسپلویت برای Samba 3.0.20 با استفاده از دستور searchsploit samba 3.0.20. این جستجو اکسپلویتی برای نسخههای Samba کمتر از 3.0.25rc3 تحت عنوان اجرای دستور “username map script” (با شناسه CVE-2007-2447) را نشان داد.
• آمادهسازی اکسپلویت: انتخاب یک اسکریپت پایتون اکسپلویت. نصب ماژول pysmb و استفاده از ابزار msfvenom برای تولید پیلود Reverse Shell در قالب پایتون.
• اجرای اکسپلویت: اجرای اسکریپت پایتون اکسپلویت علیه هدف (پورت ۴۴۵ پروتکل Samba)، همزمان با گوش دادن روی یک پورت محلی با استفاده از netcat. ارتباط دریافت شد و دسترسی root به دست آمد.
• دریافت flags: پیمایش در فایلسیستم با استفاده از شل root بهدستآمده. Flag کاربر در مسیر home/makis/user.txt و Flag روت در مسیر root/root.txt قرار داشت که خوانده و ذخیره شدند.
چالشها و دشواریهای پیشآمده
Backdoor مورد انتظار در vsftpd فعال نشد، بنابراین نخستین تلاش برای اکسپلویت با شکست مواجه گردید. این موضوع نیازمند تغییر مسیر (Pivot) به سمت سرویس Samba بود. چالش دیگر، ساخت یک اکسپلویت کاربردی در خارج از محیط Metasploit بود: اکسپلویت آماده map-script نیازمند تولید دستی Shellcode و گنجاندن آن در اسکریپت پایتون بود. اطمینان از معماری صحیح سیستم هدف و تنظیم درست پارامترهای شبکه (RHOSTS، LHOST، LPORT) برای راهاندازی شل معکوس برای یک فرد مبتدی کار سادهای نبود. فراگیر همچنین مجبور شد با به بنبست رسیدن برنامه اول (در پشتی FTP)، تاکتیک خود را تغییر دهد که این امر نشاندهنده نیاز به انعطافپذیری در کار است.
درسهای آموختهشده
دانشجو از ماشین Lame اهمیت فرآیند دقیق Enumeration و انطباقپذیری را میآموزد. قابلیت تشخیص نسخه در Nmap بلافاصله سرویسهای قدیمی و منسوخ (vsftpd و Samba) را برجسته کرد. تلاش و شکست در اکسپلویت در پشتی vsftpd به فراگیر آموخت که ابزارها میتوانند وجود یا عدم وجود آسیبپذیریها را تأیید کنند. حرکت به سمت سرویس Samba نشان داد که چگونه باید نتایج searchsploit را تفسیر کرد و یک اکسپلویت مناسب را برگزید. استفاده از پایتون برای تزریق SMB map-script، یادگیری پیرامون نحوه ساخت پیلودهای سفارشی و درک OS Command Injection را تقویت کرد. در عمل، یک اکسپلویت واحد (همان Samba map-script) دسترسی مستقیم root را فراهم ساخت؛ امری که تأکید میکند همیشه نیازی به مرحله مجزای ارتقای دسترسی نیست، بهویژه زمانی که یک اکسپلویت دسترسی کامل به سیستم میدهد. این فرآیند جامع و سرتاسری — از اسکن اولیه تا دستیابی به شل — دید کاملی از گردشکار تست نفوذ برای یک ماشین ساده به فراگیر ارائه میدهد.
نگاشت مهارتها و مفاهیم
مراحل طیشده مستقیماً به نقشها و چارچوبهای استاندارد امنیت سایبری نگاشت میشوند. اسکن و شمارش اولیه با نقش تحلیلگر ارزیابی آسیبپذیری در NICE (NICE Work Role 541: Vulnerability Assessment Analyst) همراستاست؛ نقشی که وظایف آن شامل ارزیابی سیستمها و شناسایی انحرافات از پیکربندیهای امن است. اکسپلویت نقص نرمافزاری با نقش تستکننده نفوذ در ENISA مطابقت دارد؛ کسی که فعالیتهای تست نفوذ را برنامهریزی، طراحی، پیادهسازی و اجرا میکند و آسیبپذیریها را شناسایی و اکسپلویت مینماید. خود آسیبپذیری Samba یک نقص کلاسیک تزریق دستورات سیستمعامل (CVE-2007-2447) است که در آن ورودی غیرقابلاعتماد در فیلد نام کاربری مستقیماً به /bin/sh ارسال میشود. این مورد با بخش A03: Injection در ده آسیبپذیری برتر OWASP (به عنوان شکلی از کنترل خارجی بر دستورات سیستم) همخوانی دارد. فرآیند کلی کار (اسکن، شناسایی سرویس، یافتن اکسپلویت، دستیابی به شل) نمایانگر متدولوژی تست نفوذ (ارزیابی مبتنی بر تهدید) است که توسط هر دو چارچوب ENISA و NICE ترویج میشود.
تأمل بر نتایج یادگیری
در آغاز کار، ممکن است یک فراگیر صرفاً اسکنها و اکسپلویتهای ابتدایی را بشناسد؛ اما در پایان، یک زنجیره حمله منطقی را درک میکند. در ابتدا ممکن است فراگیر تنها دستور Nmap را اجرا کرده و کار را متوقف کند، اما از طریق ماشین Lame، او به سمت استفاده از اسکریپتهای کمکی (ftp-vsftpd-backdoor) و کدهای اکسپلویت خارجی پیشرفت کرد. فراگیر یاد گرفت چگونه اکسپلویتها را ایجاد کرده و تطبیق دهد (نوشتن یک اکسپلویت SMB با پایتون) که مهارتی پیشرفتهتر محسوب میشود، و متوجه شد که خود مرحله اکسپلویت مستقیماً دسترسی Root را فراهم کرده است. از این رو، او از یک آشنایی ساده و مبتدی با ابزارها به سمت یک گردشکار حرفهای و کارآمد حرکت کرد که شامل مراحل Post Exploitation (پیمایش در فایلسیستم و بازیابی فلگها) نیز میشود. این پیشرفت بازتابی از گذار از سطح مبتدی (رویکرد آزمون و خطا / اجرا کن و ببین چی میشه) به سطح کارآمد و مسلط (شناسایی روشمند، انتخاب آسیبپذیری مناسب و ساخت پیلودها) است.
دلیل انتخاب و ارزش آموزشی
ماشین Lame به عنوان یک مطالعه موردی مقدماتی انتخاب شد، چرا که نخستین ماشین پلتفرم Hack The Box بوده و برای آموزش مبانی و مفاهیم پایهای بسیار شناختهشده است. سادگی آن (تنها به یک اکسپلویت نیاز است) آن را به گزینهای ایدهآل برای افراد تازهکار تبدیل میکند تا فرآیند سرتاسری تست نفوذ را با دریافت بازخورد فوری تمرین کنند.
کار بر روی Lame با پوشش مهارتهای بنیادی: اسکن شبکه، شمارش سرویسها، بررسی و تحقیق درباره آسیبپذیریها، اجرای اکسپلویت و در نهایت خواندن Flagها، هدف این پایاننامه مبنی بر ارائه یک راهنمای مبتدیان را برآورده میسازد. در بستر یادگیری، Lame فرآیند تست نفوذ را به تصویر میکشد و اعتمادبهنفس لازم برای کار با ابزارها و پیلودهای واقعی را ایجاد میکند و پایهای را برای مواجهه با موارد پیچیدهتر بنا مینهد.
۴.۲. مطالعه موردی ۲: ماشین Beep (لینوکس، آسان) (Calxus, 2020)
هدف اولیه و ابزارها
سیستم هدف Beep یک ماشین لینوکسی پیچیدهتر با سرویسهای متعدد بود. هدف از این ماشین، نمایش مهارتهای سطح متوسط تست نفوذ بود که هم اکسپلویتهای وب و هم اکسپلویتهای محلی را در بر میگیرد. ماشین Beep دارای فهرست بسیار بزرگی از سرویسهای در حال اجرا است، به این معنی که فراگیران به راحتی ممکن است در مواجهه با انبوه پورتهای باز سردرگم و غرق شوند. هدف فراگیر این بود که بهطور روشمند در میان بردارها و مسیرهای محتمل حمله جابهجا شود (Pivot کند). ابزارهای مورد انتظار شامل Nmap (با اسکن سرویسها و نسخهها)، searchsploit برای یافتن نقصهای برنامههای کاربردی وب (Elastix/FreePBX)، ابزارهای خط فرمان مانند curl برای اکسپلویت آسیبپذیریهای وب، و Netcat برای برقراری Reverse Shell بود. پس از ایجاد جاپای اولیه (Foothold) به عنوان کاربر “asterisk” از طریق سیستم FreePBX، از تکنیکهای ارتقای دسترسی در لینوکس (مانند GTFOBins) برای دسترسی به کاربر root استفاده میشد.
اقدامات گامبهگام
شمارش پورتها: یک اسکن جامع (nmap -p- -sV) اجرا شد. پورتهای زیادی باز بودند (شامل HTTP/HTTPS بر روی رابط کاربری وب Elastix/FreePBX). صفحه ورود به رابط گرافیکی وب نشاندهنده وجود نرمافزار Elastix/FreePBX (نرمافزار مدیریت مرکز تماس/PBX) بود.
جستجوی اکسپلویت: دستورات جستجوی searchsploit elastix و FreePBX اجرا شد که مجموعهای از آسیبپذیریها، از جمله آسیبپذیری گنجاندن فایل محلی (LFI) در مسیر vtigercrm/graph.php (ماژول مدیریت تماس FreePBX) را نمایان کرد.
آسیبپذیری LFI روی Elastix: با ارسال درخواست curl به اسکریپت graph.php همراه با تکنیک Path Traversal، یک حمله LFI اجرا شد:
curl https://TARGET/vtigercrm/graph.php?current_language=../../../../../etc/amportal.conf
این درخواست محتویات فایل پیکربندی Asterisk PBX را بازگرداند. فایل پیکربندی مقادیر AMPMGRUSER=admin و AMPMGRPASS=jEhdlekWmdjE را نشان داد.
ورود به وب: با استفاده از اطلاعات هویتی کشفشده (کاربر admin و رمز عبور بهدستآمده) وارد رابط کاربری وب شد. سپس به صفحه ویرایشگر فایل (menu=file_editor&action=edit) برای فایل adsi.conf هدایت شد.
تزریق و کاشت Reverse Shell: فایل adsi.conf با درج یک پیلود Reverse Shell (مانند یک دستور تکخطی Bash مشابه نمونههای موجود در GTFOBins) ویرایش گردید. فایل ذخیره شد و از طریق یک آسیبپذیری LFI دیگر فراخوانی و فعال گردید:
curl ... graph.php?file=../../../../../etc/asterisk/adsi.conf
سپس با ابزار Netcat روی پورت ۴۲۴۲ به حالت Listen رفت. این کار دسترسی شل را در قالب کاربر asterisk فراهم کرد.
ارتقای دسترسی: دستور sudo -l با کاربر asterisk اجرا شد. یک قاعده دسترسی در sudo مشاهده شد که به کاربر asterisk اجازه میداد فایل اجرایی usr/bin/nmap را با دسترسی root و بدون نیاز به رمز عبور اجرا کند. سپس با استفاده از دستور sudo nmap --interactive و فرار به شل، دسترسی سطح root حاصل گردید.
دریافت پرچمها: فلگ Root در مسیر /root/root.txt خوانده شد تا چالش با موفقیت به پایان برسد.
چالشها و دشواریهای پیشآمده
تعداد زیاد سرویسهای فعال در ماشین Beep، تعیین بهترین مسیر حمله را چالشبرانگیز کرده بود. فراگیر ابتدا آسیبپذیری شناختهشده اجرای کد از راه دور پس از احراز هویت در FreePBX/Elastix (اکسپلویت موجود در searchsploit) را امتحان کرد، اما این اکسپلویت RCE پیش از احراز هویت با شکست مواجه شد. شناسایی بردار حمله موفق، مستلزم تشخیص آسیبپذیری LFI در فایل graph.php (مربوط به نسخه Elastix 2.2.0) بود. پس از ورود به سیستم، چالش اصلی به بهرهبرداری از ارتقای دسترسی در لینوکس معطوف شد. استفاده از دستور sudo nmap --interactive یک ترفند غیربدیهی است (استفاده از حالت تعاملی Nmap برای ایجاد شل) که بدون داشتن دانش قبلی چندان آشکار نیست. فراگیران باید خروجی دستور sudo -l را درک میکردند و بهشکلی خلاقانه از دستورات مجاز سوءاستفاده مینمودند؛ موضوعی که نشان میدهد ارتقای دسترسی در لینوکس اغلب شامل یافتن و بهکارگیری چنین رفتارهای خاص و پنهانی سیستم است.
درسهای آموختهشده
ماشین Beep پشتکار و تفکر باز را تقویت میکند. عدم موفقیت یک اکسپلویت مورد انتظار (RCE مستقیم) نشان میدهد که همیشه هر آسیبپذیری برخلاف آنچه تصور میشود، قابل اکسپلویت نیست. کشف و بهرهبرداری از آسیبپذیری LFI به فراگیر آموخت که برای یافتن اطلاعات هویتی، کدها و فایلهای پیکربندی را بررسی و مطالعه کند؛ که این یک تکنیک شناسایی بسیار ارزشمند است. همچنین این مطالعه موردی بر خطرات ناشی از سیستمهای منسوخشده با پیکربندیهای پیشفرض تأکید میکند. سیستم پایه FreePBX/Elastix در برابر آسیبپذیری CVE-2012-4869 آسیبپذیر بود که امکان اجرای کامل کد را از طریق رابط وب فراهم میساخت. فراگیر با ساختار درونی Asterisk/Elastix آشنا شد و یاد گرفت که چگونه فایلهای پیکربندی PBX میتوانند اطلاعات حساس و محرمانه را افشا کنند. در نهایت، ارتقای دسترسی از طریق Nmap نشان میدهد که پیکربندیهای نادرست در دسترسیهای sudo چگونه میتوانند امنیت کل سیستم را تضعیف کنند، و بر اهمیت پیادهسازی و اعمال اصل حداقل دسترسی تأکید میورزد.
نگاشت مهارتها و مفاهیم
فعالیتهای انجامشده روی Beep چندین شایستگی از چارچوب NICE و نقشهای ENISA را پوشش میدهد. اسکن و شمارش اولیه سرویسها با نقش تحلیلگر ارزیابی آسیبپذیری در NICE که وظیفه شناسایی نقصهای سیستم را دارد، همراستاست. اکسپلویت آسیبپذیریهای وب و نمایش نحوه ارتقای دسترسی با نقش تستکننده نفوذ در انیسا (ENISA) مطابقت دارد. از دیدگاه چارچوب OWASP، ماشین Beep شامل هر دو دسته از مشکلات تزریق و پیکربندیهای نادرست امنیتی بود. آسیبپذیری LFI در فایل graph.php شکلی از آسیبپذیریهای تزریق است (دادههای ورودی کاربر برای خواندن فایلهای دلخواه به کار میروند). در سطحی گستردهتر، سیستم از پیکربندی نادرست امنیتی و استفاده از مؤلفههای منسوخ رنج میبرد: کل سیستم PBX (نسخه Elastix 2.2) در یک وضعیت ناامن رها شده بود که این امر بازتابدهنده بخشهای A05/A06 در OWASP است (مانند ویژگیها یا دسترسیهای غیرضروری و نرمافزارهای قدیمی و منسوخ). ارتقای دسترسی در لینوکس از طریق sudo نیز به مقوله پیکربندی نادرست (مجاز بودن اجرای دستورات بدون نیاز به رمز عبور) مربوط میشود. در مجموع، ماشین Beep حوزههای متعددی از چارچوبهای NICE/ENISA را — از اسکن آسیبپذیری و اکسپلویت گرفته تا تحلیلهای پسا-اکسپلویت — در بر میگیرد.
تأمل بر نتایج یادگیری
در حل ماشین Beep، فراگیر از حس سردرگمی ناشی از وجود سرویسهای متعدد به سمت یک رویکرد ساختاریافته پیشرفت میکند: ابتدا شمارش دقیق، و سپس انتقال و تغییر مسیر از حملات وب به سمت اکسپلویتهای محلی. در آغاز، ممکن است تمرکز فراگیر بر آزمودن اکسپلویتهای بدیهی یا اسکنهای سطحی باشد؛ اما در پایان، او بهراحتی قادر به زنجیرهسازی تاکتیکها است: استفاده از یک آسیبپذیری برای دستیابی به دسترسی اولیه و بهرهگیری از آسیبپذیری دوم (پیکربندی نادرست در sudo) برای دستیابی به دسترسی root. این امر نشاندهنده رشد تفکر انتقادی و مهارت برنامهریزی است؛ آنها با استفاده از روش غیرمتعارف Nmap یاد گرفتند که خلاقانه و فراتر از چارچوبهای معمول فکر کنند (که یکی از مهارتهای کلیدی تعریفشده توسط ENISA است). همچنین آنها مهارتهای حمله به برنامههای کاربردی وب (اکسپلویت آسیبپذیری LFI و گنجاندن فایل از طریق HTTP) را ارتقا دادند. هر یک از این خردهتکالیف (LFI در HTTP و ارتقای دسترسی در لینوکس) نشاندهنده نقاط عطف یادگیری مشخصی هستند که گذار به سطحی توانمند و مسلط در مدیریت سناریوهای پیچیده را رقم میزنند.
دلیل انتخاب و ارزش آموزشی
ماشین Beep به دلیل تنوع تکنیکهایی که در خود دارد انتخاب شد. این ماشین مهارتهای امنیت وب و امنیت محلی لینوکس را توأمان به چالش میکشد و از این رو بار آموزشی بسیار غنی دارد. ماشین بهطور هدفمند شامل آسیبپذیریهای Elastix/FreePBX (آسیبپذیری CVE-2012-4869) و ترفندهای خاص مربوط به sudo در لینوکس است تا درسهایی کاربردی و منطبق بر دنیای واقعی را آموزش دهد. همانطور که فراگیر اشاره میکند، Beep فهرست بسیار بزرگی از سرویسهای در حال اجرا دارد؛ موضوعی که فراگیران را ملزم میسازد تا بردارهای حمله را اولویتبندی کرده و چندین مسیر نفوذ را مورد بررسی قرار دهند. این پیچیدگی کاملاً با اهداف پایاننامه در زمینه یادگیری جامع همراستاست: Beep فراگیر را وادار میکند تا دانش اسکن شبکه، اکسپلویت وب و ارتقای دسترسی در سیستمعامل را یکپارچه سازد. این مورد نشاندهنده تأکید پایاننامه بر چالشهای پویا، فعال و چندوجهی CTF است که مجموعهای وسیع از مهارتها را پایهریزی میکنند. با موفقیت در ماشین Beep، یک فرد مبتدی مهارتهای خود را به سطحی متوسط ارتقا داده و یاد میگیرد که چگونه ارزیابیها و تستهای نفوذ واقعیتر را مدیریت نماید.
۴.۳. مطالعه موردی ۳: ماشین Legacy (لینوکس [ویندوز]، آسان) (Onur Can İnalkaç, 2020)
هدف اولیه و ابزارها
ماشین Legacy در واقع یک سیستم ویندوز XP است و هدف آن آموزش نحوه اکسپلویت آسیبپذیریهای بسیار خطرناک پروتکل SMB بود. ابزارهای مورد استفاده شامل Nmap (برای شناسایی سرویسهای SMB و تشخیص آسیبپذیری)، ابزارهای تعامل با SMB در ویندوز و لینوکس (مانند smbclient ،crackmapexec و enum4linux) و فریمورک Metasploit برای اجرای اکسپلویتهای ویندوز بودند. انتظار میرفت فراگیر از اکسپلویت معروف MS08-067 (شناسه CVE-2008-4250) یا احتمالاً EternalBlue (شناسه MS17-010) برای دستیابی به دسترسی مدیریتی استفاده کند. فراگیر ماشین Legacy را سیستمی «سرراست و بدون پیچیدگی» توصیف میکند که در برابر MS08-067 و MS17-010 آسیبپذیر است. برنامه کلی این بود که هدف اسکن شده، ضعف پروتکل SMB تأیید گردد، و با اکسپلویت آن دسترسی سطح SYSTEM حاصل شود.
اقدامات گامبهگام
• اسکن پورتها: دستور nmap -sV -sC اجرا شد. خروجی Nmap نشان داد که پورتهای مربوط به SMB (پورتهای ۱۳۵، ۱۳۹ و ۴۴۵) باز هستند و سیستمعامل هدف را Windows XP SP3 تشخیص داد. اسکریپتهای بررسی آسیبپذیری (SMB-vuln-ms08-067.nse) آسیبپذیر بودن سیستم در برابر MS08-067 را تأیید کردند.
• انتخاب اکسپلویت: کنسول متاسپلویت باز شد و برای اکسپلویتهای مربوط به cve:2008-4250 جستجو صورت گرفت. ماژول exploit/windows/smb/ms08_067_netapi انتخاب شد.
• اجرای اکسپلویت: مقدار RHOSTS برابر با آدرس IP هدف و مقادیر LHOST/LPORT برای سیستم Listener تنظیم شدند. ماژول اکسپلویت MS08-067 اجرا گردید. این ماژول سیستم هدف را بهعنوان Windows XP SP3 شناسایی کرد و با موفقیت یک شل Meterpreter ایجاد نمود (یک نشست/Session جدید باز شد).
• بازیابی فلگها: در نشست برقرارشده با Meterpreter، برای خواندن هر دو فلگ user.txt و root.txt (فلگ مربوط به Administrator)، به مسیرهای C:\Documents and Settings\Administrator\Desktop و ...\makis\ (پوشه کاربر) پیمایش شد. از آنجا که اکسپلویت با سطح دسترسی SYSTEM اجرا شده بود، نیازی به ارتقای دسترسی بعدی نبود.
• اکسپلویت اختیاری EternalBlue (عدم نیاز به اجرا): با وجود اینکه سیستم در برابر آسیبپذیری EternalBlue مربوط به پروتکل SMBv1 نیز آسیبپذیر بود، استفاده از همان اکسپلویت MS08-067 کفایت میکرد. (در صورت اقدام به اجرای آن، اکسپلویت EternalBlue شامل مراحل مشابهی از طریق ماژول exploit/windows/smb/ms17_010_eternalblue میبود.)
چالشها و دشواریهای پیشآمده
چالش اصلی، کار با اکسپلویتهای ناآشنای ویندوز بود. برعکس اکسپلویتهای لینوکسی در متاسپلویت، پیکربندی MS08-067 نیازمند طی کردن گامهای دقیقی بود. فراگیر مجبور بود Fingerprint حاصل از اسکن SMB توسط Nmap را تفسیر کند، پیلود مناسب را برگزیند و نوع هدف را تعیین نماید. همچنین تشخیص اکسپلویت درست در میان گزینههای متعدد (مانند مقایسه EternalBlue با Conficker) میتوانست برای افراد مبتدی سردرگمکننده باشد. علاوه بر این، کار با متاسپلویت و Meterpreter (از جمله تولید و دریافت پیلودها) برای فراگیری که تمرکزش بر لینوکس بوده، مهارتی جدید محسوب میشد. با این حال، به محض یافتن و اجرای اکسپلویت صحیح، Meterpreter مسیر همواری را برای دستیابی به فلگها فراهم ساخت. درک ماهیت آسیبپذیری ریشهای (مدیریت نامناسب و ناامن RPC در سرویس Windows Server) بخشی از این منحنی یادگیری بود.
درسهای آموختهشد
ماشین Legacy شدت و وخامت سیستمهای بدون پچ و بهروزرسانینشده را برجسته میسازد. آسیبپذیری CVE-2008-4250 (یا همان MS08-067) یک سرریز بافر بحرانی در RPC است که امکان انتشار کرم معروف Conficker را فراهم کرده بود. یادگیری نحوه اکسپلویت این آسیبپذیری به کاربر تفهیم کرد که چگونه یک سرویس قدیمی و منسوخ میتواند کنترل کامل کل سیستم را واگذار کند. فراگیر مجبور بود ماژولهای متاسپلویت را بهدرستی به کار گیرد و از طریق یک شل لینوکسی در ویندوز پیمایش کند (برای مثال، استفاده از دستور ls در محیط Meterpreter). این ماشین آموزش میدهد که حتی بدون نیاز به مراحل ارتقای دسترسی، از اختیارات مدیریتی نفوذیافته باید مسئولانه استفاده شود (صرفاً برای جمعآوری فلگها)؛ امری که بازتابدهنده اخلاق حرفهای در تست نفوذ است. در مقیاسی گستردهتر، Legacy این واقعیت را یادآوری میکند که بسیاری از سازمانها سرویسهای قدیمی خود را آسیبپذیر رها میکنند. ایمنسازی سیستمها از طریق اعمال بهموقع پچها و بهروزرسانیها امری حیاتی است؛ نکتهای که با نفوذ به این ماشین کاملاً تثبیت شد.
نگاشت مهارتها و مفاهیم
اکسپلویت ماشین Legacy کاملاً با نقش تستکننده نفوذ همراستاست: فراگیر برای ارزیابی اقدامات امنیتی، یک آسیبپذیری شناختهشده را شناسایی و اکسپلویت کرد. این فعالیت همچنین مهارتهای چارچوب NICE از جمله شناخت سیستمعامل و درک پروتکلهای شبکه (SMB) را در بر میگیرد. از نظر چارچوب OWASP، ماشین Legacy نمونهای از بخش A06: مؤلفههای آسیبپذیر و منسوخ به شمار میرود، زیرا سطح حمله آن بر یک سرویس بهروزنشده ویندوز متکی است. نقص واقعی (MS08-067) از اعتبارسنجی نادرست ورودی در RPC ناشی میشود که از لحاظ مفهومی شبیه به حملات تزریق (ارسال دادههای مخرب) است. با این حال، ده آسیبپذیری برتر OWASP بیشتر بر وب تمرکز دارد، در حالی که درس اصلی در اینجا مقوله پچ و بهروزرسانی سیستم است. این تمرین همچنین با انتظارات چارچوب ENISA مبنی بر شناسایی و اکسپلویت آسیبپذیریها و استفاده مؤثر از ابزارهای تست نفوذ همپوشانی و تطابق دارد.
تأمل بر نتایج یادگیری
ماشین Legacy فراگیر را به قلمرویی پیشرفتهتر (اکسپلویت سیستمهای مبتنی بر ویندوز) سوق میدهد. فراگیران از اسکن پورتها به سمت استفاده از اکسپلویتهای تاریخی و شناختهشده حرکت میکنند؛ و از آن نقطه، مهارت خود را در مدیریت حرفهای تست نفوذ Multi-platform توسعه میدهند. این تمرین نمایانگر رشد استقلال فردی در حل مسئله است: فراگیر باید ماژول اکسپلویت صحیح را انتخاب کند (که بازتابدهنده شایستگی قضاوت و تصمیمگیری در چارچوب ENISA است) و چالشهای ناشی از اجرای آن را عیبیابی نماید. به طور خلاصه، ماشین Legacy نقطهای است که در آن فراگیر قادر به مواجهه با پلتفرمهای قدیمیتر و آسیبپذیریهای با تأثیر بالا میشود و مجموعه مهارتهای خود را صیقل میدهد.
دلیل انتخاب و ارزش آموزشی
ماشین Legacy به منظور آشنایی فراگیران با چالشهای CTF مبتنی بر ویندوز و آسیبپذیریهای بحرانی گنجانده شد. برخلاف ماشینهای Lame و Beep که مبتنی بر لینوکس بودند، ماشین Legacy مسائل امنیتی مربوط به سیستمهای منسوخشده را معرفی میکند. این انتخاب، هدف پایاننامه در ارائه یک راهنمای جامع و مقدماتی را پیش میبرد: فراگیری که به خوبی آموزش دیده باشد باید با تهدیدات هر دو محیط لینوکس و ویندوز آشنا باشد. با حل ماشین Legacy، فراگیر میتواند ابعاد حوادث واقعی مانند کرمهای Conficker یا WannaCry را بهتر درک و تحلیل کند. بنابراین، این تمرین بر اهمیت Patch Management تأکید کرده و اصل OWASP A06 (پرهیز از نرمافزارهای منسوخ) را پیادهسازی مینماید. در یک بستر آموزشی، Legacy تضمین میکند که راهنما سناریوهای گوناگونی را پوشش داده، مهارتهای چندسکویی را برجسته میسازد و بر اهمیت و کاربرد مداوم آسیبپذیریهای کلاسیک تأکید میکند.
آخرین مقالات
آموزش امنیت سایبری از طریق CTF - بخش چهارم
آموزش امنیت سایبری از طریق CTF - بخش سوم
آموزش امنیت سایبری از طریق CTF - بخش دوم
آخرین مقالات
آموزش امنیت سایبری از طریق CTF - بخش چهارم
آموزش امنیت سایبری از طریق CTF - بخش سوم