نصب chrootkit بر روی ubuntu و CentOS

رضا فرخندگان ۰۹ بهمن ۱۳۹۷ ۰ دیدگاه

در این مقاله نحوه‌ی نصب chrootkit بر روی ubuntu و CentOS را آموزش خواهیم داد. rootkit یکی از خطرناک‌ترین تروجان‌ها و بدافزارها بوده که اجازه‌ی دسترسی غیرمجاز و نامشخص را به سرور می‌دهد. اما بیایید ببینیم chrootkit چیست؟

Chrootkit چیست؟

همان‌گونه که توضیح دادیم، Rootkit یک برنامه‌ی مخرب در سیستم‌عامل‌های لینوکسی است که کنترل سیستم را بدون اینکه کاربر متوجه شود، به دست می‌گیرد. بدین معنی که rootkit می‌تواند فایل‌ها را اجرا کرده و تنظیمات سیستم را تغییر دهد. chrootkit ابزاری است که به ادمین کمک می‌کند تا سیستم خود را بررسی کرده و بفهمد آیا سیستم به بدافزار rootkit آلوده شده است یا خیر.

Chrootkit چیست؟

توجه داشته باشید که شما می‌توانید از ابزار chrootkit به‌منظور پیدا کردن فایل‌های تحت تأثیر rootkit استفاده کنید؛ اما نمی‌توان مطمئن بود که ۱۰۰% فایل‌ها پیداشده و حذف‌شده‌اند.

خوب اکنون بیایید تا با فرایند نصب Chrootkit بر روی توزیع‌های Ubuntu و CentOS لینوکسی آشنا شویم.

نصب chrootkit بر روی ubuntu و CentOS

نصب chrootkit بر روی ubuntu

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” تغییر دهید.

نصب chrootkit بر روی CentOS

این ابزار در بسته‌های مخزن CentOS موجود نیست. به همین دلیل ابتدا باید جدیدترین ورژن آن را دانلود کرده و سپس پیکربندی کنیم.

 ۱. نصب مؤلفه‌های G و ++C

Chrootkit دارای زبان برنامه‌نویسی C است. بنابراین ابتدا باید مؤلفه‌های GCC یا همان C و ++C را نصب کنید تا از خطاهای احتمالی در زمان نصب جلوگیری کنید:
#yum update
#yum install wget gcc-c++ glibc-static

 ۲. دانلود جدیدترین ورژن chrootkit

آخرین نسخه از ابزار chrootkit را می‌توانید از وب‌سایت رسمی آن دانلود کنید.
# wget -c ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz

 ۳. دانلود فایل md5 hash

اکنون می‌توانیم فایل md5 hash را دانلود کنیم. این فایل به ما کمک می‌کند مطمئن شویم که فایل دانلود chrootkit دست‌کاری نشده باشد.
# wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.md5
# md5sum -c chkrootkit.md5
chkrootkit.tar.gz: OK

 ۴. استخراج فایل فشرده و نصب

خوب حالا می‌توانید وارد فایل دانلود شوید و آن را از حالت فشرده خارج کنید. بدین منظور شما هم می‌توانید فایل در مسیر اصلی خود استخراج کنید و سپس آن را به فولدر /usr/bin انتقال دهید، و هم می‌توانید آن را به فولدری جداگانه منتقل کرده و سپس آن را نصب کنید. از هر دو روش می‌توانید استفاده کنید:
#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

 ۵. فعال‌سازی اسکن کردن خودکار سرور

شما می‌توانید یک ورودی cron اضافه کنید تا chrootkit به‌صورت خودکار سیستم‌ را اسکن کرده و گزارش آن را به ایمیل شما بفرستد. بنابراین ورودی‌های زیر را ایجاد و آن‌ها را به فایل “/etx/cron.daily/chrootkit.sh” اضافه کنید.
#!/bin/sh
 (
 /usr/local/chkrootkit/chkrootkit
 ) | /bin/mail -s 'CHROOTKIT Daily Run (ServerName)' your@email.com
برای ایجاد امنیت بیشتر می‌توانید اسکنرهای امنیتی دیگری ازجمله rkhunter را نصب کنید.

عملکرد chrootkit

نصب chrootkit بر روی ubuntu و CentOS

همان‌گونه که در قبل بیان کردیم، chrootkit ابزاری برای بررسی rootkit است. به‌علاوه، chrootkit شامل چندین برنامه‌ی C بوده که بررسی‌های امنیتی زیر را انجام می‌دهند:

Ifpromisc.c: عملکرد زیرساخت شبکه را چک می‌کند.

Chklastlog.c: حذف آخرین ورودها با سیستم را چک می‌کند.

Chkwtmp.c: حذف wtmp را بررسی می‌کند.

Chkproc.c: به دنبال نشانی از تروجان LKM می‌گردد.

string.c: این برنامه stringهای معیوب را جایگزین می‌کند.

Chkutmp.c: حذف utmp را بررسی می‌کند.

استفاده از chrootkit

ساده‌ترین روش برای راه‌اندازی این ابزار استفاده از فرمان “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 ابزاری ساده اما بسیار مؤثر جهت حفاظت از سیستم‌ها و سرورهاست. این ابزار سیستم را اسکن کرده و در صورت پیدا کردن هر مورد مشکوکی، به ما گزارش می‌دهد.

فناوران شبکه سینداد (آهنگ نوآوری)

سینداد یعنی هدیه‌ی سیمرغ، یا فرزند سیمرغ؛ به عبارتی یعنی خود سیمرغ، با همه ی شگفتی هایش، اما جوانتر و سرزنده تر. و این چیزی است که ما سعی می کنیم در سینداد باشیم. از سال ۱۳۸۵ دانش مان را به صورت خدماتی در حوزه ی هاستینگ، شبکه و تولید نرم افزار در اختیار مشتریان مان قرار داده ایم و به این افتخار می کنیم که تک تک آنها تا به امروز همراه ما مانده اند. باور داریم که سینداد صرفاً یک شرکت نیست، بلکه نوعی باور است به ارائه ی شگفت انگیز از هر چیز.