✍️ Статья Проверка Linux на вирусы. Часть 1

The 146X Project Dublikat Web Studio Avram Lincoln AL Service Navigator Knyaz

BlackPope

Команда форума
Модератор DeepWeb ✔️
PR-Group DeepWeb 🔷
Регистрация
27.04.2020
Сообщения
230
Раньше мы уже говорили о вирусах в Linux. Большинство людей считают, что вирусов в Linux нет и кое в чем они правы. Ведь вредоносных программ, которые сами могли бы распространятся по системе и заряжать другие компьютеры в сети минимум. Известные широкой общественности программы такого рода для Linux можно сосчитать на пальцах. Но есть и другой тип угроз, более характерный для Linux. Это руткиты, программы которые устанавливаются вручную и скрывают свою деятельность в системе.

Эти программы могут предоставлять установившему их человеку полный доступ к вашей системе, вычислительным ресурсам и данным. Не стоит недооценивать эту опасность. Если ваш компьютер подключен к интернет без использования локальной сети (роутера) и без технологии NAT, то обратится к нему может любой человек из сети провайдера. Для этого даже не обязательно знать ваш IP адрес. Злоумышленник может просто перебирать все адреса в своей подсети и если на вашем компьютере или сервере окажется искомая им уязвимость, например слабый пароль ssh или любая другая уязвимость в системном сервисе программная или недостаток настройки - ваш компьютер будет взломан.

Проверка Linux на вирусы

Чтобы понять не подключался ли кто к вашему компьютеру, вы можете посмотреть содержимое файла /var/log/audit.log или /var/log/secure.

tail -f /var/log/secure

rZApIvRbhyA.jpg


Здесь фиксируются все события в системе, в том числе неудачные попытки входа по ssh. Я был удивлен когда увидел что мой пароль пытались подобрать. Также можно посмотреть логи сервиса sshd с помощью journalctl:

sudo journalctl _SYSTEMD_UNIT=sshd.service

IQ11HrDw0xA.jpg


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

Для поиска руткитов мы будем использовать утилиту rkhunter или RootkitHunter, а также chkrootkit. Мы рассмотрим как ее установить и настроить для правильной проверки. Вообще, я больше склоняюсь к первой, она новее и имеет больше функций.

Поиск вирусов с помощью RkHunter

RkHunter (Rootkit Hunter) - это инструмент для сканирования системы Linux / Unix с открытым исходным кодом, выпущенный под лицензией GPL. Утилита выполняет сканирование Linux на предмет руткитов, бекдоров, локальных эксплойтов и уязвимостей. На данный момент известно 349 руткитов, и всех их программа может найти, если они были установлены в вашей системе. Программа - всего лишь скрипт, позволяющий проверить локальные файлы, и обнаружить известные руткиты. Также выполняется проверка изменения системных команд, файлов запуска, а также проверка сетевых интерфейсов, на предмет прослушивания определенных портов.

Установить программу в Ubuntu можно командой:

sudo apt install rkhunter

В CentOS надо выполнить такую команду:

sudo yum install rkhunter

tc23I1u9eV4.jpg


Если у вас другой дистрибутив, вы всегда скачать установочный скрипт на SourceForge:

cd /tmp
wget http://downloads.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz
tar -xvf rkhunter-1.4.2.tar.gz
cd rkhunter-1.4.2
./installer.sh --layout default --install


Перед тем как будет выполнена проверка linux на вирусы, необходимо обновить базу данных утилиты. Для этого выполните:

rkhunter --update

DeZsgTb8WFs.jpg


Теперь необходимо собрать информацию о файлах в системе, это нужно, чтобы программа могла понять пытался ли кто модифицировать системные файлы при следующей проверке. Для этого выполните:

rkhunter --propupd

Обновление желательно выполнять регулярно, поэтому давайте создадим специальный скрипт и будем запускать его с помощью cron каждый день. Для этого создайте файл скрипта в папке /etc/cron.daily:

vi /etc/cron.daily/rkhunter.sh
#!/bin/sh
(
/usr/local/bin/rkhunter --versioncheck
/usr/local/bin/rkhunter --update
/usr/local/bin/rkhunter --cronjob --report-warnings-only
) | /bin/mail -s 'rkhunter Daily Run (Ваш сервер)' [email protected]


Здесь мы выполняем проверку версии, обновление баз данных и в последней строчке мы запланировали проверку и отправку уведомления вам на Email. Для работы необходимо заменить [email protected] на ваш адрес электронной почты.

Теперь осталось только дать программе права на выполнение:

chmod 755 /etc/cron.daily/rkhunter.sh

С установкой программы разобрались. Сначала давайте рассмотрим основные опции программы которые мы уже использовали, или которые вам могут пригодится:
  • --verbose-logging - максимально подробный вывод
  • --quiet - минимум информации в выводе
  • -l, --logfile - записать лог программы в свой файл
  • --cronjob - не интерактивный режим проверки, используется для запуска с помощью cron, отсюда и название.
  • --list - позволяет посмотреть какие возможности проддерживает программа, можно передать несколько параметров, test - тесты, lang - языки, rootkits - руткиты.
  • --unlock - удаляет файл блокировки базы данных, может быть полезна если предыдущий сеанс работы с программой был завершен некорректно.
  • --check - проверка системы
  • --update - обновление баз руткитов
  • --versioncheck - обновление программы
  • --propupd - создать базу данных файлов
Например, чтобы посмотреть все руткиты, которые может найти программа выполните:

sudo rkhunter --list rootkits

Для того чтобы проверить Linux на вирусы всю систему выполните от суперпользователя:

rkhunter --check

v4Wt-STh9yY.jpg


Программа кроме вывода информации на экран, создаст лог проверки. На информацию выводимую во время проверки не обращайте большого внимания, она немного урезана все станет более понятнее при просмотре лога.

cat /var/log/rkhunter.log

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

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

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

KiNLWY4iQJY.jpg


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

RUm4KWmK6M4.jpg


Также выполняется проверка параметров файлов, например если файл должен быть бинарным, а он скрипт, то это непорядок:

RUm4KWmK6M4.jpg


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

Дальше будет выполнена проверка Linux на вирусы с поиском известных руткитов:

PjGbUSbd8oM.jpg


Обычно, если в этом разделе что-то обнаружено, то это значит, что в системе есть руткит и с этим нужно что-то делать, но обычно мы видим строки Not found (не найдено):

Дальше будет запущен поиск нежелательного программного обеспечения:

ogvDoKxEiBs.jpg


Проверка опасных портов:

TQzfBLlfJEE.jpg


На этапе проверки конфигурационных файлов мы тоже получаем предупреждение:

ePojOruoXfc.jpg


Но здесь видно, что проблема не в вирусе, а в том, что программе просто нет с чем сравнивать.

Дальше выполняется проверка настроек системы, и здесь тоже программе не все нравится:

mM8t1uNxLRg.jpg


А именно две вещи - разрешенный root доступ по ssh и возможность использовать протокол первой версии для подключения к ssh. И она права, это очень небезопасно.

Дальше будет выполнено сканирование файловой системы:

nTZYpeRVAxQ.jpg


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

sudo lsof | grep /адрес/файла

Осталась проверка приложений:

[12:16:25] Info: Starting test name 'apps'
[12:16:25] Checking application versions..


И небольшой отчет о найденных проблемах:

O14OKWYJUas.jpg


Для удобства просмотра лога вы можете не смотреть его полностью, а выбрать только предупреждения:

sudo cat /var/log/rkhunter.log | grep -A5 "\[ Warning \]"

Параметр A5 означает показывать еще пять строк после строки с обнаруженным вхождением, так мы точно ничего не пропустим.

Теперь давайте рассмотрим еще одну программу с помощью которой может быть выполнена проверка Linux на руткиты. Это chkrootkit. Она мнение функциональна, но тоже хорошо делает свое дело.

Продолжение следует…
 

📌 Золотая реклама

AnonPaste

Верх