نقطه کور در زمین بازی لینوکس
نکاتی در هانت
اگر دنبال privilege escalation هستید یا میخواهید threat hunting روی لینوکس رو واقعا حرفهای انجام بدید ، حتماً audit و پایش کردن Capabilitiesها (نه فقط suidها) رو از قلم نندازید؛ این یکی از جالب ترین، پنهانترین و کمتر شناختهشدهترین نقاط زمین بازی لینوکسه.
🔰بحث Linx capabilites؛ قدرت بیشتر از SUDO و SetUID بدون نیاز به Root کامل
در کرنلهای جدید لینوکس (۲.۲ به بعد)، مفهوم Linux Capabilities معرفی شده که بهجای دادن دسترسی “کامل” root (با sudo یا ستکردن bit setuid به باینری)، میشه فقط یه بخش خیلی خاص از دسترسیهای سیستمی رو به پروسس یا فایل بدیم.
کاربرد هکری و دفاعی:
مهاجم اگه بتونه یه فایل اجرا رو با setcap بجای setuid رو تنظیم کنه، شاید بتونه مثلاً فقط قابلیت شنود شبکه (CAP_NET_RAW) به یک باینری معمولی اضافه کند، بدون خطرات همیشگی root شدن کامل باینری!
همین موضوع نقطهی کور خیلی از ماژولها و حتی SIEMهاست چون مدیریت و هشدار روی Capabilities کلاً با setuid فرق داره و کمتر دیده میشه.
دستورات کلیدی:
setcap cap_net_raw+ep /path/to/bin
getcap -r / # لیستکردن همه فایلهایی که capabilities خاص گرفتن
نکته امنیتی:
خیلی وقتها سرورهای لینوکسی با فایلهایی که با setcap تنظیم شدند و دسترسیهای حیاتی گرفتند ولی مالک شون root نیستند یا حتی ناشناخته هست، مورد حمله قرار میگیرند یا مهاجم داره با حداقل ردپا privilege escalation انجام میده—در حالیکه audit معمول دنبال suid میگرده، نه Capabilitiesها.
مساله Capabilities سطح granularتری از privilege رو به پروسس/باینری میدهد؛ یعنی با کمترین سطح دسترسی، امکان حمله یا پایداری (Persistence) بدون جلب توجه فراهم میشود.
مهاجم حرفهای سعی میکند همین کورسویی که در audit کلاسیک پنهان است برای privilege escalation و حمله استفاده کند.
بررسی و هشدار به getcap -r / در کنار SUID hunting باید جزو default playbook هر سفر شکار تهدید لینوکس باشد.
#آکادمی_روزبه
مرکز تخصصی CISSP
Www.Roozbeh.academy