همانگونه که توضیح دادیم، Rootkit یک برنامهی مخرب در سیستمعاملهای لینوکسی است که کنترل سیستم را بدون اینکه کاربر متوجه شود، به دست میگیرد. بدین معنی که rootkit میتواند فایلها را اجرا کرده و تنظیمات سیستم را تغییر دهد. chrootkit ابزاری است که به ادمین کمک میکند تا سیستم خود را بررسی کرده و بفهمد آیا سیستم به بدافزار rootkit آلوده شده است یا خیر.
توجه داشته باشید که شما میتوانید از ابزار chrootkit بهمنظور پیدا کردن فایلهای تحت تأثیر rootkit استفاده کنید؛ اما نمیتوان مطمئن بود که ۱۰۰% فایلها پیداشده و حذفشدهاند.
خوب اکنون بیایید تا با فرایند نصب Chrootkit بر روی توزیعهای Ubuntu و CentOS لینوکسی آشنا شویم.
Chrootkit در بستههای مخزن Ubuntu موجود است و به همین علت نصب آن کار بسیار سادهای است. بدین منظور فقط کافی است فرمان زیر را وارد کنید:
# apt-get update
# apt install chkrootkit
# chkrootkit -V
chkrootkit version 0.52
البته دقت داشته باشید برای نصب و همچنین پیکربندی chkrootkit باید دسترسی root داشته و از تمام امتیازات آن بهره ببرید.
بستهی chrootkit در مخزن اوبونتو دارای پیکربندی crontab است. Crontab به نحوی برنامهریزیشده که بهصورت روزانه راهاندازی شود. برای فعالسازی اسکن روزانه میتوانید فایل /etc/chrootkit.conf را بازکرده و این فایل را بدینصورت تغییر دهید:
خط RUN_DAILY=”false” را به RUN_DAILY=”true” تغییر دهید.
#yum update
#yum install wget gcc-c++ glibc-static
# wget -c ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
# wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.md5
# md5sum -c chkrootkit.md5
chkrootkit.tar.gz: OK
#tar –xzf chkrootkit.tar.gz
#mkdir /usr/local/chkrootkit
#mv chkrootkit-0.52/* /usr/local/chkrootkit
#cd /usr/local/chkrootkit
#make sense
اکنون میتوانید از chrootkit برای اسکن کردن سرور استفاده کنید:
/usr/local/chkrootkit/chkrootkit
#!/bin/sh
(
/usr/local/chkrootkit/chkrootkit
) | /bin/mail -s 'CHROOTKIT Daily Run (ServerName)' your@email.com
برای ایجاد امنیت بیشتر میتوانید اسکنرهای امنیتی دیگری ازجمله rkhunter را نصب کنید. همانگونه که در قبل بیان کردیم، chrootkit ابزاری برای بررسی rootkit است. بهعلاوه، chrootkit شامل چندین برنامهی C بوده که بررسیهای امنیتی زیر را انجام میدهند:
Ifpromisc.c: عملکرد زیرساخت شبکه را چک میکند.
Chklastlog.c: حذف آخرین ورودها با سیستم را چک میکند.
Chkwtmp.c: حذف wtmp را بررسی میکند.
Chkproc.c: به دنبال نشانی از تروجان LKM میگردد.
string.c: این برنامه stringهای معیوب را جایگزین میکند.
Chkutmp.c: حذف utmp را بررسی میکند.
سادهترین روش برای راهاندازی این ابزار استفاده از فرمان “chrootkit” است. با این فرمان تمام بررسیها انجام خواهد شد. اما اگر میخواهید کار خاصی را بهصورت جداگانه در اجرای این فرمان انجام دهید، گزینههای زیادی را در اختیار خواهید داشت که در زیر آنها را قرار دادهایم:
فرمان h- : راهنمای کامند هاست است.
# chkrootkit -h
Usage: /usr/sbin/chkrootkit [options] [test ...]
Options:
-h show this help and exit
-V show version information and exit
-l show available tests and exit
-d debug
-q quiet mode
-x expert mode
-e exclude known false positive files/dirs, quoted,
space separated, READ WARNING IN README
-r dir use dir as the root directory
-p dir1:dir2:dirN path for the external commands used by chkrootkit
-n skip NFS mounted dirs
فرمان v- : ورژن نرمافزار را نشان میدهد.
# chkrootkit -V
chkrootkit version 0.52
فرمان L-: در این فرمان تستهایی که نرمافزار انجام میدهد، نمایش داده میشوند.
# chkrootkit -l
/usr/sbin/chkrootkit: tests: aliens asp bindshell lkm rexedcs sniffer w55808 wted scalper slapper z2 chkutmp OSX_RSPLUG amd basename biff chfn chsh cron crontab date du dirname echo egrep env find fingerd gpm grep hdparm su ifconfig inetd inetdconf identd init killall ldsopreload login ls lsof mail mingetty netstat named passwd pidof pop2 pop3 ps pstree rpcinfo rlogind rshd slogin sendmail sshd syslogd tar tcpd tcpdump top telnetd timed traceroute vdir w write
فرمان d- : وارد مرحلهی دیباگ (debug) میشود.
فرمان -x : بهوسیلهی این فرمان میتوانیم از نتیجه خروجی بگیریم.
فرمان e- : این فرمان اطلاعات فایلهای آلوده را نشان میدهد.
فرمان q- : در این حالت خروجیهای “infected” نمایش داده میشود.
# chkrootkit -q
Checking `tcpd'... INFECTED
/lib/modules/4.15.0-20-generic/vdso/.build-id /lib/modules/4.15.0-23-generic/vdso/.build-id
/lib/modules/4.15.0-20-generic/vdso/.build-id /lib/modules/4.15.0-23-generic/vdso/.build-id
not tested
INFECTED PORTS: ( 465)
eth0: PACKET SNIFFER(/lib/systemd/systemd-networkd[536])
not tested
فرمان r- : بااین فرمان میتوان یک دایرکتوری خاص را اسکن کرد.
# chkrootkit -r /mnt/ ; This will check all files under this specified directory.
فرمان p- : با این فرمان میتوانیم چند دایرکتوری را معرفی کنیم.
# ./chkrootkit -p /cdrom/bin:/floppy/mybin
فرمان n- : با اجرای این فرمان، درایوهای NFS چک نمیشوند.
امروزه اکثر کامپیوترها و سیستمها از طریق چندین شبکه به اینترنت متصل میشوند. به همین دلیل نیاز محافظت از سیستمها و سرورها در برابر نفوذ هکرها و نرمافزارهای مخرب، بهشدت احساس میشود. Chrootkit ابزاری ساده اما بسیار مؤثر جهت حفاظت از سیستمها و سرورهاست. این ابزار سیستم را اسکن کرده و در صورت پیدا کردن هر مورد مشکوکی، به ما گزارش میدهد.
سینداد یعنی هدیهی سیمرغ، یا فرزند سیمرغ؛ به عبارتی یعنی خود سیمرغ، با همه ی شگفتی هایش، اما جوانتر و سرزنده تر. و این چیزی است که ما سعی می کنیم در سینداد باشیم. از سال ۱۳۸۵ دانش مان را به صورت خدماتی در حوزه ی هاستینگ، شبکه و تولید نرم افزار در اختیار مشتریان مان قرار داده ایم و به این افتخار می کنیم که تک تک آنها تا به امروز همراه ما مانده اند. باور داریم که سینداد صرفاً یک شرکت نیست، بلکه نوعی باور است به ارائه ی شگفت انگیز از هر چیز.