Гид по технологиям

Проверка системы на руткиты с помощью chkrootkit

• 4 min read • Безопасность • Обновлено 27 Nov 2025
Проверка на руткиты: chkrootkit — руководство
Проверка на руткиты: chkrootkit — руководство

Проверьте систему на наличие руткитов немедленно: скачайте исходники chkrootkit, проверьте контрольную сумму, скомпилируйте и запустите инструмент с носителя только для чтения. Этот материал объясняет, как работает chkrootkit, его ограничения, альтернативы и даёт пошаговый план для администраторов и реагирования на инциденты.

Что такое руткит?

Руткит — это набор программ и модулей, которые злоумышленник устанавливает после получения прав root. Они скрывают следы взлома (процессы, файлы, записи журналов) и обеспечивают постоянный доступ к системе. Часто руткиты изменяют системные бинарники или ядро (LKM — Loadable Kernel Module).

Важно: руткит может не показываться в обычных списках процессов и выводе утилит типа ps, а также удалять или подменять записи в логах.

Что такое chkrootkit

chkrootkit — это набор инструментов для локальной проверки системы на признаки руткитов. Основные компоненты:

  • chkrootkit: оболочка (shell-скрипт), проверяющая системные бинарники на изменения.
  • ifpromisc.c: проверяет, не находится ли сетевой интерфейс в promiscuous-режиме (сниффинг трафика).
  • chklastlog.c: проверяет возможные удаления в lastlog.
  • chkwtmp.c: проверяет возможные удаления в wtmp.
  • check_wtmpx.c: проверяет wtmpx (только Solaris).
  • chkproc.c: ищет признаки LKM-троянов и скрытых /proc записей.
  • chkdirs.c: дополнительные проверки каталогов.
  • strings.c: утилита для простого извлечения строк из файлов.
  • chkutmp.c: проверяет utmp на удаления.

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

Источник и авторы (включены в исходный текст): Nelson Murilo, Klaus Steding-Jessen. Официальный сайт: http://www.chkrootkit.org/

Важное предупреждение

Важно: не устанавливайте chkrootkit как постоянно запущенную программу на том же диске, который вы подозреваете в заражении. Злоумышленник может подменить установленную утилиту. Скомпилируйте chkrootkit и запускайте его с внешнего, только для чтения носителя или с отдельного незатронутого носителя.

Быстрая инструкция — установка и запуск

Шаги описаны для shell (команды приведены без изменений):

# wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz

Проверьте MD5-сумму архива:

# md5sum verify chkrootkit.tar.gz

Распакуйте:

# tar -xzf chkrootkit.tar.gz

Скомпилируйте (перейдите в каталог, созданный распаковкой):

# make sense

Запустите из того каталога, где собрали:

# ./chkrootkit

Пример вывода (утвердительный и отрицательный результаты):

ROOTDIR is `/'
Checking `amd'... not found
Checking `basename'... not infected
Checking `biff'... not found
Checking `chfn'... not infected
Checking `chsh'... not infected
Checking `cron'... not infected
Checking `date'... not infected
Checking `du'... not infected
Checking `dirname'... not infected
Checking `echo'... not infected
Checking `egrep'... not infected
Checking `env'... not infected
Checking `find'... not infected
Checking `fingerd'... not found
Checking `gpm'... not infected
Checking `grep'... not infected
.
.
.
chkutmp: nothing deleted

Вы также можете запустить chkrootkit на образе диска или смонтированной файловой системе, указав точку монтирования с опцией -r:

# ./chkrootkit -r /mnt/hda2_image

Ограничения и когда chkrootkit может не сработать

  • Современные руткиты могут скрывать себя так, что простые сигнатуры не срабатывают.
  • Если бинарник chkrootkit был подменён в системе, вывод будет недостоверен.
  • Модули ядра (LKM) могут перехватывать системные вызовы и скрывать изменения от утилит.
  • Если журналы уже перезаписаны или отредактированы нестандартным способом, попытки обнаружения по wtmp/lastlog могут не найти ничего.

Когда chkrootkit не подходит: при подозрении на целенаправленную компрометацию с долгосрочной укоренившейся угрозой — требуются более глубокие методы (полный форенсик, анализ дампов памяти, сравнение с эталонами).

Альтернативные и дополнительныe инструменты

  • rkhunter — ещё один сканер руткитов со своими проверками и базами подписей.
  • AIDE или Tripwire — целевые системы обнаружения изменений файлов (IDS для файловой системы).
  • OSSEC/Wazuh — агенты для корреляции событий и обнаружения вторжений.
  • Volatility / Rekall — анализ дампов памяти при подозрении на продвинутые вредоносные модули.

Выбор зависит от зрелости инфраструктуры и требований к постоянному мониторингу.

Мини-методология реагирования на подозрение на руткит

  1. Немедленно изолируйте подозреваемую систему от сети (если возможно, физически). Это предотвращает дальнейшую утечку и распространение.
  2. Подготовьте чистый носитель (CD/DVD, USB в режиме только для чтения или Live-образ) с инструментами (chkrootkit, rkhunter, AIDE) и используйте его для проверки.
  3. Снимите контрольные суммы (md5/sha256) важных разделов и файлов до любых изменений.
  4. Сделайте полный образ диска (dd) и зафиксируйте хэш образа для последующего анализа.
  5. Проанализируйте дамп памяти при подозрении на LKM/руткит в памяти.
  6. Восстановление: в большинстве случаев проще и безопаснее переустановить ОС из надёжного источника и восстановить данные из резервной копии, проверенной на чистоту.

Рольовые чек-листы

Администратор:

  • Отключить систему от сети или ограничить доступ.
  • Снять контрольные суммы разделов: md5sum /dev/sdX > /tmp/disk.md5
  • Запустить chkrootkit с внешнего носителя.
  • Проверить наличие необычных сервисов и процессов, просмотреть вывод netstat/ss.
  • Сохранить все логи и результаты сканирования.

Инцидент-респондер:

  • Создать иммутабельный образ диска командой dd и проверить контрольную сумму.
  • Собрать дамп памяти для последующего анализа.
  • Выполнить статический анализ подозрительных бинарников в изолированной среде.
  • Провести восстановление системы из проверенной резервной копии или переустановку.

Плейбук реагирования (краткая инструкция)

  1. Изолировать узел.
  2. Собрать данные (логи, вывод chkrootkit, ps, netstat, списки открытых портов, контрольные суммы, образ диска).
  3. Проанализировать — локально или передать в команду форензики.
  4. Принять решение: очистка/восстановление/переустановка.
  5. Провести пост-инцидентный аудит и усиление защиты.

Пример создания образа и контрольной суммы (из исходного текста)

Для создания контрольной суммы раздела:

# md5sum /dev/hdc2 > /tmp/hdc2.md5

Создание образа диска с помощью dd:

# dd if=/dev/hdc of=/tmp/hdc.img

Важно: /tmp должен иметь достаточно места и не находиться на том же диске, который вы копируете. По возможности записывайте образ на отдельный физический носитель.

Критерии приёмки

  • Проверки chkrootkit запущены с внешнего носителя и не были модифицированы в подозреваемой системе.
  • Образ диска сохранён и имеет контрольную сумму.
  • При нулевых показателях подозрения — запись результатов и наблюдение в течение согласованного периода.
  • При положительном обнаружении — восстановление из резервной копии и последующий аудит.

Когда требуется форенсика и переустановка

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

Краткий словарь

  • Руткит: вредоносный набор инструментов для сокрытия доступа и действий злоумышленника.
  • LKM: модуль ядра, загружаемый во время работы для расширения функциональности (часто используется злоумышленниками для скрытия).
  • wtmp/utmp/lastlog: системные файлы учёта входов/сессий пользователей.

Заключение

chkrootkit — полезный первичный инструмент для локальной проверки на руткиты. Он прост в использовании, но имеет ограничения: не гарантирует обнаружение всех современных угроз. Используйте chkrootkit как часть более широкой стратегии безопасности: мониторинг целостности, резервное копирование, анализ памяти и готовый план реагирования на инциденты.

Важно: если система не заражена, создайте резервные копии и храните их отдельно. Контрольные суммы и образы дисков помогут в будущем при расследованиях.

Примечание: официальный сайт chkrootkit: http://www.chkrootkit.org/

Спасибо за внимание. Надеюсь, вашей системе нечего скрывать!

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро