Моя визитка
Урок 1. Хакинг
Урок 2. Антихакинг
Урок 3. Инструменты хакинга
Урок 4. Защита Windows 2000/XP
Урок 5. Проникновение в систему
Урок 6. Реализация цели вторжения
Урок 7. Сокрытие следов
Урок 8. Хакинг браузеров Web
Урок 9. Хакинг почтовых клиентов
Урок 10. Деструкция почтового клиента
Урок 11. Хакинг Web-сайтов
Урок 12. Атаки DoS
Урок 13. Хакинг компьютеров Windows 2000/XP
Урок 14. Хакинг средств удаленного управления
Урок 15. Хакинг брандмауэров
Урок 16. Перехват сетевых данных
Урок 17. Хакинг коммутируемого доступа
Приложение А
Приложение В
Приложение С
Приложение D
Приложение E

Часть 4. Хакинг сайтов Web

Хакинг Web-сайтов

Функционирование Web-сайта
Этапы хакинга Web-сайта
Исследование Web-сайта
Предварительный сбор данных
Сканирование и инвентаризация сервера
Взлом сервера IIS 5
Хакинг HTTP
Уязвимые сценарии
Web-спайдер Teleport Pro
Мастер создания нового проекта
Настройка свойств проекта
Исследование кода HTML
Взлом доступа к страничкам Web
Заключение

Хотя история возникновения сети Web насчитывает всего несколько десятилетий, времена до появления и начала функционирования Web кажутся просто доисторическими. А ведь были времена, когда компьютерные сети насчитывали какие-то десятки тысяч клиентов, в основном яйцеголовых интеллектуалов, занятых обсуждением серьезных задач и посещениями досок объявлений. А нынче сеть Web проникла во все сферы человеческой деятельности и стала поистине вездесущей, обеспечивая доступ к информации, общение людей друг с другом, выполнение деловых операций, включая покупку товаров и управление финансами.

И, как водится, все это представляет интерес для хакеров, поскольку, если отбросить всякого рода болтовню о чистоте помыслов разношерстных персонажей, рыщущих по Web в поисках приключений, следует признать, что именно нелегальный доступ к ресурсам Web - это и есть настоящая цель реального, конкрутного Хакера. Так что сеть Web - это наиболее серьезная точка приложения сил для людей, посвятивших себя хакингу. Более того, именно Web послужила наибольшим стимулом для развития хакинга от робких попыток взлома паролей доступа к провайдерам Интернета и разного рода доскам объявлений до методов и технологий, применение которых вызывает периодические потрясения экономической системы во всемирном масштабе.

В этой главе рассмотрены отдельные, наиболее часто используемые методы хакинга, направленные на получение доступа к ресурсам Web, в основном ориентированные на взлом Web-серверов. Однако хакинг Web вовсе не исчерпывается такой плодотворной задачей, как доступ к информации. Кроме этого, существует множество методов и средств самого настоящего вандализма, называемого атаками DoS - отказ в обслуживании, когда из строя выводятся мощные Web-сайты и все это без какой-либо выгоды для занятого такого рода деятельности хакера.

Хakинг Web-сайтов

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

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

Программное обеспечение, применяемое на Web-сайтах, в частности, Web-серверы, содержит большое число уязвимостей, и выявивший их хакер может с их помощью взломать доступ к сайту. Далее хакер превратит сервер HTTP, обслуживающий сайт, в ворота для проникновения из Интернета в локальную сеть организации, содержащую лакомые информационные ресурсы. Успеху такой атаки весьма способствует плохая настройка системы защиты Web-сервера, наличие открытых для записи каталогов, слабые пароли доступа и так далее.

Наконец, отчаявшись взломать Web-сайт, хакер может выполнить атаку DoS и попросту «завалить» работу компьютерной системы сайта, что неоднократно происходило даже с такими мощными системами, как сайт Yahoo. Такие атаки мы опишем в следующей главе, а в этой главе займемся более созидательными и полезными задачами хакинга Web-серверов, нежели такое достаточно бессмысленное занятие, как отправка (за свой счет) на Web-сервер пакетов, затрудняющих работу серверного компьютера. Вначале сделаем экскурс в вопросы функционирования сайта Web и выявим задачи, которые должен решить хакер для его взлома.

Функционирование Web-сайта

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

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

В качестве клиентов Web чаще всего используются программы-браузеры Web, например, Internet Explorer (IE), работающие на основе двух средств - языка HTML разработки Web-страниц, и протокола HTTP, регламентирующего обмен информацией между сервером и клиентом Web.

В качестве серверов Web используется множество программных средств от различных производителей, включая информационный сервер Интернета IIS от фирмы Microsoft, сервер Apache HTTP Server от фирмы Apache Software Foundation и другие. Эти серверы передают запросы приложениям Web, созданным на основе технологии ASP (Active Server Page - активные страницы сервера) протокола CGI, регламентирующего вызовы сценариев сервера, сервлетов Java фирмы SUN, языка РНР фирмы Apache Software Foundation и многих других.

Приложения Web, получив запрос от сервера Web, чаще всего обращаются к базам данных, чтобы извлечь нужную информацию. В качестве этих баз данных используются базы SQL фирмы Microsoft, Oracle фирмы Oracle и так далее. А чтобы подсоединиться к базам данных, передать им запрос и обменяться информацией, в общем, выполнить функции управления базами данных - чаще всего используются протоколы ODBC (Open Data Base Connectivity - Открытый интерфейс доступа к базам данных).

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

Этапы xakингa Web-сайта

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

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

• Взломать Web-сервер - поскольку Web-сервер всегда подключен к Интернету, как правило, через TCP-порт 80, а программы, реализующие Web-серверы, изобилуют уязвимостями (про которые регулярно оповещают всех желающих базы данных CVE, и даже ленты новостей многих Web-сайтов), то удаленный взлом Web-серверов - это отнюдь не фантастика.

• Исследовать приложение Web - какие механизмы задействованы для обработки запросов - ASP, скриптлеты Java, CGI и так далее - без этого ничего сделать не удастся, сами понимаете.

• Взломать систему защиты приложения Web — это означает, во-первых, взлом механизма аутентификации, а во-вторых, механизма авторизации пользователя (и обойти систему аудита!). Задача аутентификации состоит в подборе пароля, скажем, методом словарной атаки или методом грубой силы - простым перебором всех вариантов пароля. Задача авторизации решается многими путями, например, подменой файла куки (cookie), идентифицирующего пользователя, если для авторизации использован механизм файлов куки.

• Выполнить атаку вводом данных - хакер должен попытаться взломать защиту приложения путем передачи Web-приложению специально подобранных данных, воспользовавшись уязвимостями приложения, вызванными ошибками программирования. Наличие таких уязвимостей позволит, например, передать CGI-сценарию исполняемый код вместо числового параметра, - и если этот CGI-сценарий не проверяет входные параметры, то, исполнив переданный хакерский код, сервер открывает к себе доступ.

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

• Взломать защиту интерфейса управления сайтом - как правило, Web-сайты снабжены средствами удаленного управления, так что у них всегда имеется открытый порт для удаленного управления, и его поиск и взлом - весьма эффективный метод хакинга.

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

Ясно, что описание всех этих средств заняло бы целую книгу. Мы, однако, ограничимся только некоторыми, наиболее популярными методами взлома сайтов, реализованных с помощью сервера IIS 5. Мы опишем, как можно получить доступ к файловой системе серверного компьютера (раздел «Хакинг HTTP»), найти уязвимые CGI-сценарии сервера (раздел «Уязвимые сценарии») и получить доступ к запароленной страничке Web взломом пароля доступа методом грубой силы (раздел «Взлом доступа к страничкам Web»). В конце главы мы опишем методы загрузки на жесткий диск компьютера целого Web-сайта и объясним, что из этого можно извлечь для пользы дела.

Сервер IIS избран по той причине, что это наиболее популярный Web-сервер, ставший поэтому излюбленной мишенью для хакеров. Антихакер должен отчетливо понимать, что взлом Web-сайта представляет собой значительную угрозу, поскольку взломанный сервер - это ворота в сеть организации, и проникнувшему в серверный компьютер хакеру открываются большие возможности. Хакер сможет изменять содержимое сайта - а это прямая угроза фальсификации и дискредитации всей организации, которой принадлежит взломанный Web-сайт. Хакер сможет перехватывать почту - а это угроза конфиденциальности информации или ее фальсификации. Далее, подменяя загружаемые по FTP-доступу файлы, хакер сможет распространять вирусы, трояны и прочие хакерские утилиты. Так что методы хакинга сайтов должны быть досконально известны антихакеру - более того, именно с их учетом следует выполнять тестирование системы защиты сайта на предмет ее устойчивости к атакам.

Рассмотрим перечисленные выше задачи хакинга Web-сайтов по порядку.

Исследование Web-сайта

Никакой серьезный взломщик компьютерной информационной системы, в том числе Web-сайта, не приступит к атаке без тщательного изучения применяемых в системе компьютерных технологий. Взломщика будет интересовать архитектура сети, используемые операционные системы, общие ресурсы сети, учетные записи пользователей этих ресурсов, типы сетевых серверов. Для получения такого рода сведений хакеры, как правило, выполняют следующие действия.

• Предварительный сбор данных, заключающийся в систематизированном сборе открытых сведений о Web-сайте конкретной организации, включая диапазон IP-адресов сети, подсоединенной к Интернету, сведения о DNS-серверах, зарегистрированных доменных именах и администраторах сети.

• Сканирование сети организации с целью выявления сервера Web.

• Инвентаризацию открытых портов, запущенных служб и типа операционной системы серверного компьютера.

Предварительный сбор данных

Во время предварительного сбора данных о намеченном для атаки Web-сайте хакер может и должен обратиться к ресурсам Интернета. Эти ресурсы включают следующее.

• Во-первых, хакер может обратиться к сведениям, хранимым в базах данных организаций - поставщиков услуг Интернета, обязанных регистрировать подключаемые к Интернету серверы и сети. Эти данные содержат выделяемые IP-адреса, фамилии, телефоны и адреса администраторов сети, доменные имена и прочую весьма полезную информацию. В разделе «Базы данных » мы укажем источники этих сведений.

• Во-вторых, следует самым внимательным образом изучить HTML-код страниц Web-сайта атакуемой организации. Код HTML может содержать комментарии, не отображаемые браузерами Web, но содержащие весьма интересные сведения, вносимые разработчиками страниц для справочных целей. К примеру, в комментариях могут содержаться контактные телефоны, структура каталогов сервера, адреса электронной почты разработчика, коды сценариев JavaScript и многое другое. Все это весьма ценные сведения для выполнения атаки, и методы извлечения HTML-кода сайта Web описаны в разделе «Web-спайдер Teleport Pro».

Начать, конечно, следует с регистрационной базы данных Whols - там содержатся первичные, самые важные сведения о локальной сети, поддерживающей подсоединенный к Интернету сервер Web. Для извлечения этих данных можно прибегнуть к утилите командной строки whois (традиционного средства системы Unix), но легче и проще обратиться к Web-сайтам организаций, предоставляющих бесплатный сервис whois прямо со своих Web-страничек.

Базы данных Whols

Вначале обсудим первую возможность. Каждая компания, желающая получить собственное доменное имя в Интернете, обязана зарегистрировать свою локальную сеть в специальной уполномоченной организации. До 1999 года такое право имела единственная организация - Network Solution (http://www.networksolution.com), но теперь услуги по регистрации сетей предоставляет множество других организаций, например, InterNic (http://www.internic.net). Сайты этих организаций содержат открытые базы данных со сведениями о зарегистрированных организациях и/или ссылки на другие сайты с подобной информацией.

Пользуясь сервисами таких Web-сайтов, которые часто называются серверами Whois (серверы «Кто есть Кто»), можно получить весьма подробные сведения об информационной системе организации. Хакер может запросить у сервера Whois все доменные имена Интернета, зарегистрированные организацией, телефон и адрес электронной почты администратора домена, имена и адреса серверов DNS сети. В лучшей Европейской базе данных такого рода, принадлежащей центру RIPE NCC (Network Coordinate Center - Центр сетевых координат), содержатся сведения о диапазоне IP-адресов зарегистрированных сетей вместе с личными данными их администраторов. Все эти данные можно запросить с помощью весьма удобного интерфейса Web-страницы центра RIPE NCC (http://www.ripe.net), представленной на Рис. 1.

Что же будет делать взломщик со всей этой информацией? Получив предварительные сведения о локальной сети организации - IР-адреса подключенных к Интернету узлов Сети и серверов DNS сетевых доменов - он продолжит изучение сети путем сканирования и инвентаризации сервера.

Рис. 1. Web-страничка центра RIPE NCC для поиска сведений об организации по IP-адресу ее Web-сайта

Сканирование u инвентаризация сервера

Для выполнения этой задачи существует множество утилит, одной из лучших считается утилита SuperScan (http://www.foundstone.com), диалог которой приведен на Рис. 2.

Рис. 2. Сканирование сети выявляет все открытые порты и запущенные службы

Чтобы воспользоваться утилитой SuperScan, выполните такие шаги.

• В поле Start (Старт) введите начальный IP-адрес 192.168.0.1.

• В поле Stop (Стоп) введите конечный адрес 192.168.0.100.

• В группе элементов управления Scan type (Тип сканирования) установите переключатель All list ports from (Все перечисленные порты в диапазоне).

• Щелкните на кнопке Start (Пуск).

В поле внизу диалога SuperScan отобразятся результаты сканирования. Как видим, на компьютере с IP-адресом 192.168.0.50 открыт порт протокола HTTP и запущен сервер IIS 5.1, так что мы получили нужный результат - наличие в сети сервера Web. И хотя мы экспериментируем в нашей локальной интрасети (чтобы никого не обидеть), процедура получения этих сведений в Интернете выполняется подобным образом.

Инвентаризацию общих ресурсов найденного сервера можно выполнить с помощью чрезвычайно популярной программы Legion (http://packetstormsecurity.org/groups/rhino9), результат применения которой к найденному хосту с IP-адресом 192.168.0.50 представлен на Рис. 3.

Рис. 3. Инвентаризация ресурсов найденного сервера IIS 5

Теперь, зная о наличии по данному IР-адресу сервера IIS 5, нас сразу же начинает интересовать вопрос - можно ли взломать доступ к этому серверу, и каким образом? Обсудим эту тему поподробнее.

Взлом сервера IIS 5

Хакинг сервера IIS базируется на уязвимостях программных средств сервера, основанных на протоколах HTTP (Hypertext Transfer Protocol - Протокол передачи гипертекста) и CGI (Common Gateway Interface - Общий шлюзовой интерфейс), а также на уязвимых сценариях сервера IIS, открывающих доступ к ресурсам серверного компьютера.

Функция протокола HTTP - обеспечение взаимодействия сервера и клиента Web при запросе и получении текстовой информации. Для этого протокол HTTP предоставляет несколько методов, основным из которых является метод GET. Когда Web-браузер запрашивает у сервера информационный ресурс (скажем, текстовый файл), он использует метод GET, одновременно указывая адрес ресурса, например, http://www.anyserver.com/documents/order.html. Этот адрес указывает на файл order.html в каталоге /documents сервера IIS, которому соответствует каталог локальной файловой системы c:\inetpub\wwwroot\documents.

Протокол CGI регламентирует удаленные вызовы серверных сценариев со стороны клиентов. Вызовы сценариев выполняются с помощью запросов протокола HTTP, которые имеют такой вид:

http://www.anysite.com/scripts/MyScript?Парaметр1+Параметр2

Здесь MyScript - это название сценария, хранящегося в папке /scripts сервера IIS, а запись ?Параметр+Параметр2 определяет фактические параметры, передаваемые серверному сценарию MyScript. Сервер IIS определяет, что поступивший запрос предназначен для обработки сценарием, после чего запускает программу сценария, передает ей параметры и выполняет передачу результатов запроса клиенту.

Кроме протокола CGI, для работы со сценариями используются технологии ASP (Active Server Pages - Активные страницы сервера) и ISAPI (Internet Server Programming Interface - Программный интерфейс сервера Интернет). В технологии ASP вызов сценариев выполняется такой строкой запроса:

http://www.anysite.com/scripts/MyScripts?Параметр1=Значение1&Параметр2=Значение2

В результате исполняется сценарий MyScript.asp, который, как правило, генерирует новую страницу HTML. Интерфейс ISAPI предоставляет возможность удаленного вызова функций, хранимых в библиотеках ISAPI. Вызов этих функций выполняется по такому запросу HTTP:

http://www.anysite.com/isapi.dll?Переменная1&Переменная2

Теперь, узнав некоторые сведения о работе сервера IIS, посмотрим, чем они могут помочь работе хакера.

Хакинг HTTP

Протокол HTTP позволяет хакерам достичь много, поскольку его поддержка сервером IIS не отличается надежной защитой от попыток несанкционированного доступа. В ранних версиях IIS 2.0 достаточно было ввести такой адрес:

http://www.anysite.com/../../../../../winnt/secret.file

чтобы загрузить с Web-сервера информацию, содержащуюся в файле secret.txt. Это - пример ошибки в реализации системы защиты Windows, хранящей разрешения на доступ к информационным ресурсам в списках ACL. В более новых версиях IIS эта ошибка исправлена, но ее можно найти у Web-серверов других производителей. А взамен описанной уязвимости в последних версиях IIS имеются другие, и их список непрерывно пополняется, что можно видеть по сообщениям на сайтах, посвященных информационной безопасности, например, SecurityLab.ru (http://www.securitylab.ru).

Чтобы исследовать такого рода уязвимости IIS, очень удобно использовать утилиту netcat (http://www.atstake.com), (netcat - это очень мощный инструмент - недаром авторы Мак-Клар С., Скембрей Д., Курц Д. называют netcat основным орудием хакинга IIS). Проиллюстрируем использование netcat для атаки на сервер Sword-2000 нашей экспериментальной сети, к услугам которой мы прибегаем на протяжении всей книги. Для использования netcat в наших целях выполните такую процедуру.

• Запустите из командной строки компьютера Alex-З утилиту netcat, выполнив команду nc -vv 1.0.0.1 80

• После появления сообщения об открытии соединения с сервером введите строку GET / HTTP/ 1.0 и два раза нажмите клавишу Enter. Результат представлен на Рис. 4.

Рис. 4, Запрос GET к серверу IIS из утилиты netcat

Запрос GET / HTTP/1.0 по умолчанию запрашивает файл из корневого каталога сервера IIS. Как видно из Рис. 4, в ответ получен файл с кодом HTML, загрузка которого в браузер воспроизведет сообщение об ошибке.

Чтобы облегчить себе жизнь, можно передавать запросы GET другим способом - конвейеризовав ввод данных в командной строке с помощью атрибута <. Для этого создадим текстовый файл GET.txt с такими строками:

GET/HTTP:/1.0

[CRLF]

[CRLF]

Здесь запись [CRLF] означает пустую строку. Теперь утилиту netcat следует запустить следующим образом.

nc -vv 1.0.0.1 80 < get.txt

В результате после установления соединения на сервер будет переправлен текст из файла get.txt, и результат будет аналогичен представленному на Рис. 4. (Удобство состоит в возможности многократного запуска запроса без необходимости ручного набора сложного кода.)

Покажем теперь, чего может достичь хакер такой простой процедурой. Создадим файл ddcode.txt с таким содержимым.

GET /scripts/..%255c..%255c..%255cwinnt/system32/cmd.exe?/c+dir+c:\ HTTP /1.0

[CRLF]

[CRLF]

Теперь попробуем взломать доступ к компьютеру А1ех-1 с системой Windows 2000 (русифицированная инсталляция без всяких сервисных пакетов). Запустим утилиту netcat следующим образом:

nc -vv 1.0.0.7 80<ddcode.txt

Результат представлен на Рис. 5.

Рис. 5. Доступ к каталогам А1ех-1 получен!

Как видим, мы получили доступ к файловой системе А1ех-1 и можем делать с ней что угодно! Но вот на сервер Sword-2000 (система Windows 2000 Advanced Server с Service Pack 2) такая атака уже не действует - компания Microsoft ликвидировала брешь в системе защиты, причем сразу после ее обнаружения в 2000 году. Также были ликвидированы уязвимости подобного рода, связанные с множеством других некорректно сформированных адресов URL в запросах, описание которых можно найти во многих источниках. Однако многие ли об этом знают, и у многих ли системы Windows 2000 обновлены сервисными пакетами?

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

Уязвимые сценарии

Одной из основных уязвимостей Web-серверов, в том числе сервера IIS, - это плохое программирование сценариев, используемых в интерактивных Web-страницах. Дело в том, что для обмена информацией со сценариями Web-серверов используется протокол CGI (Common Gateway Interface - Общий шлюзовой интерфейс), который вообще не обеспечивает никакой защиты, а всего лишь регламентирует передачу параметров от клиента Web серверному сценарию. Получив запрос к сценарию CGI, сервер просто передает полученные параметры сценарию, запущенному на сервере. Причем права сценария на доступ к ресурсам серверного компьютера определяются контекстом безопасности Web-сервера, т.е., применительно к серверу IIS, с правами учетной записи System, обеспечивающей практически полный доступ к ресурсам системы. Вот что это дает хакеру.

То, что происходит с переданными CGI-сценарию параметрами, определяется программой, а программы пишут программисты. И каждый, кто хоть когда-либо писал программы, знает, насколько трудно и утомительно согласовать типы фактических и формальных параметров программы, и насколько мешает творческой фантазии необходимость скрупулезно проверять корректность передаваемых параметрами данных. Поэтому часто эта задача оставляется на потом, или вообще отбрасывается - и программа становится полностью зависимой от внешней среды.

Так что если, к примеру, в сценарий Perl, выполняемый в режиме интерпретации, т.е, шаг за шагом, по мере считывания кода программы, передать вместо, скажем, числового значения некий программный код, то не исключено, что вместо аварийного завершения сценарий сможет исполнить переданный код. И это - самые настоящие парадные двери для хакера, поскольку плохо написанных сценариев - хоть пруд пруди, и, немного поискав по сайтам Web, где-нибудь да наткнешься на открытые двери. И вот, чтобы упростить себе жизнь, хакеры придумали специальные сканеры CGI-сценариев, которые, обойдя весь Web-сайт, находят применяемые в нем сценарии и сообщают о них заинтересованному и понимающему человеку.

Мы рассмотрим здесь один из наиболее популярных сканеров CGI-сценариев DOMNED CGI Scanner 2.1 (http://shieldandsword.narod.ru/soft/scansec/scan-sec.htm). На Рис. 6 представлено рабочее окно сканера, содержащее шесть вкладок.

Рис. 6. Рабочее окно CGl-сканера DOMNED CGI Scanner 2.1

Рассмотрим функциональные возможности, предоставляемые вкладками рабочего окна сканера D@MNED CGI Scanner 2.1.

На вкладке Scanners log (Журнал сканирования) отображается статистика по всем найденным уязвимым сценариям. Кнопки на панели инструментов, перечисленные в порядке слева направо, позволяют запустить и остановить сканирование, а также очистить и сохранить созданный журнал.

Вкладка Scan list (Список сканируемых узлов), представленная на Рис. 7, содержит список серверов, предназначенных для сканирования. Кнопки в левой части панели инструментов позволяют сохранить, открыть и очистить список серверов, перечисленных на вкладке. Для пополнения списка серверов в поле на панели инструментов следует ввести адрес сервера и щелкнуть на кнопке с крестиком. Чтобы отредактировать элемент списка, следует мышью выделить элемент списка, в поле на панели инструментов ввести новое значение и щелкнуть на кнопке со стрелками вверх и вниз. Внизу вкладки представлены элементы управления, позволяющие сканировать целую подсеть класса С. Установка флажка Scan subnet (Сканировать подсеть) отменяет применение списка серверов и заставляет сканировать подсеть класса С в диапазоне IP-адресов, указанном в полях слева. Например, эта запись может быть такой: 234.56.78.1 - 8.

Рис. 7. Вкладка редактирования списка сканируемых серверов

Рис. 8. Список уязвимых CGI-сценариев

Вкладка CGI holes (Уязвимости CGI) (Рис. 8) содержит список CGI-сценариев, содержащих известные автору программы уязвимости. Этот стандартный список отображается на вкладке, и его можно пополнить, загрузить и отредактировать с помощью кнопок на панели инструментов, аналогичных содержащихся на вкладке Scan list (Список сканируемых узлов).

Вкладка Spy (Шпион) отображает информацию о сканируемом хосте (Рис. 9), включая тип Web-сервера (в данном случае - IIS 5.1), и путь к первой странице сервера (корневой каталог сервера).

Рис. 9. Шпион CGI-сканера поработал достаточно эффективно!

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

Рис. 10, Настройки CGl-сканера весьма полезны

Работа со сканером D@MNED CGI Scanner 2.1 не вызывает затруднений. Для иллюстрации отсканируем в нашей экспериментальной сети хост А1ех-1 с IP-адресом 1.0.0.7, выполнив такие шаги.

• На вкладке Scan list (Список сканируемых узлов) удалите установленный по умолчанию хост http://www.altavista.com и добавьте IP-адрес 1.0.0.7.

• Перейдите на вкладку Scanner log (Журнал сканирования) и запустите процедуру сканирования. В результате получится список уязвимых сценариев, представленный на Рис. 11.

Рис. 11. Список уязвимостей сервера IIS 5.0 впечатляет

Числовые коды в списке уязвимостей (на Рис. 11 отображены 200 и 500) отмечают результат проверки; эти коды перечислены в справочной системе программы. Например, 200 означает успешное завершение - сценарий найден, а 500 - неудачу. Так что теперь можно собрать все сообщения с кодом 200 (они так и отмечены - SUCCESS) и далее можно поискать эксплойт для найденной уязвимости.

К сожалению, авторы программы DOMNED CGI Scanner 2.1 не позаботились о более точном описании найденных уязвимостей и об указании соответствующих им эксплойтов. Такое описание, без сомнения, позволило бы более эффективно взломать сервер с найденной уязвимостью. Поэтому для дальнейшего продвижения хакеру следует прибегнуть к базам данных уязвимостей и эксплойтов, например, MITRE CVE (http://www.mitre.org). В данном случае, как видно из Рис. 11, сервер IIS содержит файлы .htr и .idq.; Вот что на этот счет говорит база уязвимостей MITRE.

CVE-2001-0500

Buffer overflow in ISAPI extension (idq.dll) in Index Server 2.0 and Indexing Service 2000 in IIS 6.0 beta and earlier allows remote attackers to execute arbitrary commands via a long argument to Internet Data Administration (.ida) and Internet Data Query (.idq) files such as default.ida, as commonly exploited by Code Red.

(Переполнение буфера в расширениях ISAPI (idq.dll) в Index Server 2.0 и Indexing Service 2000 в IIS 6.0 бета-версии позволяет выполнять удаленный взлом для исполнения произвольных команд с помощью длинных аргументов в файлах .ida (Internet Data Administration - Администрирование данных Интернета) и .idq (Internet Data Query - Запрос данных Интернета), например, default.ida, который обычно используется червем Code Red.)

Reference: BUGTRAQ:20010618 All versions of Microsoft Internet Information Services, Remote buffer overflow (SYSTEM Level Access)

Reference: MS:MS01-033

Reference: CERT:CA-2001-13

Reference: BID:2880

Reference: XF:iis-isapi-idq-bo(6705)

Reference: CIAC:L-098

Как видим, CGI-сканер нашел уязвимость сервера IIS к атакам переполнения буфера - излюбленному инструменту хакинга IIS. А чтобы практически использовать найденную уязвимость, следует обратиться к базам эксплойтов, одна из которых содержится на сайте http://www.securitylab.ru. И действительно, на этом сайте имеется описание найденной уязвимости, сообщающей следующее.

"В заданной по умолчанию инсталляции IIS позволяется использование .htr файлов, которые используются для изменения Web паролей. Переполнение памяти "кучи" существует в компоненте сервера, который используется для обработки запросов к .htr файлам (ISM.DLL).

Эта уязвимость была проверена на IIS 4.0 и 5.0 с SP2 и самыми последними заплатами защиты от 1 апреля 2002.

Когда IIS получает запрос к какому-либо файлу, он проверяет, соответствует ли расширение на файле в запросе расширению в отображенных сценариях. Затем он передает запрос к ISAPI фильтру для дальнейшей обработки, .htr файлы могут не присутствовать на системе для запроса, который будет обработан ISM.DLL.

Специальный запрос к ISM.DLL может вызвать переполнение кучи в процессе обработки. Это переполнение может использоваться для выполнения произвольного кода с правами IWAM_COMPUTERNAME.

Уязвимость может использоваться для распространения саморазмножающихся червей. Уязвимость найдена в IIS 4.0-5.1."

К сожалению, на сайте SecurityLab.ru для рассматриваемой уязвимости предложен эксплойт только для систем Unix и Pyton, что затрудняет его использование в домашних условиях. Такая ситуация очень распространена, и поиск эксплойтов для других уязвимостей чаще всего приносит всего лишь исходный код программ, что характерно для такого рода инструментов (может быть, это связано с наличием проблем в их разработке).

Более обширную информацию о найденных уязвимостях предоставляет программа CGI Vulnerability Scan (http://www.wangproducts.co.uk), рабочее окно которой представлен на Рис. 13.

Рис. 12. Сканер CGI Vulnerability Scan достаточно прост и эффективен

В приложенной к программе документации можно найти описание уязвимых CGI-сценариев, известных программе, однако эта база данных поддерживается недостаточно эффективно - новые уязвимости в ней отсутствуют. За ними следует охотиться на сайтах Интернета, например, SecurityLab.ru (http://www.securitylab.ru), где очень часто мелькают сообщения о только что найденных уязвимостях серверов IIS (и других серверов), сопровождаемые описаниями уязвимостей и даже использующими их эксплойтами для хакинга серверов IIS.

Итак, приложив некоторое умение, и при условии некоторого везения хакер может взломать сервер HTTP - и дело сделано. Ну а если это ему не удастся - что же еще полезного для хакинга компьютерной сети организации или для других целей можно извлечь из Web-сайта? Осталась одна возможность - исследовать HTML-код Web-страничек, который подчас хранит в себе очень много интересных открытий. Но чтобы исследовать код HTML, его следует загрузить из Web, поскольку подробное изучение кода HTML дело не быстрое и не простое. Наилучшее решение такой задачи состоит в сканировании ресурсов Web в поисках полезной информации с последующей загрузкой содержимого сайта на компьютер. Признанным фаворитом среди инструментов, предназначенных для таких операций, считается программа Teleport Pro (http://www.tenmax.com), предоставляющая широкий набор возможностей по настройке процедур поиска в сети Web и загрузке найденных ресурсов на локальный компьютер. Вкратце опишем возможности Teleport Pro.

Web-спайдер Teleport Pro

Программа Teleport Pro представляет собой мощный инструмент для офлайнового просмотра Web-сайтов, создания зеркальных копий Web-сайтов и извлечения из Интернета файлов с полезными ресурсами. Программа Teleport Pro обеспечивает полностью автоматический режим работы, причем одновременно нескольких копий программы (это свойство называется многопоточностью), функционируя подобно пауку, перемещающемуся в сети Web по ссылкам на Web-сайте. Программы, обладающие последним из указанных свойств, на компьютерном сленге называются «слайдерами» - от английского слова «spider» - паук.

Такие Web-спайдеры способны безо всякого участия пользователя «ползать» по сети Web в поисках «жертвы» - файла с нужной информацией. А чтобы определить, нужен ли вам встреченный при поиске файл, спайдер использует специальные критерии, заданные пользователем. Спайдер Teleport Pro умеет делать следующие вещи.

• Загружать Web-сайты целиком для последующего просмотра в офлайновом режиме.

• Создавать точные копии Web-сайта, полностью сохраняющие структуру каталогов вместе с хранимыми файлами.

• Выполнять поиск на Web-сайте файлов определенного типа.

• Автоматически загружать список файлов с Web-сайта.

• Исследовать любой Web-сайт, связанный с центральным Web-сайтом.

• Производить поиск на Web-сайте по ключевым словам.

• Создавать список всех страниц и файлов на Web-сайте.

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

Для работы с Teleport Pro вы должны создать файл проекта, содержащий несколько адресов файлов, хранимых в сети Web. В файле проекта следует также указать несколько правил выбора гиперссылок, по которым должны выполняться переходы слайдера, и файлов для загрузки из Web. Далее командой меню Start (Старт) запускается работа слайдера - и вы можете просто подождать результата, пока Teleport Pro прочитает файлы с указанными адресами, извлечет их из Web, прочитает гиперссылки из загруженных файлов Web-страниц, перейдет по ссылкам на другие файлы, и так далее до завершения.

При создании файла проекта вы можете задать режим извлечения из сайта Web файлов только определенного типа и следования по ссылкам также только определенного типа. Например, можно заставить Teleport Pro извлекать из Web только графические файлы и выполнять переходы только внутри домена по указанному стартовому адресу, или же указать «глубину» следования по ссылкам. Так что наш Web-спайдер может вести себя достаточно интеллектуально, не покидая того уголка сети Web, в который его поместили.

Рабочее окно программы Teleport Pro представлен на Рис. 13.

Рис. 13. Рабочее окно Teleport Pro напоминает окно проводника Windows

Для реализации всех описанных выше возможностей пользователю Teleport Pro предоставляется мастер создания проектов, к описанию работы которого мы и перейдем.

Мастер создания нового npoeктa

Для создания нового проекта выполните такие шаги.

• В рабочем окне Teleport Pro выберите команду меню File • New Project Wizard (Файл • Мастер создания нового проекта). На экране появится первый диалог мастера создания нового проекта (Рис. 14).

Рис. 14. Первый диалог мастера создания нового проекта позволяет выбрать один из инструментов Teleport Pro

В диалоге на Рис. 14 можно установкой переключателя выбрать следующие варианты применения Teleport Pro.

Create a browsable copy of website on my hard drive - Создать просматриваемую копию Web-сайта на моем жестком диске.

Duplicate a website, including directory structure - Дублировать Web-сайт, включая структуру каталогов.

Search a website for files of certain type - Поиск на Web-сайте файлов определенных типов.

Explore every site linked from a central site - Исследовать все сайты, указанные ссылками из центрального сайта.

Retrieve one or more files at known addresses - Извлечь один или более файлов с известными адресами.

Search a website for keyword - Поиск в Web-сайте по ключевым словам.

• Выберите первый вариант - создание просматриваемой копии Web-сайта на своем жестком диске. В первом диалоге мастера создания нового проекта он установлен по умолчанию, так что просто щелкните на кнопке Next (Далее). На экране появится диалог следующего шага работы мастера (Рис. 15).

• В поле вверху диалога укажите начальный адрес для поиска в Web; если вам необходимо задать несколько стартовых адресов, далее их можно будет добавить с помощью команды New Address (Новый адрес) на панели инструментов.

Рис. 15. Второй диалог мастера создания нового проекта позволяет указать стартовый адрес для поиска в Web

• В поле Up to ... links from this starting point (До ... ссылок из этой стартовой точки) укажите глубину поиска в Web по числу переходов по ссылкам, начиная от стартовой точки (по умолчанию задано 3).

• Щелкните на кнопке Next (Далее) и перейдите в диалог следующего шага мастера создания нового проекта (Рис. 16).

Рис. 16. В этом диалоге вы можете настроить свой проект

• В диалоге на Рис. 16 укажите, какие файлы следует извлекать из Web при создании локальной копии сайта. Имеются следующие возможности:

Just text (Только текст) - загрузка только текстовых файлов.

Text and graphics (Текст и графика) - загрузка текстовых и графических файлов.

Text, graphics, and sound (Текстовые, графические и звуковые файлы) - загрузка текстовых, графических и звуковых файлов.

Everything (Все) - загрузка всех файлов.

• Если необходимо, создайте учетную запись для доступа к созданному сайту, введя в поле Account (Учетная запись) свой логин, а в поле Password (Пароль) - пароль.

• Щелкните на кнопку Next (Далее) и перейдите в следующий диалог мастера создания нового проекта (Рис. 17).

Рис. 17. Последний шаг создания проекта поздравляет вас с успехом!

В диалоге на Рис. 17 содержится поздравление и напоминание, что для запуска проекта следует щелкнуть на кнопке Start (Старт) на панели инструментов или выбрать команду Start (Старт) из меню Project (Проект).

• Щелкните на кнопке Finish (Готово) и в отобразившемся стандартном диалоге (Рис. 18) сохраните файл проекта на диске.

Рис. 18. Для сохранения файла проекта программа Teleport Pro предлагает стандартный диалог

При указании стартового адреса учтите, что адреса Интернета чувствительны к регистру букв. Далее, примите во внимание, что описываемая версия Teleport Pro 1.29.1959 поддерживает работу только с серверами HTTP и FTP.

Hacmpoйka свойств npoeктa

Более тонкую настройку проекта можно выполнить с помощью диалога Project Properties (Свойства проекта), представленного на Рис. 19 и открываемого командой меню Project • Project Properties (Проект • Свойства проекта).

Рис. 19. Параметры создания дублированного сайта в диалоге свойств проекта

Диалог Project Properties (Свойства проекта) содержит семь вкладок, позволяющих настроить работу слайдера наиболее оптимальным образом. Мы ограничимся описанием настройки параметров дублирования и зеркального отображения сайта, выполняемой на вкладке Browsing/Mirroring (Просмотр/Зеркальное отображение), представленной на Рис. 19.

Вкладка Browsing/Mirroring (Просмотр/ Зеркальное отображение) содержит множество параметров, позволяющих уточнить способ сохранения файлов на жестком диске компьютера, например, необходимо ли «локализовать» ссылки в сохраняемых страницах, заменив их ссылками на местоположение файлов в папках локального диска. Рассмотрим все эти параметры по порядку.

Флажок Always save HTML pages (Всегда сохранять страницы HTML) вынуждает Teleport Pro сохранять документы HTML, т.е. Web-странички, на локальном диске, даже если все остальные параметры, задающие режим извлечения файлов из Web, этого не требуют. Для проекта, подготавливающего Web-сайт для офлайнового просмотра, этот флажок должен быть установлен всегда, поскольку не все файлы Web-страничек имеют расширение .htm и .html.

• Флажок Replicate the directory structure of remote servers (Реплицировать структуру каталогов удаленного сервера) вынуждает спайдер сохранять извлекаемые файлы в каталогах с такой же структурой, что и на сервере. Это весьма удобно для работы с сайтом, поскольку «сваливая» все файлы в одну кучу, можно потерять над ними контроль и перезаписать один файл другим.

• Флажок Use MSIE-compatible filenames (append .htm to HTML files "where necessary) (Использовать имена файлов, совместимые с MSffi (добавлять при необходимости .htm к файлам HTML)) помогает браузеру IE определять, что файл содержит документ HTML, даже если расширение имени файла отличается от .htm или .html (например, .shtml или .pi). С этой целью, в случае установки флажка, спайдер Teleport Pro переименовывает файлы документов HTML, присваивая расширения .htm или .html, одновременно перезаписывая ссылки на эти файлы.

В группе элементов управления Linkage System (Система связывания) устанавливается, должен ли, и каким образом, спайдер перезаписывать ссылки на сохраняемые файлы. Установка флажка Localize links for all retrieved files (Локализовать ссылки для всех извлекаемых файлов) включает режим локализации ссылок и делает доступными расположенные в разделе переключатели, управляющие перезаписью ссылок на файлы, не извлекаемые из Web. Имеется три возможности:

Link to a message that explains why the file was not retrieved - связывать с сообщением, которое объясняет, почему файл не был извлечен. Это сообщение также будет отображать адрес Интернета для данного файла, так что, при желании, его можно будет просмотреть в браузере.

Link to the Internet address for the file - связывать с адресом Интернета данного файла. В этом случае спайдер заменит ссылку на неизвлеченный файл адресом Интернета для этого файла, так что файл можно будет просмотреть браузером.

Link to a place where the local file will be stored - связывать с местом, в которое этот файл должен был быть помещен, т.е. спайдер должен «предсказать» место размещения неизвлеченного из Web файла и установить ссылку на это место. Такой режим работы позволит загружать Web-сайт на локальный диск постепенно, без необходимости повторного установления ссылок на вновь загруженные файлы.

Спайдер Teleport Pro всегда локализует ссылки на внедренные в HTML-документ файлы, например, звуковые, графические, аплеты Java, заменяя их «предсказанными» ссылками на их локальное местоположение. Дело в том, что ссылки на эти файлы недоступны для пользовательского интерфейса - на них нельзя щелкать мышью.

Находящийся внизу группы элементов управления Linkage System (Система связывания) флажок Link using 8.3 filenames (Связывать, используя имена файлов формата 8.3) заставляет спайдер локализовать файлы с использованием старой, применяемой в DOS системы наименований файлов. При этом спайдер записывает файлы, сохраняя длинные имена, а ссылки на них перезаписываются именами формата 8.3.

Кнопка Relink all files in the project now (Заново связать все файлы в проекте) приводит к немедленной перезаписи всех ссылок для файлов HTML в папке проекта, с использованием текущих настроек системы связывания.

Исследование koдa HTML

Итак, поработав, спайдер принес вам целую кучу файлов, создав локальную копию Web-сайта. Что же следует искать в коде HTML этой локальной копии Web-сайта? Как правило, создающие Web-сайт люди мало задумываются, насколько информативными могут оказаться сведения, которые они оставляют в своих Web-страничках. Эти сведения не видны пользователю, просматривающему страничку в браузере Web, но прекрасно видны в коде HTML. Что же там можно найти?

Во-первых, это комментарии - пометки, оставляемые в коде для самого себя или для других разработчиков сайта. Комментарии могут содержать фамилии, телефоны, адреса электронной почты, сведения технического характера - в общем, что угодно. Для хакера все это интересно, поскольку любая информация подобного рода - это зацепка для начала хакинга.

Во-вторых, это ссылки на ресурсы сайта - пути к каталогам с документами, сценариями, рисунками - зная все это, легче построить план атаки на сервер, поскольку яснее становится его организация и используемые средства. Например, в Приложении В, содержащем описание протокола CGI, описано, как выполняется обработка форм, помещенных в Web-страничку. Для этого в коде HTML следует указать путь к CGI-сценарию, которому передаются все сведения из формы для последующей обработки. Эти сценарии могут быть испытаны на «надежность» отправкой специально сформированных запросов, в которых сценарию в качестве параметров передается исполняемый код. И если сценарий не проверяет переданные параметры, то вполне вероятно обнаружение дыры в системе защиты. Конечно, все это - путь для весьма квалифицированного хакера.

Наилучшим путем для исключения ошибок такого рода, приводящим к нарушению системы защиты, следует признать использование только проверенных сценариев, лучше всего последних версий, а также испытание созданного Web-сайта на безопасность с помощью специальных средств тестирования, например, приложения Retina (http://www.eeye.com/html/Products/Retina/). Далее, на сайте программы Teleport Pro (http://www.tenmax.com) предоставляется для бесплатной загрузки и использования утилита очистки HTML-кода от всякой уязвимой информации, помогающей хакеру в реализации планов атаки на сайт Web.

Взлом доступа k страничкам Web

Ну а что делать, если доступ к страничке Web закрыт паролем? В самом деле, имеются странички Web, которые защищены паролем по причинам, вдаваться в которые нет нужды - мы все об этом знаем. Доступ может быть закрыт как запросом пароля из формы HTML, так и с помощью средств сервера HTTP.

В этом случае хакеру ничего не остается, как попробовать взломать пароль доступа, и тут нам на помощь приходит старый добрый метод взлома грубой силой. Мы должны «забрутофорсить» Web-сайт, выполнив попытки многократного входа с различными паролями и логинами.

Несколько попыток можно сделать вручную - ламеры еще не перевелись, и если администратор Web-сайта принадлежит к этой малопочтенной категории, то можно попробовать пары логин/пароль в виде вариаций на тему Administrator/password (некоторые авторы утверждают, что такие входы имеет треть (!!!) серверов Web). Но лучше все же привлечь средства малой механизации и применить программу, скажем, Brutus Authentication Engine Test 2 (Машина тестов аутентификации версии 2), сокращенно Brutus AET2 (http://www.hobie.net/brutus). Теперь посмотрим, как это делается в случае серверов HTTP.

На Рис. 20 представлено рабочее окно программы Brutus.

Мы выполним атаку на систему базовой идентификации сервера IIS компьютера Sword-2000, сделав такие шаги.

• В поле Target (Цель) введите IP-адрес жертвы, в данном случае 1.0.0.1.

• В открывающемся списке Туре (Тип) выберите тип взламываемой системы защиты, что подразумевает выбор протокола доступа к серверу и метод аутентификации доступа к ресурсу. В данном случае выбран пункт HTTP (Basic Authentication) (HTTP (Базовая аутентификация)) - взламывается доступ к серверу HTTP, защищенного с помощью базовой аутентификации (подробнее о методах защиты доступа к IIS можно узнать из справочной системы Windows или в одном из многочисленных руководств по серверам IIS).

Рис. 20. Программа готова «брутофорсить» Web-сайт

В группе элементов управления Authentication Options (Параметры аутентификации) следует указать либо список логинов для тестирования в процессе взлома, либо указать единственный логин. Мы ограничимся логином Administrator, введя его в поле Use Username (Использовать имя пользователя), и сбросив флажок Single User (Единственный пользователь).

• В открывающемся списке Pass Mode (Режим поиска) выберите пункт Brute Force (Грубая сила), задав метод взлома грубой силой, т.е. прямым перебором всех вариантов паролей.

• Щелкните на ставшей доступной кнопке Range (Диапазон). На экране появится диалог Brutus - Brute Force Generation (Brutus - Генерирование паролей прямым перебором), представленный на Рис. 21.

Рис. 21. Выбор символов и длин тестируемых строк

В диалоге Brutus - Brute Force Generation (Brutus - Генерирование паролей прямым перебором) делается основной выбор - следует указать, какой длины может быть пароль у сервера IIS и какие символы он может использовать. Тут все зависит от вашей творческой фантазии и удачи; для демонстрации мы выберем и в поле Min Length (Минимальная длина), и в поле Max Length (Максимальная длина) одно число - 3. Применяемые символы мы ограничим цифрами, установив переключатель Digits only (Только цифры).

Теперь все готово для атаки.

• Щелкните на кнопке Start (Старт) в диалоге Brutus - АЕ2 (Рис. 20) и наблюдайте за сообщениями и линейным индикатором внизу диалога. Результат представлен в диалоге Brutus - АЕ2 на Рис. 22.

Рис. 22. Пароль доступа к IIS взломан!

Теперь, когда при обращении к взломанному серверу IIS отобразится диалог запроса пароля, представленный на Рис. 23, вы будете знать, что туда следует вводить.

Рис. 23. Введите в поля диалога найденные логин и пароль - и отобразится защищенная страничка Web

Кроме описанной возможности взлома базовой системы аутентификации, программа Brutus позволяет взламывать парольную защиту, реализованную с помощью форм на страничках Web. Такая система защиты функционирует на основе запросов CGI-сценариев Web-сайта. Выбрав в поле Туре (Тип) пункт HTTP (Form) (HTTP (Форма)) и настроив передачу запросов GET сценариям, можно подобрать пароль доступа к ресурсу, воспользовавшись теми же методами, что и описанный выше способ взлома грубой силой; или выполнить словарную атаку.

Заключение

Сайты Web, поддерживаемые на подключенных к Интернету серверах корпоративной сети, - это наилучшие объекты для удаленного взлома доступа к информационным ресурсам организации. Для хакинга сайтов Web создано множество утилит, часть из которых описана в этой главе. Следует однако учесть, что задача хакинга Такой системы вовсе не так проста, как это может показаться на первый взгляд. Если раньше, в доисторическую эпоху систем Windows NT/95/98, достаточно было отсканировать Web-сайт программами типа CGI Vulnerability Scan или DOMNED CGI Scanner 2.1, найти несколько уязвимых сценариев, а потом с помощью эксплойтов, в изобилии представленных на хакерских Web-сайтах, без всяких проблем взломать доступ к ламерскому серверу, то нынче все это усложнилось.

Чтобы взломать настоящий, защищенный Web-сайт, приходится долго подыскивать ключики к его уязвимостям, причем еще не факт, что удастся найти надежные эксплойты для проникновения в сервер через найденную дыру в системе защиты. Так что наилучший способ хакинга сайтов Web - это внимательное отслеживание новейших уязвимостей и самодельное изготовление эксплойтов, чаще всего представленных на Web-сайтах в виде исходных текстов программ.

Антихакер же должен помнить, что ныне имеется множество мощных программных средств исследования безопасности Web-сайтов - например, приложение Retina, описание которого можно найти, например, в [7]. Другая возможность создания надежной защиты Web-сайта - это испытание его на прочность с помощью хакерских утилит, а для этого антихакер должен в совершенстве овладеть методикой их использования.

Hosted by uCoz