Что такое Chkrootkit?
Chkrootkit — это классический инструмент позволяющий не только искать руткиты Linux, но и проверять систему на признаки чужого присутстсвия. Программа просканирует ваш компьютер или сервер на наличие подозрительных процессов, руткитов и проверит список известных руткитов. Функциональность программы очень похожа на Rkhunter.
Программа состоит из нескольких отдельных утилит:
- chkrootkit — скрипт для проверки системы
- ifpromisc — сканирование интерфейсов на предмет неразборчивого режима
- chklastlog — проверить лог lastlog на предмет удаления записей
- chkwtmp — проверка лога wtmp на предмет удаления записей
- chkproc — поиск троянских программ и скрытых файлов в подсистеме proc
Установить программу в Ubuntu можно с помощью команды:
Если у вас другой дистрибутив, то вы можете собрать программу из исходников:
Сервисы для сканирования и лечения с необходимостью предоставления FTP доступа
Сервисы третьего типа являются уже почти полноценными антивирусами. Они позволяют выявлять вирусы и угрозы на сайтах в файлах всех типов. Они позволяют удалять вредоносные коды, однако, есть и минусы и некоторые ограничения.
Во-первых, вам необходимо предоставить такому сервису FTP доступ к вашему сайту. Это не всегда удобно для владельцев сайтов, часто не представляющих о том, что такое FTP, либо наоборот, продвинутых владельцев или администраторов прекрасно разбирающихся, но поставивших ограничения на обращение к своему серверу по FTP. Также, такой способ соединения с вашим сервером предполагает увеличение трафика на вашем сервере по той лишь причине, что для проверки и лечения сервис будет выкачивать файлы к себе, а затем обратно закачивать на ваш сервер. К тому же, такое соединение не всегда устойчиво и может оборваться в самый неподходящий момент работы, попортив, возможно, часть файлов.
Во-вторых, в большинстве случаев подобные сервисы не являются автоматическими полноценными антивирусами. Часто, всю работу по лечению выполняют живые люди, получающие доступ к сайту по FTP. Этот факт не всегда радует владельца. Основная проблема — невозможность быстрого реагирования и устранения угроз. Ведь человек — не машина. Ему нужно большее времени на анализ и выполнение операций, которого часто нет. Поисковые системы не будут ждать, пока специалист вылечит сайт, а просто поместят его в бан (в черный список) при первой же проверке, которые, как известно, производятся больше одного раза в сутки.
Проверка Linux на вирусы Rkhunter
Сначала давайте рассмотрим основные опции программы которые мы уже использовали, или которые вам могут пригодится:
- —verbose-logging — максимально подробный вывод
- —quiet — минимум информации в выводе
- -l, —logfile — записать лог программы в свой файл
- —cronjob — не интерактивный режим проверки, используется для запуска с помощью cron, отсюда и название.
- —list — позволяет посмотреть какие возможности проддерживает программа, можно передать несколько параметров, test — тесты, lang — языки, rootkits — руткиты.
- —unlock — удаляет файл блокировки базы данных, может быть полезна если предыдущий сеанс работы с программой был завершен некорректно.
- —check — проверка системы
- —update — обновление баз руткитов
- —versioncheck — обновление программы
- —propupd — создать базу данных файлов
Например, чтобы посмотреть все руткиты, которые может найти программа выполните:
Для того чтобы проверить Linux на вирусы всю систему выполните от суперпользователя:
Программа кроме вывода информации на экран, создаст лог проверки. На информацию выводимую во время проверки не обращайте большого внимания, она немного урезана все станет более понятнее при просмотре лога.
К сожалению программа работает только на английском, поэтому, чтобы понять в каком состоянии ваша система вам придется немного понимать английский.
Чтобы вам было более понятно что делает программа и как анализировать ее результаты, давайте рассмотрим лог сканирования.
Сначала программа инициализируется и загружает конфигурационные файлы, здесь нет ничего интересного:
Заметьте, что мы рассматриваем лог проверки системы, логи обновления и создания базы данных, они находятся выше в этом же файле, нас не интересуют.
Проверка системы начинается с этих срок:
Программа сканирует системные утилиты и пытается выявить там подозрительные признаки, в том числе проводится сравнение хеша утилиты с хешем сохраненным в базе данных, чтобы понять не была ли она изменена. Обычно если с утилитами все хорошо лог заполнен такими строками:
Также выполняется проверка параметров файлов, например если файл должен быть бинарным, а он скрипт, то это не порядок:
При обнаружении подозрительного файла программа тут же объясняет в чем с ним проблема.
Дальше будет выполнена проверка Linux на вирусы с поиском известных руткитов:
Обычно, если в этом разделе что-то обнаружено, то это значит, что в системе есть руткит и с этим нужно что-то делать, но обычно мы видим строки Not found (не найдено):
Дальше будет запущен поиск нежелательного программного обеспечения:
Вот мы и видим первое предупреждение:
Как видите, программа сразу говорит что обнаружен активированный vnc сервер через xinetd, но здесь все в порядке, это я его активировал.
Проверка опасных портов:
На этапе проверки конфигурационных файлов мы тоже получаем предупреждение:
Но здесь видно, что проблема не в вирусе, а в том, что программе просто нет с чем сравнивать.
Дальше выполняется проверка настроек системы, и здесь тоже программе не все нравится:
А именно две вещи — разрешенный root доступ по ssh и возможность использовать протокол первой версии для подключения к ssh. И она права, это очень небезопасно.
И обнаружено два скрытых файла, но я знаю, что эти файлы созданы программой logmein-hamachi Вы можете отследить какая программа работает с определенным файлом с помощью команды lsof:
Осталась проверка приложений:
И небольшой отчет о найденных проблемах:
Для удобства просмотра лога вы можете не смотреть его полностью, а выбрать только предупреждения:
Параметр A5 означает показывать еще пять строк после строки с обнаруженным вхождением, так мы точно ничего не пропустим.
Теперь давайте рассмотрим еще одну программу с помощью которой может быть выполнена проверка Linux на руткиты. Это chkrootkit. Она мнение функциональна, но тоже хорошо делает свое дело.
Какие данные вы узнаете в результате проверки
Объект | Информация |
---|---|
Файл или хеш-сумма |
Общая информация о файле:
Detection names
Dynamic analysis summary
Dynamic analysis detects
Triggered network rules |
IP-адрес |
Общая информация об IP-адресе:
Geography
WHOIS
|
URL-адрес или домен |
Общая информация о URL-адресе или домене:
WHOIS
|
Как проверить сайт на вирусы?
Начнем с более популярного сканера AI-Bolit и потом перейдем к более простому, но не менее надежному LMD.
Проверка сайта на вирусы с помощью AI-Bolit
Еще несколько лет назад рынок антивирусов для веб-сайтов пустовал. Системным администраторам и веб-мастерам приходилось самим писать различные скрипты и собирать базы сигнатур чтобы обнаруживать вредоносный код на своих сайтах. Одним из таких скриптов был Ai-bolit. Изначально это был небольшой скрипт, который позволял искать вирусы по регулярным выражениям и гибким патерам. Благодаря этому скрипт обнаруживал больше вариантов зашифрованного вирусного кода. Потом он оброс дополнительными функциями, такими как обнаружение уязвимостей в программном обеспечении, использование баз данных сигнатур, и многое другое. А теперь давайте рассмотрим как установить и использовать AI-Bolit на вашем сервере.
Нам нужна именно версия «General version for hosting, Mac OS X or Unix OS». Далее, загрузите полученный архив на сервер, например, с помощью scp:
Дальше вам нужно распаковать архив:
Сканер может работать в режиме веб-интерфейса, но рекомендуется запускать его именно через командную строку для полной проверки. Для этого скопируйте все файлы из папки ai-bolit в корневую папку вашего сайта:
Там будет два файла. Сам сканер и белый список точно надежных файлов, которые не являются вирусами. Дальше нам нужно запустить сканирование. Проверка кода сайта на вирусы выполняется командой:
Дальше начнется длительный процесс сканирования, который может занять от нескольких часов до суток, в зависимости от того, сколько там у вас файлов. Я бы даже рекомендовал запускать скрипт внутри сессии screen, чтобы ничего не помешало ему выполнить работу до конца, потому что если соединение будет разорвано, то работа скрипта прекратится.
Когда проверка сайта на вирусы ai bolit будет завершена, в этой же папке будет создана html страница с отчетом о том, что было найдено. Здесь есть четыре секции. Первая, красная секция содержит информацию про обнаруженные вирусы, вторая секция — подозрительные файлы, третья секция — обнаруженные уязвимости и четвертая — возможные проблемы с правами доступа или другими настройками сервера.
В самом верху отчета находится общая сводка обо всем, что было обнаружено. Если вы не добавите белый список, то получите очень много ложных срабатываний, как на снимке выше. Дальше вам останется проанализировать полученный отчет, просмотреть все файлы, которые сканеру не понравились и проверить действительно ли там есть вирусы.
Проверка сайта на вирусы с помощью LMD
Дальше его нужно загрузить на сервер уже известной вам командой scp. А затем распаковать архив:
Дальше перейдите в папку с распакованными файлами и запустите установку скрипта на сервер:
Будут созданы задания cron, обновлена база, а также скопированы исполняемые файлы в необходимые папки. Далее, можно запустить сканирование. Для этого передайте утилите maldet опцию -a, и путь, который нужно проверить:
Сканирование тоже займет достаточно времени, а по прошествии на экран будет выведена вся информация об обнаруженных или исправленных угрозах.
Hybrid Analysis — больше, чем просто сервис проверки файлов на вредоносность
В отличие от VirusTotal, представляющего собой «консилиум» антивирусов, Hybrid Analysis является скорее песочницей. Когда вы отправляйте на проверку в файл, сервис запускает его в изолированной среде VirtualBox или VMware, а затем смотрит, как он поведет себя в системе. На основании произведенных файлом изменений выдается заключение о его безопасности или вредоносности.
Объяснение это сильно упрощенное, в реальности проверка Hybrid Analysis представляет собой сложный метод разбора, объединяющий анализ статических и динамических данных с использованием современных алгоритмов, благодаря чему существенно повышается эффективность обнаружения опасного кода
Внешне принципом работы Hybrid Analysis похож на VirusTotal, пользователь указывает через веб-форму ссылку или файл, последний отправляется на сервер, где проводится его проверка.
Что умеет Hybrid Analysis
Сервисом поддерживается сканирование разных исполняемых и прочих типов файлов, которые могут содержать программный код. Если файлов несколько, можно запаковать их в архив RAR или ZIP, но его размер не должен превышать 100 Мб. Для сканирования доступны также веб-ссылки, имеется возможность поиска отчетов о ранее выполненных проверках по IP, домену и контрольной сумме, поиск отчетов YARA (инструмент классификации образцов вредоносных программ).
При отправке файла на анализ пользователь может выбрать ОС, в которой он будет запущен на исполнение. Доступны Windows 7 32- и 64-бит, Linux Ubuntu и Android, для которой пока что поддерживается только статический анализ.
По завершении анализа Hybrid Analysis выдает результаты — общий отчет VirusTotal и собственно сам отчет Falcon Sandbox с прилагаемыми скриншотами запуска в виртуальной системе. Последний включает подробное описание файла, результаты гибридного и сетевого анализа.
Для наглядной оценки файла используются цветовые индикаторы. Красным цветом маркируются действия, расцененные как вредоносные, желтым — как подозрительные, зеленым — как в целом безопасные. Но последнее слово всё равно остается за пользователем. Заключение должно быть комплексным, а изучение описаний производимых файлом действий — обязательным. Например, в случае с утилитой Proxy Switcher считывание идентификатора и запуск в Windows дополнительных процессов Hybrid Analysis определяет как злонамеренное, в действительности эти действия совсем необязательно должны носить деструктивный характер.
Адрес сервиса: https://www.hybrid-analysis.com/