سناریوی MakeSense یک چالش امنیتی پیچیده است که با یک سایت وردپرس (WordPress) برای یک آژانس وب آغاز میشود. این سناریو نشان میدهد که چگونه یک نشت اطلاعات ساده میتواند منجر به یک زنجیره حمله گسترده و در نهایت دسترسی کامل به سطح Root شود.
مرحله اول: شناسایی و جمعآوری اطلاعات (Reconnaissance)
با استفاده از ابزار nmap، دو پورت باز SSH (22) و HTTPS (443) شناسایی شدند. بر اساس نسخههای OpenSSH و Apache، سیستم احتمالاً از توزیع Ubuntu 24.04 Noble LTS استفاده میکند. بررسی گواهی TLS نشان داد که دامنه هدف makesense.htb است. با استفاده از ابزار ffuf، زیردامنه www.makesense.htb نیز شناسایی شد.
مرحله دوم: دسترسی اولیه از طریق نشت اطلاعات صوتی
در حین بررسی دایرکتوریهای آپلود (uploads)، یک فایل صوتی با فرمت WAV پیدا شد. این فایل حاوی ضبط صدای یکی از کاربران بود که در حین تست ویژگیهای جدید، رمز عبور خود را با صدای بلند بیان کرده بود. با استخراج رمز عبور از این فایل صوتی، امکان ورود به پنل مدیریت وردپرس با نام کاربری jake فراهم شد.
مرحله سوم: اکسپلویت XSS و تسخیر حساب مدیر
اگرچه حساب کاربری پیدا شده دسترسی مدیریت نداشت، اما امکان مشاهده “ارسالهای تماس” (Contact Submissions) وجود داشت. با استفاده از یک اسکریپت برای ارسال فرمهای تماس، یک حمله XSS (Cross-Site Scripting) علیه ربات مدیر (Admin Bot) طراحی شد. نکته فنی مهم در این مرحله، دور زدن محدودیت Mixed Content در مرورگر کروم بود. به دلیل ویژگی Local Network Access در نسخههای جدید کروم، درخواستهای HTTP به آدرسهای IP محلی از بررسیهای امنیتی Mixed Content مستثنی میشوند، که این امر اجازه اجرای اسکریپتهای مخرب را به مهاجم داد.
مرحله چهارم: اجرای کد از راه دور (RCE)
پس از تسخیر نشست (Session) مدیر، از قابلیت Plugin File Editor در وردپرس برای اصلاح یک پلاگین موجود (Akismet) استفاده شد. با تزریق یک Webshell ساده در فایلهای پلاگین، امکان اجرای دستورات از راه دور و دریافت یک Reverse Shell فراهم گردید. این مرحله منجر به دسترسی به کاربر walter شد که اطلاعات ورود آن در فایل wp-config.php یافت شده بود.
مرحله پنجم: ارتقای سطح دسترسی به Root
برای رسیدن به سطح دسترسی Root، یک اپلیکیشن وب OCR شناسایی شد که با دسترسی روت اجرا میشد. این اپلیکیشن قابلیت ذخیره متنهای شناسایی شده با نام فایل دلخواه را داشت که منجر به آسیبپذیری Arbitrary File Write میشد. با تولید یک تصویر حاوی کدهای PHP و ارسال آن به سرویس OCR، مهاجم توانست یک فایل PHP مخرب را در مسیر وبسرور ذخیره کرده و با اجرای آن، دسترسی کامل به سیستم (Root) را به دست آورد.