Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

“Промывка” мозгов, или Подберём ключи

В.Лопатин

Писано для журнала "Хакер-Спец". Лексика оригинала сохранена.


Здорово, бродяга. На этот раз мы с тобой поговорим о настоящем деле. Ты думаешь что я сейчас быстренько научу тебя писать “крякеры Интернета” или покажу как за пять минут вскрыть удалённую систему. Нифига подобного! Для начала я научу тебя собирать информацию и думать. Зачем тебе это надо? Если ты этого не понимаешь, то ты – идиот и мне не о чём с тобой разговаривать. Дальше продолжать?

Если ты хоть раз смотрел какое-нибудь известное кино про какую-нить войну (Рэмбо 3, например), то ты наверняка заметил, что перед тем как "сувать" свой нос в неположенную дыру, славный парень главный герой всегда проводит такую операцию как разведка. Если он этого не сделает, то обязательно заденет какую-нибудь сигнализацию, потом его быстро-быстро поймают и повесят. Да чего далеко ходить, внимательно посмотри Матрицу-2. Есть эпизод, в котором Тринити сначала просканировала сеть (она, кстати, использовала программу nmap), увидела потенциально дырявый сервис (ssh), а потом применила программу-эксплоит (sshnuke) для получения доступа к система с правами суперпользователя. Всё видно на кадре из фильма по адресу http://packetstormsecurity.nl/unix-humor/nmap-matrix2log.jpg.

Абсолютно такая же ситуация происходит и в Сети. Не нужно ломиться в чужую сеть или на чужой узел предварительно не проверив её и не собрав о ней какую либо информацию. Для этих целей я предлагаю на некоторое время стать... администратором исследуемой сети. Что? Испугался? И правильно. Надо бить врага его же оружием. Твоя задача -- перед тем как провести сбор даннх об удаленной системе – представить себя в роли адмиистратора сети, потенциально подверженной атаке. Почувствуй себя в шкуре админа и научись думать как админ. Подумай как бы ты смог защитить сеть, какие меры мог бы ты принять для предотвращения атаки. Потом придёт понимание, того КАК надо собирать информацию об удаленных сетях и узлах. А чтобы это сделать, тебе нужен некоторый набор специальных программ. Набор, который покажет уязвимые места и даст наводки для закрытия дыр.

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

На сканерах портов мы с тобой долго останавливаться не будем. Наверняка об этих программах-труженницах написаны вагоны слов (ну ты уже в курсе про программу nmap и всё такое). Вот остальное – то, что нам нужно.

Начну, пожалуй, с самого простого. Скрипт-сканеры -- очень узконаправленное оружие. Их основная задача помочь исследователю системы обнаружить на удалённой машине службы, обеспечивающиеся сценариями. Типичной такой службой может быть сценарий cgi на web-сервере. Если запись об обнаруженном сценарии присутствует в специальной базе сканера, то сканер создаст отчет, в котором опишет дырку и даст рекомендации по её использованию или устранению (всё зависит от того, кто такой сканер писал).

Продолжу разговор со сканеров безопасности. Сканер безопасности по типу воздействия на исследуемую системы является активным (да в общем-то, все сканеры – активное средство). Это значит, что твои действия могут быть обнаружены администратором. Бояться этого не надо. В логах изучаемой сети или хоста сканирование комплексной безопасности будет выглядеть как сканирование портов. Но это всё ерунда. За простое сканирование в тюрьму не посадят(тебя же не садят за то, что ты разглядываешь витрину магазина, хотя охрана тебя видит, и знает, что витрина защищена датчиком сигнализации).

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

Обзор программ стартанём с самого древнего и, можно сказать, классического инструмента для проверки безопасности сетей и узлов. Saint ( http://www.wwdsi.com/saint/ ) своё название берет от сокращения полного названия Security Administrator's Integrated Network Tool – интегрированный инструмент администратора безопасности сети. Своё происхождение берет от древнего средства проверки безопасности под названием SATAN. Его особенности (фичи) включают сканирование сквозь файрволы, обновление проверок с досок объявлений CERT и CIAC, четыре уровня серьёзности уязвимостей (красный, желтый, коричневый и зелёный). Демонстрацию можно глянуть тут: http://www.wwdsi.com/demo/saint/saint.html, скачать программу можно отсюда http://www.saintcorporation.com/downloads/saint-install-4.3.gz. Программа коммерческая. Но вполне бесплатна для некоммерческого использования. Для работы с ней потребуется web-browser. Отчеты saint выдает в формате html, основной интерфейс работы также html.

Довольно весёленькая утилита сканирования некоторых дырок в cgi и некоторых сервисах называется hackbot. Её дом построен тут: http://ws.obit.nl . По своей сути программа является обыкновенныи perl-скриптом, который просматривает указанный узел на предмет уязвимостей в ряде служб. Так, что установить и запусть его не сложно, был бы perl в системе. Возможно, что для этой программы тебе придётся установить дополнительные perl-модули. Название ты увидишь в ругани при запуске программы, а взять можно с сервера www.cpan.org, там хороший поиск. По виду hackbot можно назвать скрипт-сканером, потому что он умеет искать уязвимости в cgi. Качать отсюда: http://ws.obit.nl/hackbot/hackbot-2.21.tgz.

Программа nsat (http://nsat.sf.net) есть быстрый, стабильный сканер безопасности, созданый для проверки удаленных сетей и анализа на наличие уязвимостей, проблем с безопасностью (рисунок). Программа умеет собирать информацию об узлах сети независимо от наличия или отсутствия дырок. Слить можно отсюда http://prdownloads.sourceforge.net/nsat/nsat-1.5.tgz. В архиве лежат исходные тексты, которые нужно сконфигурировать, а потом собрать и установить (configure; make; make install), то есть стандартным для unix-like систем способом.

Следующая программа сканером по сути не является. Её основное применение – мониторинг сети и сетевых сервисов по нескольких различным протоколам (SMTP, POP3, HTTP, NNTP, PING, etc.). Посмотреть на неё можно на сайте http://www.nagios.org. Документацию можно найти там же. Как основное средство разведки программа мало полезна, но как дополнительное – вполне ничего. Интерфейс пользователя требует наличия web-browser'a.

Самым шикарным инструментом для анализа удалённой системы все мои знакомые Linux-администраторы называют программу Nessus. Её родной дом расположен по адресу http://www.nessus.org. В принципе, одна эта программа может собой заменить все вышеперечисленные. Удобство и простота использования, информативность, огромная, постоянно обновляющаяся база уязвимостей делают Nessus самым лучшим инструментом для анализа и разведки под Linux. Программа состоит из двух частей: серверной (демон nessusd) и клиентской. Серверная проводит сбор информации и анализ, клиентская предоставляет результат анализа в человекочитаемой форме. Кроме всего прочего, к программе можно подключать модули для обеспечения лучшего качества сбора и анализа данных. Небольшой набор можно взять с сайта проекта.

Пара слов на последок. Собранной данными программами информацией можно распорядиться по-разному. Админы таким образом узнают о дырах в своей системе и принимают меры по их закрытию. Ну а злобные дядьки могут и неприятностей натворить. Так что смотри...