Чтение онлайн

на главную - закладки

Жанры

Linux глазами хакера

Флёнов Михаил Евгеньевич

Шрифт:

14.3. Rootkit

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

Для решения этой задачи взломщик должен получить возможность закачивать файлы и установить в системе одну из специализированных программ, повышающих права до администратора, — называются rootkit (набор администратора). После

этого взломщик выполняет команды следующим образом:

□ от имени простого пользователя, правами которого обладает хакер, директивы посылаются программе rootkit;

□ программа rootkit выполняет полученные команды от имени администратора.

А как же rootkit получает возможность исполнять переданные ей команды с правами root? В этом помогает злополучный SGID-бит. Если он установлен, то программа будет выполняться в системе с максимальными правами администратора.

Но не все так просто. Для rootkit нужно установить SGlD-бит и владельцем определить пользователя root. Тут есть два пути:

□ Если есть возможность выполнять команды

chown
и
chmod
, то хакер сможет без проблем реализовать все необходимые действия.

□ Можно подменить программу, которая уже имеет установленный SUID- или SGID-бит.

Вот почему в разд. 12.2 мы так усердно вычищали все SUID- и SGID-программы, каждая из них — это дыра в безопасности, но иногда без этой прорехи жить невозможно. Вам необходимо регулярно следить за такими программами, и в случае появления удалять из системы. Вы также должны держать под контролем все изменения, которые происходят с уже установленными SUID- и SGID-программами. Если их размер изменился, то следует бить тревогу и восстанавливать исходное состояние программы.

Вы должны быть внимательны, когда проверяете SGID-программы. Хакеры знают, что администраторы стараются свести количество таких программ к минимуму, поэтому идут на разные уловки. Например, они могут создать файл /mnt/mount с SUID-битом. Программа mount действительно требует этого бита, но должна находиться в директории /bin. Если вы просматриваете список найденных SUID-программ бегло, то можете не заметить отличие в пути или вообще не обратить на это внимания.

Помимо этого, в названиях программ может идти игра букв. Например, /bin/login не требует такого бита. Хакер может создать файл /bin/1ogin (первая буква заменена на цифру 1), и визуально программа действительно должна быть в системе, хотя и без SUID- и SGID-бита, но вы не заподозрите ее в злодеянии.

Пакеты rootkit не ограничиваются только предоставлением доступа к выполнению команд от имени пользователя root. Они могут включать еще и различные вспомогательные утилиты, такие как анализаторы сетевого трафика (sniffer), программы управления файлами журналов, позволяющие чистить следы пребывания хакера в системе, и другие полезные взломщику средства.

Загрузив и установив набор rootkit, хакер закрепляется в системе и впоследствии сможет вернуться, даже если была

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

Для облегчения задач администраторов добрыми людьми была разработана программа chkrootkit. Ее можно найти на сайте http://www.chkrootkit.org. На данный момент она способна обнаружить более 50 известных пакетов rootkit. Таким образом, вы без особых усилий можете отыскать и уничтожить в системе потайную дверь для хакера.

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

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

Для быстрого сканирования лучше всего подходит пакет nmap (www.insecure.org). Это один из самых быстрых сканеров под Linux с большими возможностями. Необходимо запустить программу проверки всех 65 535 портов. Для этого нужно выполнить команду:

nmap -р 1-65535 localhost

Параметр

– р
позволяет задать диапазон портов. В данном случае установлен весь диапазон от 1 до 65 535.

Помимо этого, может пригодиться один из следующих параметров:

□ 

– sT
— стандартное сканирование с установкой TCP-соединения, является самым медленным. Любая программа антисканирования увидит его (см. разд. 12.4). Если вы запускаете утилиту nmap под обычным пользователем, то по умолчанию будет применяться этот метод;

□ 

– ss
— TCP SYN-сканирование. Если вы работаете с правами root, то по умолчанию установлен этот тип, как более быстрый и к тому же неопределяемый некоторыми программами антисканирования;

□ 

– sF
— TCP FIN-сканирование. В соответствии с RFC 793, если на порт направить пакет с установленным флагом
FIN
(используются для завершения соединения), и этот канал окажется закрытым, то сервер должен ответить пакетом, имеющим тип RST. ОС Linux действует то стандарту, и поэтому можно легко просканировать порты с помощью этого метода. Если пакет RST не получен, то порт закрыт. А вот работа Windows далека от стандарта, и здесь результат не предсказуем;

□ 

– sx
— TCP Xmas-сканирование. Метод похож на предыдущий, только помимо этого устанавливаются флаги
URG
и
PUSH
, указывающие на срочность данных;

Поделиться:
Популярные книги

Изменяющий-Механик. Компиляция. Книги 1-18

Усманов Хайдарали
Собрание сочинений
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Изменяющий-Механик. Компиляция. Книги 1-18

Чужая семья генерала драконов

Лунёва Мария
6. Генералы драконов
Фантастика:
фэнтези
5.00
рейтинг книги
Чужая семья генерала драконов

Закрытые Миры

Муравьёв Константин Николаевич
Вселенная EVE Online
Фантастика:
фэнтези
5.86
рейтинг книги
Закрытые Миры

Древесный маг Орловского княжества 3

Павлов Игорь Васильевич
3. Орловское княжество
Фантастика:
аниме
сказочная фантастика
фэнтези
попаданцы
гаремник
5.00
рейтинг книги
Древесный маг Орловского княжества 3

Печать мастера

Лисина Александра
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Печать мастера

Законы Рода. Том 13

Мельник Андрей
13. Граф Берестьев
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 13

Камень

Минин Станислав
1. Камень
Фантастика:
боевая фантастика
6.80
рейтинг книги
Камень

Изгой Проклятого Клана. Том 6

Пламенев Владимир
6. Изгой
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Изгой Проклятого Клана. Том 6

Бастард Императора. Том 2

Орлов Андрей Юрьевич
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бастард Императора. Том 2

Выдумщик (Сочинитель-2)

Константинов Андрей Дмитриевич
6. Бандитский Петербург
Детективы:
боевики
7.93
рейтинг книги
Выдумщик (Сочинитель-2)

Курсант: назад в СССР

Дамиров Рафаэль
1. Курсант
Фантастика:
попаданцы
альтернативная история
7.33
рейтинг книги
Курсант: назад в СССР

Аватар

Жгулёв Пётр Николаевич
6. Real-Rpg
Фантастика:
боевая фантастика
5.33
рейтинг книги
Аватар

Индульгенция 1. Без права выбора

Машуков Тимур
1. Темный сказ
Фантастика:
аниме
фэнтези
попаданцы
гаремник
5.00
рейтинг книги
Индульгенция 1. Без права выбора

Последний Паладин. Том 7

Саваровский Роман
7. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 7