chkrootkit چیست؟ اسکن و شناسایی Rootkit در لینوکس

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
 amir

amir

برنامه نویس python, php طراح سایت