- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Linux глазами хакера - Михаил Флёнов
Шрифт:
Интервал:
Закладка:
Загрузив и установив набор 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, указывающие на срочность данных;
□ -sN — TCP NULL-сканирование. На сервер направляются пустые пакеты, на которые он должен ответить ошибками;
□ -I — Ident-сканирование;
□ -sU — UDP-сканирование.
Смысл сканирования в том, чтобы получить от сервера хоть какой-нибудь ответ. В зависимости от метода сканирования по положительному или отрицательному ответу определяется, закрыт порт или открыт.
Более быстрый способ получить открытые порты — это команды lsof (с параметром -i) или netstat, но их выполнение должно происходить локально, непосредственно с компьютера. Вторая директива будет эффективной только в том случае, если хакер в данный момент подключен к системе.
Помимо rootkit вы должны проверить систему на наличие посторонний загружаемых модулей ядра. Для этого очень хорошо подходит утилита chkproc (входит в состав пакета chkrootkit). Но и это еще не все, chkrootkit включает в себя еще и утилиту ifpromisk, которая позволяет найти программу прослушивания трафика.
И напоследок, проверяем список работающих процессов с помощью команды ps -aux на предмет наличия незнакомых процессов. При просмотре будьте также внимательны. Вспомните пример с программой login, когда первая буква "1" заменялась на цифру 1. Едва бросив взгляд, можно не заметить процесс login.
Если объединить работу всех этих утилит в одно целое, то можно будет получить новый пакет rootkit, о котором еще неизвестно фирме chkrootkit.
После того как вы определили наличие файлов rootkit, вы должны остановить их работу и удалить из системы. Самое простое, если программа хакера не модифицировала никаких системных файлов. Если это произошло, то нужно переустановить все программы, которые изменил злоумышленник. Легче всего это сделать в дистрибутивах на основе Red Hat, где поддерживается работа с RPM-пакетами. Тогда достаточно выполнить команду:
rpm -U -force пакет.rpm
В данном случае мы запрашиваем восстановление пакета с именем пакет.rpm.
14.4. backdoor
Если взломщик получил доступ к серверу, то, чтобы оставаться незаметным, он устанавливает в системе программы backdoor (потайные двери). Такие программы чаще всего действуют следующим образом:
□ на каком-либо порту открывается прослушивание, и программа ожидает подключения хакера;
□ когда соединение состоялось, то программа открывает для хакера командную оболочку на этом порту, чтобы можно было выполнять директивы.
Это вам ничего не напоминает? Да, троянские программы работают подобным образом, но троянов подбрасывают как вирусы и ожидают, что администратор сам их запустит, a backdoor взломщик закачивает на сервер и запускает сам.
Есть сходство и с программами rootkit. В настоящее время стирается грань между разными хакерскими утилитами. Одна программа может выполнять сразу несколько функций. Так rootkit и backdoor уже давно соединяют в одно целое, хотя остаются еще и классические утилиты.
Надо уточнить, что программы backdoor нельзя купить в ближайшем магазине. Взломщики пишут их для собственного использования. И все же на закрытых сайтах можно встретить некоторые из этих разработок.
Хакеры не очень любят раскрывать свои программы, потому что если они станут достоянием общественности, то лазейки, через которые взломщик проникает в систему, закроют.
Так как основа этой книги — организация безопасной системы, то я не стану рассматривать процесс создания и открытия потайных дверей. Мы будем обсуждать проблему их поиска и уничтожения.
Самый простой и быстрый способ найти чужую программу — просмотреть процессы, работающие в системе, и открытые порты. Как следует из определения, backdoor — это программа, которая ожидает подключения взломщика, а значит, должен присутствовать работающий процесс этой программы. Выполняем команду ps и смотрим, что сейчас работает в системе. После этого сканируем открытые порты, используя утилиту netstat, и ищем злостную программу.
При просмотре процессов нужно убедиться, что файл программы ps не модифицирован хакером. Так как исходные коды ОС Linux доступны, злоумышленник может изменить программу ps так, чтобы она не отображала процесс backdoor, и подбросить свой вариант в вашу систему.
Доступность исходных кодов позволяет хакеру изменять и любые другие программы. Например, может быть трансформирован демон telnetd, и после этого, помимо основных своих функций, программа будет играть роль потайного входа. Убедитесь, что исполняемые файлы всех работающих процессов не изменены.
Некоторые демоны могут работать с подгружаемыми модулями. Злоумышленник может написать и подключить свой модуль вместо или в дополнение к стандартным, и его определить уже сложнее, т.к. основной процесс не модифицирован.
Изменение исходных кодов достаточно сложное занятие, и нужно обладать хорошими знаниями в программировании, поэтому данный метод является наиболее опасным, но мало распространен. И все же, его нельзя сбрасывать со счетов, потому что никогда не знаешь, какой квалификации взломщик проник в систему.
При просмотре процессов будьте внимательны. Хакер может назвать свою утилиту telnetd, и тогда в вашей системе будет две программы с таким названием. Одна будет системной, а другая — хакерская, которая выполняет функции backdoor. Будьте бдительны при просмотре списка открытых процессов.
Если ваш сервер работает постоянно, то хакер может смело запускать свой процесс backdoor и уходить восвояси. Если сервер хоть иногда выключается, то злоумышленник должен позаботиться о том, чтобы после перезагрузки backdoor тоже запустился, иначе потайной вход в систему будет закрыт.
Обязательно проверьте все сценарии, отвечающие за загрузку сервисов, на предмет изменений. Они находятся в директории /etc/rc.d/init.d. Это может быть сложно, потому что в ОС Linux таких сценариев достаточно много. Но хакер в любой из них может добавить команды загрузки своей утилиты.
Допустим, что вы не нашли никаких лишних процессов, и ни один сервис или программа не изменены. Это еще не значит, что потайного входа нет. Недавно я встретил новый способ прятать процессы от недремлющего ока администратора — модули ядра.

