chkrootkit چیست؟ اسکن و شناسایی Rootkit در لینوکس
chkrootkit (Check Rootkit) یه ابزار رایگان و ساده برای اسکن سرور لینوکس و پیدا کردن Rootkit و فایل های آلوده اسمش خودش میگه چیکار میکنه: Rootkit ها رو چک میکنه
خیلی سبک و جمع وجور یه اسکریپت Shell سادست که یه سری تست روی سیستم انجام میده و نشونههای Rootkit های معروف رو جستجو میکنه
chkrootkit چیکار میکنه؟
بررسی فایلهای سیستمی
فایل های مهم مثل ls, ps, netstat, login, passwd و... رو بررسی میکنه اگه دستکاری شده باشن یا نسخه آلوده باشن تشخیص میده
پیدا کردن Rootkit های معروف
یه لیست بلندبالا از Rootkit های شناخته شده داره و تک تکشون رو چک میکنه از قدیمی ها مثل t0rn تا جدیدترها
بررسی فایل های مخفی
فایلها و پوشه های مخفی توی مسیرهای حساس مثل /dev, /tmp, /etc رو چک میکنه
اسکن پورتهای مخفی
پورت هایی که توسط Rootkit باز شدن و خودشون رو از netstat مخفی کردن رو تا حدی میتونه پیدا کنه
بررسی لاگ ها
لاگ های سیستم مثل wtmp و lastlog رو برای نشونه های حذف شدن یا دستکاری چک میکنه
نصب chkrootkit
اوبونتو/دبیان
sudo apt install chkrootkit
CentOS/RHEL
sudo yum install chkrootkit
یا نصب از سورس
wget ftp://ftp.chkrootkit.org/pub/seg/pac/chkrootkit.tar.gz tar -xzf chkrootkit.tar.gz cd chkrootkit-* make sense
اجرای اسکن
sudo chkrootkit
اسکن چند دقیقه طول میکشه خروجی رو خط به خط نشون میده و هر تست رو با نامش مشخص میکنه
فقط Rootkit های شناخته شده رو چک کنه:
sudo chkrootkit -r
بدون نمایش تست های سالم (فقط اگه مشکلی باشه):
sudo chkrootkit -q
خروجی خالیه یعنی همه چی سالمه اگه چیزی نشون بده باید بررسی کنی
خوندن خروجی
chkrootkit خیلی ساده خروجی میده:
Checking `ifconfig'... INFECTED Checking `ls'... not infected Checking `ps'... not infected
حالتها:
not infected یعنی سالمه
INFECTED یعنی آلودگی پیدا شده
not found یعنی فایل یا دستور روی سیستم نیست
nothing found یعنی چیزی پیدا نشد
Positive کاذب (False Positive)
chkrootkit گاهی اشتباه میکنه و یه چیز عادی رو آلوده نشون میده مثلا:
اگه یه فایل یا دستور رو تازه آپدیت کرده باشی
اگه از نسخه غیراستاندارد یه پکیج استفاده کنی
بعضی اسکریپت های مانیتورینگ خودشون رو شبیه Rootkit رفتار میکنن
برای همین هر INFECTED ی به معنی هک شدن نیست باید بررسی کنی و با ابزار دیگه مثل rkhunter تأیید بگیری
اسکن خودکار روزانه
chkrootkit یه cron job پیش فرض داره که توی /etc/cron.daily/chkrootkit هست خودش هر شب اجرا میشه و نتیجه رو ایمیل میکنه
اگه میخوای دستی تنظیمش کنی:
sudo crontab -e 0 2 * * * /usr/sbin/chkrootkit -q 2>&1 | mail -s "chkrootkit Daily Report" your@email.com