- مقدمه
- مرحله ۱: شناسایی اسیبپذیریهای موجود
- مرحله ۲: بهرهبرداری از اسیبپذیریهای شناخته شده
- مرحله ۳: کسب دسترسی سطح پایین
- مرحله ۴: جستجو برای اسیبپذیریهای افزوده (تودرتو)
- مرحله ۵: ارتقاء به دسترسیهای سطح بالا
- مرحله ۶: نفوذ به هسته سیستم
- مرحله ۷: پنهانسازی و حفظ دسترسی
- نتیجهگیری
مقدمه
اسیبپذیریهای ترکیبی به مشکلات امنیتی اشاره دارند که با سوءاستفاده از آنها، امکان دسترسی کامل به هسته سیستم عامل (Kernel) فراهم میشود. این نوع نفوذ، به خصوص در سیستمهای لینوکس اهمیت بالایی دارد و میتواند تبعات سنگینی برای اطلاعات و اعتبار سازمانها داشته باشد. در این مقاله، مراحل مختلفی که منجر به full-kernel compromise میشوند، به تفصیل توضیح داده خواهد شد.
مرحله ۱: شناسایی اسیبپذیریهای موجود
در ابتدا باید سیبپذیریهایی که ممکن است در سیستم وجود داشته باشند، شناسایی شوند. ابزارهایی مانند nmap و Nikto برای یافتن اطلاعات مربوط به پورتها و خدمات فعال میتوانند بسیار مفید باشند.
nmap -sV -p- <IP_ADDRESS>
مرحله ۲: بهرهبرداری از اسیبپذیریهای شناخته شده
پس از شناسایی اسیبپذیریها، باید از آنها بهرهبرداری کرد. به عنوان مثال، اگر سیبپذیری مربوط به CVE-XXXX-YYYY وجود داشته باشد، میتوان با استفاده از آن به اجرای کد مخرب پرداخت. ابزارهایی مانند Metasploit میتوانند بهطور خاص برای این منظور استفاده شوند.
msfconsole
use exploit/linux/local/CVE-XXXX-YYYY
set LHOST <LOCAL_IP>
set RHOST <TARGET_IP>
exploit
مرحله ۳: کسب دسترسی سطح پایین
در این مرحله، پس از بهرهبرداری موفق از سیبپذیری، دسترسی سطح پایین به سیستم کسب میشود. این دسترسی معمولاً به عنوان یک کاربر غیرمجاز (non-privileged) خواهد بود. باید اقداماتی انجام داد تا دسترسیهای بیشتری به دست آید.
whoami
مرحله ۴: جستجو برای اسیبپذیریهای افزوده (تودرتو)
حال باید به دنبال سیبپذیریهای افزوده یا تودرتو در سیستم بگردیم که میتواند به فعالیتهای بیشتری منجر شود. به دنبال فایلها و پیکربندیهایی باشید که میتوانند به گرایشهای امنیتی منجر شوند.
find / -name "*.so" -print
مرحله ۵: ارتقاء به دسترسیهای سطح بالا
در این مرحله، میتوان با استفاده از سیبپذیریهای موجود، به دسترسیهای سطح بالا (Root) دست یافت. از جمله روشها میتوان به بهرهبرداری از SUID binaries یا privilege escalation exploits اشاره کرد.
find / -perm -04000 -print
مرحله ۶: نفوذ به هسته سیستم
با دسترسی به سطح بالای سیستم، میتوان به جزئیات Kernel دسترسی پیدا کرد. بهعنوانمثال، با استفاده از بارگذاری ماژولهای هسته مخرب یا تغییر تنظیمات طراحیشده برای هسته، میتوان نفوذ کامل به هسته را انجام داد.
insmod malicious_module.ko
مرحله ۷: پنهانسازی و حفظ دسترسی
پس از نفوذ کامل، اقدام به پنهانسازی فعالیتها و ورود به سیستم بهصورت مخفیانه میشود. برای این منظور، میتوان از تکنیکهای نظارت و تغییر پروندههای لاگ استفاده کرد.
tail -f /var/log/auth.log
نتیجهگیری
در این مقاله، مراحل کلیدی سیبپذیریهای ترکیبی که منجر به full-kernel compromise میشوند، بهصورت گامبهگام بررسی شد. این مراحل شامل شناسایی سیبپذیریها، بهرهبرداری از آنها، کسب دسترسیهای مختلف و در نهایت نفوذ به هسته سیستم میباشند. توجه به این نکات میتواند به مدیران سرور و توسعهدهندگان کمک کند تا از نفوذهای احتمالی جلوگیری نمایند و امنیت سیستمهای خود را تقویت کنند.
