Chkrootkit

Ещё одной полезной утилитой, при анализе ситуации на сервере после взлома, или просто при проверке безопасности сервера является 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 обязательно стоит использовать для проверки.

@SysadminNotes

One thought on “Chkrootkit

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *