Ещё одной полезной утилитой, при анализе ситуации на сервере после взлома, или просто при проверке безопасности сервера является chkrootkit. Для CentOS 6 её можно поставить из репозитория EPEL, а вот для CentOS 7 придётся ставить её из архива.
Скачиваем архив с утилитой, размещаем его в удобной для нас директории, собираем модули для работы chkrootkit:
# yum install gcc glibc-static # mkdir /usr/local/chkrootkit/ # cd /usr/local/chkrootkit/ # wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz # tar xvfz chkrootkit.tar.gz # mv chkrootkit-0.52/* . # make sense
Простая проверка запускается командой:
# /usr/local/chkrootkit/chkrootkit
После запуска, chkrootkit выполнит все доступные для него тесты — проверку бинарников в системе, поиск следов проблемных модулей ядра, поиск интерфейсов, где происходит захват трафика, обнаружение удаления записей из журналов wtmp и lastlog (точное обнаружение не гарантируется).
Модули chkrootkit можно запускать и отдельно. Например, если мы хотим найти интерфейс, на котором происходит захват трафика, можно сразу же обратиться к ifpromisc.
Вот так будет выглядеть ответ если таких интерфейсов не обнаружено:
# /usr/local/chkrootkit/ifpromisc eth0: not promisc and no PF_PACKET sockets eth0: not promisc and no PF_PACKET sockets
И вот такой ответ даст утилита если что-либо будет найдено. В нашем случае — tcpdump, который слушает трафик на eth0 интерфейсе:
# /usr/local/chkrootkit/ifpromisc eth0: PF_PACKET(/usr/sbin/tcpdump) eth0: PF_PACKET(/usr/sbin/tcpdump)
И воспользуемся вот таким тестом:
# /usr/local/chkrootkit/chkrootkit sniffer ROOTDIR is `/' Checking `sniffer'... eth0: not promisc and no PF_PACKET sockets eth0: not promisc and no PF_PACKET sockets
А если захват трафика происходит:
# /usr/local/chkrootkit/chkrootkit sniffer ROOTDIR is `/' Checking `sniffer'... eth0: PF_PACKET(/usr/sbin/tcpdump) eth0: PF_PACKET(/usr/sbin/tcpdump)
Для того что бы проверить подключенный отдельно жёсткий диск (например из rescue), пользуемся опцией -r для cмены корневого каталога и командой:
# mount /dev/sdb1 /mnt # /usr/local/chkrootkit/chkrootkit -r /mnt
Как можно увидеть, утилита очень простая, не имеет какого-то огромного функционала, но свою работу выполняет хорошо. В случае, если имеется подозрение о взломе сервера и сокрытии на нём руткита, chkrootkit обязательно стоит использовать для проверки.
One thought on “Chkrootkit”