آموزش تصویری:
تمام سیستم عامل ها از دو قسمت اصلی تقسیم شده اند که مهم قسمت کرنل می باشد وظیفه کرنل کنترل سیستم عامل می باشد این کنترل شامل مدیریت حافظه پردازشگر و حتی کنترل صفحه نمایش می باشد و بخش بعدی مود یوزر می باشد در لینوکس اگر از بخش یوزر بخواهیم دسترسی به کرنل داشته باشیم فقط باید دسترسی روت را داشته باشیم. اکثر سیستم عامل ها دسترسی به سرویس ها را فقط در مود یوزر قرار داده اند تا یوزر معمولی و سرویس ها دسترسی به کرنل نداشته باشند.
در لینوکس می توانید تغییراتی را در کرنل انجام دهید مثلا یک ماژول جدید اضافه کنید مثلا موقع نصب وایرگارد روی لینوکس باید ماژول کرنلی وایرگارد برای لینوکس نصب کنید “باید دقت داشته باشید اگر ماژول کرنلی که نمی شناسید به لینوکس ادد کنید هکر می تواند به عنوان بکدور از آن استفاده کند” خیلی از ابزارهای نفوذ از همین ترفند برای دسترسی به سیستم عامل های مصرف کننده ها استفاده می کنند.
یکی از متداول ترین کارهایی که ما انجام می دهیم با سیستم عامل مثل کالی فعال کردن فوروارد ipv4 تا بتوانیم MITM کنیم و خودمان روتر بشویم.
و همچنین در VPN server نیاز به فعال شدن دارد
net.ipv4.ip_forward = 1
همچنین اگر تنظیمات ipv6 سرور می خواهید غیر فعال کنید تا ipleak نداشته باشید باید از پارامترهای زیر استفاده کنید.
رفع مشکل ارور 403 گوگل روی VPN Server Linux
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
کرنل ماژول چیست؟
هسته گاهی اوقات نیاز به به روز رسانی دارد که ممکن است مستلزم نصب درایورهای جدید دستگاه (مانند کارت های گرافیک، دستگاه های بلوتوث یا دستگاه های USB)، درایورهای سیستم فایل و حتی پسوندهای سیستم باشد. این درایورها باید در هسته تعبیه شده باشند تا کاملاً کاربردی باشند. در برخی از سیستمها، برای افزودن درایور، باید کل هسته را بازسازی، کامپایل و راهاندازی مجدد کنید، اما لینوکس این قابلیت را دارد که بدون گذراندن کل این فرآیند، ماژولهایی را به هسته اضافه کند. این ماژول ها به عنوان ماژول های هسته قابل بارگیری یا LKM شناخته می شوند. LKM ها بر حسب ضرورت به پایین ترین سطوح هسته دسترسی دارند و آنها را به یک هدف فوق العاده آسیب پذیر برای هکرها تبدیل می کند. نوع خاصی از بدافزار معروف به rootkit خود را در هسته سیستم عامل ها جاسازی می کند، اغلب از طریق این LKM ها. اگر بدافزار خود را در هسته جاسازی کند، هکر می تواند کنترل کامل سیستم عامل را در دست بگیرد. اگر یک هکر بتواند مدیر لینوکس را وادار کند که ماژول جدیدی را در هسته بارگذاری کند، هکر نه تنها می تواند کنترل سیستم مورد نظر را به دست آورد، بلکه به دلیل اینکه در سطح هسته سیستم عامل کار می کند، می تواند آنچه را که سیستم هدف از نظر فرآیندها، پورت ها، خدمات، فضای هارد دیسک و تقریباً هر چیز دیگری که فکرش را بکنید، گزارش می دهد، کنترل کند. بنابراین، اگر یک هکر بتواند با موفقیت یک مدیر لینوکس را وسوسه کند که یک ویدیو یا درایور دستگاه دیگری را که یک روت کیت در آن تعبیه شده است نصب کند، هکر می تواند کنترل کامل سیستم و هسته را در دست بگیرد. این راهی است که برخی از موذی ترین روت کیت ها از لینوکس و سایر سیستم عامل ها استفاده می کنند. درک LKM ها برای اینکه یک ادمین لینوکس موثر و یک هکر بسیار موثر و مخفی باشید، کاملاً کلیدی است. بیایید نگاهی بیندازیم که چگونه می توان هسته را برای خوب و بد مدیریت کرد.
چک کردن ورژن کرنل
uname -a
cat /proc/version
تنظیم هسته با sysctl
sysctl -a | less
sysctl -a | less | grep ipv4
sysctl -w net.ipv4.ip_forward=1
مدیریت ماژول های هسته
لینوکس حداقل دو راه برای مدیریت ماژول های هسته دارد. روش قدیمی تر استفاده از گروهی از دستورات ساخته شده در اطراف مجموعه insmod است – insmod مخفف insert module است و برای مقابله با ماژول ها در نظر گرفته شده است. راه دوم، با استفاده از دستور modprobe، کمی بعد در این فصل استفاده خواهیم کرد. در اینجا، ما از دستور lsmod از مجموعه insmod برای لیست کردن ماژول های نصب شده در هسته استفاده می کنیم:
lsmod
یافتن اطلاعات بیشتر با modinfo
modinfo Bluetooth
همانطور که می بینید، دستور modinfo اطلاعات قابل توجهی را در مورد این ماژول هسته که برای استفاده از بلوتوث در سیستم شما ضروری است، نشان می دهد. توجه داشته باشید که در میان بسیاری موارد دیگر، وابستگی های ماژول را فهرست می کند: rfkill و crc16. Dependencies ماژول هایی هستند که برای عملکرد صحیح ماژول بلوتوث باید نصب شوند.
افزودن و حذف ماژول ها با modprobe
modprobe -a <module name>
modprobe -r <module to be removed>
درج و حذف یک ماژول هسته
modprobe -a module
dmesg | grep video
modprobe -r module
https://github.com/lucasgpulcinelli/backdoor-module
https://github.com/matheuspd/Linux-Kernel-Module-Backdoor-Demonstration
https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1014/T1014.yaml
https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1547.006/T1547.006.yaml