Как сканировать Linux на руткиты (rootkits) с помощью rkhunter

Руткиты (rootkit) — это вредоносные программы, созданные для получения доступа уровня рута, при этом они прячут своё присутствие от антивирусных программ. Обычно руткиты устнавливаются на вашу систему троянами, содержащимися вместе с загруженными файлами, через известные системные уязвимости, подозрительными приложениями к письмам, при веб-сёрфинге или просто после взлома пароля.

Для Linux есть несколько инструментов сканирования руткитов, которые помогают противостоять известным или потенциальным руткитам. Один из таких инструментов выявления руткитов называется Rootkit Hunter (rkhunter). Здесь я опишу, как сканировать системы Linux на наличие руткитов с помощью rkhunter.

Установка rkhunter на Linux

Для установки rkhunter на Debian, Ubuntu или Linux Mint:

$ sudo apt-get install rkhunter

Для установки rkhunter на Fedora:

$ sudo yum install rkhunter

Для установки rkhunter на CentOS или RHEL сначала установите репозиторий Repoforge на свою систему, а затем используйте команду yum.

$ sudo yum install rkhunter

Выполняем поиск руткитов на Linux

Для выполнения сканирования на руткиты на вашей системе просто запустите следующее.

$ sudo rkhunter -c

Когда rkhunter установлена, она может выполнить серию тестов, таких как:

  • Сравнение SHA-1 хешей системных исполнимых файлов с известными хорошими значениями, содержащимися в базе данных.
  • Проверка на известные файлы и каталоги руткитов, а также строки руткитов.
  • Выявление зловредного кода, включая проверку на логирование бэкдоров, лог-файлов сниферов и других подозрительных директорий.
  • Выполнение специфичных для троянов проверок, таких как анализ включённых сервисов xinetd.
  • Проводится проверка сетевых портов и интерфейсов.
  • Проводится проверка системного бута.
  • Проводится проверка групп и аккаунтов.
  • Проводится проверка системных конфигурационных файлов.
  • Проводится проверка файловой системы.

Следующие скриншоты показывают Rootkit Hunter в действии.

01

02

Когда сканирование завершено, rkhunter сохраняет результат в /var/log/rkhunter.log. Вы можете отобразить выданные предупреждения следующим образом.

$ sudo grep Warning /var/log/rkhunter.log
[21:33:23] Checking /dev for suspicious file types [ Warning ]
[21:33:23] Warning: Suspicious file types found in /dev:
[21:33:23] Checking for hidden files and directories [ Warning ]
[21:33:23] Warning: Hidden directory found: '/etc/.java: directory '
[21:33:23] Warning: Hidden directory found: '/dev/.udev: directory '
[21:33:23] Warning: Hidden file found: /dev/.initramfs: symbolic link to `/run/initramfs'

Rootkit Hunter полагается на набор базы данных файлов для выявления руткитов. Если вы хотите проверить, актуальна ли база, просто запустите rkhunter с опцией "—update". Если есть новые версии файлов баз данных, он автоматически получит актуальные файлы используя wget.



$ sudo rkhunter --update

rkhunter может быть запущен как cronjob с опцией "—cronjob", в этом случае rkhunter выполнит сканирование в неинтерактивном режиме и сохранит результаты сканирования в /var/log/rkhunter.log для оффлайн проверки.

Будучи инструментов сканирования руткитов, rkhunter может только выявлять руткиты, но не удалять их. Так что следует делать, если rkhunter сообщает о наличии руткита или показывает какие-либо предупреждения? Во-первых, нужно проверить, является ли это ложной тревогой или нет. Предупреждения могут быть вызваны просто тем, что осуществляется обновление ПО, изменёнными системными настройками или другими легитимными изменениями исполнимых файлов. Если вы не уверены, поищите помощь из ресурсов, такой вариант как пользовательская почтовая рассылка rkhunter может быть одной из опций.

Если ваша система действительно заражена руткитом, попытки удалить руткит самостоятельно могут быть не лучшим вариантом, если вы не эксперт по безопасности, который способен диагностировать весь механизм, вектор атаки и путь проникновения конкретного руткита.

Когда руткит найден на вашей системе, лучший вариант в этой ситуации, пожалуй, это отключение скомпрометированной системы от внешнего мира, а затем перенос всех ваших данных с этой системы. Когда вы это выполняете, не делайте резервных копий каких-либо исполнимых файлов, которые вы не можете подтвердить, что они чистые.

3 Комментарии “Как сканировать Linux на руткиты (rootkits) с помощью rkhunter

  1. Добрый день. Во время установки "rkhunter" подтянул за собой пакет "unhide.rb", а потом его-же обозвал подозрительным:

        /usr/bin/whoami                                          [ OK ]
        /usr/bin/unhide.rb                                       [ Warning ]
        /usr/bin/gawk                                            [ OK ]

    Как так?

    1. Нашел. Наверное, дело вот в чем:

      Unhide.rb is a tentative of rewrite in Ruby of the original Unhide, which
      is written in C. While being much faster, it does not implement all the
      diagnostics of the original version. It is also less secure as it cannot
      be statically compiled.

      Стоит ли заменить ее на оригинальную Unhide? Спасибо.

      1. Действительно, после замены Unhide.rb на оригинал Unhide rkhunter больше не ругается )

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>