Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #48, НОЯБРЬ 2004 г.

Кто ищет, тот всегда найдет

Lame@pochta.ru

Спецвыпуск: Хакер, номер #048, стр. 048-038-1


Поисковый сервер как оружие хакера

Ты проснулся рано вечером с непреодолимым желанием что-нибудь сотворить. Открыл почту, почитал bugtraq и нашел парочку вполне подходящих дырок в популярных Web-форумах или свежую дырку в Apache. Привычно запустив nmap на поиск открытых 80-х портов, ты зашел на Google с целью найти сигнатуру для Nessus, ищущую эти дырки. А зачем так все усложнять?

Современные поисковые машины являются мощнейшим инструментом, который может быть использован в разных целях. В руках профессионала они легко могут превратиться в грозное оружие. Патриархом взлома с помощью Google (Google Hacking) принято считать Джонни Лонга (Johnny Long), автора руководства "The Google Hacker's Guide", которое можно прочитать на его сайте http://johnny.ihackstuff.com. Весьма рекомендуем периодически наведываться туда в поисках новых "googledorks" - поисковых запросов для Google, которые можно использовать для получения различной интересной информации.

Так как же поисковая машина может заменить привычный инструментарий хакера?

Определение версии web-сервера

Запустив nmap с ключом -A, можно получить информацию о типе и версии HTTP-сервера на машине исследуемого объекта. Однако Google позволяет сделать это гораздо проще. Существует несколько методов определения версии сервера с помощью поисковых машин, самый распространенный из которых - использование содержимого сервера после установки и листингов директорий. Многие web-серверы (а иногда и операционные системы, устанавливающие web-сервер в составе стандартного набора дистрибутивов) после установки содержат стандартную страницу приветствия. Обычно на этой странице присутствуют ключевые слова, по которым легко определить версию сервера.

Например, введя в Google запрос intitle:Test.Page.for.Apache it.worked!, ты получишь список серверов, на которых установлен Apache 1.2.6 в конфигурации по умолчанию. "Конфигурация по умолчанию" тебе ни о чем не говорит :)? Для того чтобы найти IIS 6.0, можно воспользоваться запросом intitle:Under.Construction "Disabling Dynamic". И заметь: ты общался только с Google, ни один байт от тебя не дошел до сервера.

Другой метод определения версии работает в том случае, если на сервере разрешен просмотр содержимого директорий. Серверы выдают список файлов в виде HTML-страницы, добавляя к ним заголовки, по которым можно выяснить их версию. Например, запрос intitle:index.of server.at позволяет вычислить серверы с установленным Apache, а для поиска IIS подходит запрос "[To Parent Directory]" "<dir> ". Если убрать <dir> , получишь больше вариантов, но среди них будет и больше ошибочных.

Еще один полезный ресурс, о котором не стоит забывать, - это Netcraft (www.netcraft.com). Этот сервис использует технику remote fingerprinting для выяснения операционной системы и версии служб на web-серверах. Однако пользоваться им для этих целей не очень удобно, поскольку он не позволяет искать серверы по операционной системе. И здесь на выручку приходит Google. Ниже приведены два запроса, позволяющие с помощью Netcraft через Google определить серверы, запущенные под IIS и Apache соответственно:

Содержание  Вперед на стр. 048-038-2