Как раскрыть скрытые процессы Linux с помощью Unhide



Попробуйте наш инструмент устранения неполадок

Хотя GNU / Linux - чрезвычайно безопасная операционная система, многих людей соблазняет ложное чувство безопасности. У них неправильное представление о том, что ничего не может случиться, потому что они работают в безопасной среде. Это правда, что существует очень мало вредоносных программ для среды Linux, но все же очень вероятно, что установка Linux может быть в конечном итоге скомпрометирована. Если ничто иное, то рассмотрение возможности руткитов и других подобных атак является важной частью системного администрирования. Под руткитом понимается набор инструментов, предоставляемых сторонними пользователями после того, как они получают доступ к компьютерной системе, к которой у них нет доступа. Затем этот комплект можно использовать для изменения файлов без ведома законных пользователей. Пакет unhide предоставляет технологию, необходимую для быстрого поиска такого скомпрометированного программного обеспечения.



Unhide находится в репозиториях большинства основных дистрибутивов Linux. Использование команды диспетчера пакетов, такой как sudo apt-get install unhide, достаточно для принудительной установки на разновидности Debian и Ubuntu. Серверы с доступом к графическому интерфейсу могут использовать Synaptic Package Manager. В дистрибутивах Fedora и Arch есть предварительно созданные версии unhide для собственных систем управления пакетами. После установки unhide системные администраторы смогут использовать его несколькими способами.



Метод 1: брутфорс идентификаторов процессов

Самый простой метод включает в себя перебор каждого идентификатора процесса, чтобы убедиться, что ни один из них не был скрыт от пользователя. Если у вас нет root-доступа, введите sudo unhide brute -d в командной строке интерфейса командной строки. Опция d удваивает тест, чтобы сократить количество ложных срабатываний.



Вывод очень простой. После сообщения об авторских правах unhide объяснит, какие проверки он выполняет. Появится строка, в которой говорится:

[*] Запуск сканирования PIDS методом перебора с помощью fork ()

и другое заявление:



[*] Запуск сканирования с использованием грубой силы против PIDS с функциями pthread

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

Найдено HIDDEN PID: 0000

Четыре нуля будут заменены действительным числом. Если он просто читает, что это временный процесс, это может быть ложным срабатыванием. Не стесняйтесь запускать тест несколько раз, пока он не даст точный результат. Если есть дополнительная информация, она может потребовать дополнительной проверки. Если вам нужен журнал, вы можете использовать переключатель -f для создания файла журнала в текущем каталоге. В новых версиях программы этот файл называется unhide-linux.log, и в нем выводится простой текст.

Метод 2: сравнение / proc и / bin / ps

Вместо этого вы можете указать unhide для сравнения списков процессов / bin / ps и / proc, чтобы убедиться, что эти два отдельных списка в дереве файлов Unix совпадают. Если что-то не так, программа сообщит о необычном PID. Правила Unix предусматривают, что запущенные процессы должны представлять идентификационные номера в этих двух списках. Введите sudo unhide proc -v, чтобы начать тест. Привязка к v переведет программу в подробный режим.

Этот метод вернет приглашение, в котором говорится:

[*] Поиск скрытых процессов через / proc stat сканирование

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

Метод 3: объединение методов Proc и Procfs

При необходимости вы можете сравнить списки файлового дерева Unix / bin / ps и / proc, а также всю информацию из списка / bin / ps с записями virtual procfs. Это проверяет как правила дерева файлов Unix, так и данные procfs. Введите sudo unhide procall -v для выполнения этого теста, который может занять некоторое время, так как он должен сканировать всю статистику / proc, а также выполнять несколько других тестов. Это отличный способ убедиться, что на сервере все работает нормально.

2016-11-02_222832

Метод 4: сравнение результатов procfs с / bin / ps

Предыдущие тесты слишком сложны для большинства приложений, но вы можете запустить проверку файловой системы proc независимо для некоторой целесообразности. Введите sudo unhide procfs -m, который выполнит эти проверки, а также еще несколько проверок, предусмотренных с помощью -m.

Это все еще довольно сложный тест, который может занять некоторое время. Он возвращает три отдельные строки вывода:

2016-11-02_223011

Имейте в виду, что вы можете создать полный журнал с любым из этих тестов, добавив -f к команде.

Метод 5: запуск быстрого сканирования

Если вам просто нужно выполнить быстрое сканирование, не заботясь о глубоких проверках, просто введите sudo unhide quick, который должен выполняться так быстро, как следует из названия. Этот метод сканирует списки proc, а также файловую систему proc. Он также выполняет проверку, которая включает сравнение информации, собранной из / bin / ps, с информацией, полученной при обращении к системным ресурсам. Это дает единственную строку вывода, но, к сожалению, увеличивает риск ложных срабатываний. Полезно перепроверить после просмотра предыдущих результатов.

Результат выглядит следующим образом:

[*] Поиск скрытых процессов путем сравнения результатов системных вызовов, proc, dir и ps

После запуска этого сканирования вы можете увидеть несколько временных процессов.

Метод 6: запуск обратного сканирования

Отличный метод обнаружения руткитов включает проверку всех потоков ps. Если вы запустите команду ps в командной строке интерфейса командной строки, вы увидите список команд, запускаемых с терминала. Обратное сканирование проверяет, что каждый из потоков процессора, который образует ps, демонстрирует допустимые системные вызовы и может быть просмотрен в листинге procfs. Это отличный способ убедиться, что руткит ничего не убил. Просто введите sudo unhide reverse, чтобы запустить эту проверку. Он должен работать очень быстро. При запуске программа должна уведомить вас о том, что ищет поддельные процессы.

Метод 7: сравнение / bin / ps с системными вызовами

Наконец, наиболее полная проверка включает сравнение всей информации из списка / bin / ps с информацией, взятой из действительных системных вызовов. Введите sudo unhide sys, чтобы начать этот тест. Скорее всего, это займет больше времени, чем другие. Поскольку он предоставляет так много разных строк вывода, вы можете использовать команду -f log-to-file, чтобы упростить просмотр всего, что он нашел.

4 минуты на чтение