Как проверить Linux на руткит

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

Главным образом, устанавливаются так называемые руткиты (root kit). Руткит — это программа, которая маскирует свое присутствие на компьютере и открывает через сетевой порт root-доступ. Через этот скрытый канал хакер может использовать ваш компьютер для совершения уголовно наказуемых деяний, а отвечать придется вам. Вот почему так важно периодически проверять свой компьютер на наличие руткитов.

Установка chkrootkit

Казалось бы, а в чем проблема? apt-get install chkrootkit и вперед! Но разработчики руткитов этот алгоритм давно предусмотрели. Руткит модифицирует «антивирусную» программу, чтобы та не выдала его присутствие в системе. Следовательно, остается только один работающий способ провести проверку: загрузить исходники, сверить контрольную сумму, скомпилировать и запустить.

  1. Заходим на сайт http://www.chkrootkit.org/download/и загружаем два файла: исходники в tar.gz (chkrootkit latest Source tarball) и текстовой файл с контрольной суммой MD5 (chkrootkit tarball's MD5 signature).
  2. Запускаем md5sum и в качестве аргумента передаем имя скаченного архива. Сверяем контрольные суммы. Эта простая операция позволяет убедиться, что код chrootkit не был модифицирован руткитом во время загрузки или сохранения файла.
  3. Распаковываем архив: tar xf chrootkit.tar.gz.
  4. Компилируем: make.
  5. Запускаем проверку: ./chrootkit.

Проверка заключает в следующем:

  • сначала chkrootkit проверит системные файлы (/bin/* и /usr/bin/*) на предмет несанкционированной модификации;
  • потом программа проверит по списку наличие известных зловредов;
  • затем chrootkit проверит систему на подозрительную активность (например, сетевая карта в promisc-режиме);
  • и так далее.

При обнаружении проблем программа предложит либо выкорчевать руткит, либо выдаст информацию, которая поможет вручную удалить вредоносное ПО. После проверки можно просто удалить директорию с распакованным chrootkit.

Профессионалам

Людям, которые серьезно занимаются вопросами безопасности в Linux может показаться полезным знакомство с программным пакетом Lynis. Эта свободная программа проводит комплексный аудит безопасности в Linux-системах.

Ваша оценка: Нет Средняя оценка: 5 (3 votes)
a

chkrootkit на большем количестве ОС раскрывает следующую ложную инфекцию :

Searching for Suckit rootkit... Warning: /sbin/init INFECTED

rkhunter является более надежным

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
a

так rkhunter похоже не больше не разрабатывается. Последняя активность на sourceforge: 2014-02-24. Впрочем как и chkrootkit — сам пакет от мая 2014.

Ваша оценка: Нет
a

поправка — он лезет за апдейтами в инет, но обновил только базу backdoorports.dat, другие файлы остались старыми. Но это уже неплохо

Ваша оценка: Нет
4
Agafron

у меня не запустился
chkrootkit: can't find `ssh'.

Ваша оценка: Нет
a

Такие вещи нужно держать на отдельной живой флешке, а то где гарантия что зараза не заменила make, gcc, md5 и bash.

Ваша оценка: Нет Средняя оценка: 4.3 (3 votes)
9
dk

а как он с флешки

проверит систему на подозрительную активность (например, сетевая карта в promisc-режиме);

?

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
4

ну люди, мы же всетаки линуксоиды. Сканируем, проверяем изменились ли какие нибудь файлы например в /usr/bin ну скажем в течении последних 24 часов

sudo find /usr/bin -type f -mtime -1

у меня было 0 совпадений. Какие там еще можно прочесать — /usr/sbin /usr/lib и тд. Мы же не виндовозники чтобы гадать :). Но мысль была правильная, плюсую

Ваша оценка: Нет
9
dk

А откуда предположение то автору руткита не хватит интеллекта поправить время?

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
4

вот это я прокололся. Это очень интересная проблема, спасибо что сказал. Для rpmовских дистров есть хорошая возможность проверить подлинность пакетов. Вот цитата из мана

При проверке пакета информация о файлах, установленных из пакета, сравнивается с информацией из оригинального пакета. Помимо прочего, при такой проверке проверяется размер, сумма MD5, разрешения, тип, владелец и группа владельца каждого файла.
 
Проверку пакета выполняет команда rpm -V. Вы можете указать пакет, который хотите проверить, используя любой из перечисленных параметров выбора пакета. Простым примером проверки является команда rpm -V foo, которая проверяет, что все файлы пакета foo находятся там, куда они были изначально установлены. Например:
 
Чтобы проверить пакет, содержащий конкретный файл, выполните:
rpm -Vf /usr/bin/vim
 
Чтобы проверить ВСЕ установленные пакеты:
rpm -Va
Ваша оценка: Нет Средняя оценка: 3.5 (2 votes)
a

хах. опередил.

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
a

Можно ещё сделать "rpm -V --all" (наверняка у deb систем такое тоже есть). Работает достаточно быстро, можно даже в крон прописать если уж совсем паранойя.

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
4

ну да, я тоже про эту возможность вспомнил.

Ваша оценка: Нет
4
M_o_n_g_o_l

Пробовал запускать на Мяте "deb -V --all" Чёт не взлетает никак ((

Ваша оценка: Нет
4
M_o_n_g_o_l

И deb -Va не катит...

Ваша оценка: Нет
4
M_o_n_g_o_l

А chkrootkit тоже гундит, что Warning: /sbin/init INFECTED...

Ваша оценка: Нет
4

я тут занялся этой проблемой замены файлов: rpm -Va было неправильно. Это комманда проверяет подлинность установленных пакетов а не файлов, это разные вещи. Одна из лучших программ, которые отслеживают изменения в файлах называется AIDE (Advanced Intrusion Detection Enviornment), создает базу данных при инициализации куда вносить хеши файлов и может потом выявить их подлинность. Понятно что надо быть увереным перед инициализацией что система чистая, лучше сразу после установки. Хоть поддержу базы в актуальном состоянии можно автоматизировать, мне показалось это слишком долгим и сложным процессом. Кто может еще что добавить по этому поводу, есть ли другие программы или методы проверки?

Ваша оценка: Нет
9
dk

Так навскидку (решение кривое, пока главное идея).

1. Ставим систему на комп. (/home — отдельным разделом)
2. Грузимся с live-cd
3. rsyncом копируем / на флешку.

А дальше, при любых подозрениях грузимся с live-cd и тем же rsyncом проверяем какие файлы изменились (ЕМНИП там была опция a la "ничего не делать, только вывести список изменившихся файлов".

А вот как подобное сотворить без live-cd, на живой системе — это вопрос.

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
4

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

Ваша оценка: Нет
9
dk

Кстати, а ведб можно же не флешку, можно просто отдельный рздел под архив выделить.

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
4

я тут все никак не успокоюсь насчет того как проследить делают ли программы, в нашем случае rkhunter и chkrootkit какие либо изменения в файлах, очень важная тема. Хотелось бы не просто заменить файлы, а проследить что именно сделала программа. Наткнулся на очень интересную возможность, предоставляемую нам самим ядром. Для этого нам нужен пакет inotify-tools

Inotify — это подсистема ядра Linux, которая отслеживает изменения файловой системы в Linux (открытие, чтение, создание, удаление, перемещение, изменение атрибутов и др.). Впервые данная подсистема появилась в релизе ядра 2.6.13

после инсталяции получаем распоряжение две команды inotifywatch (более для сбора статистики) и inotifywait которая мониторит в режиме реального времени, которую и возьмем. В одном окне терминала можно запустить inotifywait например так, для отслеживания изменений которые перечисленны после параметра -e

inotifywait -m -r -e modify,attrib,close_write,move,create,delete /usr/bin /usr/lib /usr/sbin

в другом запускаем например rkhunter и наблюдаем. Ну или перенаправляем в файл для дальнейшего изучения.

ps я тут поискал по сайту, есть статья про Incron, который использует тоже inotify.

Ваша оценка: Нет Средняя оценка: 4.8 (4 votes)
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Linux I класса
Linux II класса
Linux III класса
Счетчики
  • Самый популярный сайт о Linux и Windows 10
О Либератуме

Liberatum — это новости мира дистрибутивов Linux, обзоры, сборки, блоги, а также лучший сайт об Ubuntu*.