На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

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

Никакой серьезный взломщик компьютерной информационной системы, в том числе Web-сайта, не приступит к атаке без тщательного изучения применяемых в системе компьютерных технологий. Взломщика будет интересовать архитек­тура сети, используемые операционные системы, общие ресурсы сети, учетные записи пользователей этих ресурсов, типы сетевых серверов. Для получения та­кого рода сведений хакеры, как правило, выполняют следующие действия.
• Предварительный сбор данных, заключающийся в систематизированном сбо­ре открытых сведений о Web-сайте конкретной организации, включая диапа­зон ГР-адресов сети, подсоединенной к Интернету, сведения о DNS-серверах, зарегистрированных доменных именах и администраторах сети.
• Сканирование сети организации с целью выявления сервера Web.
• Инвентаризацию открытых портов, запущенных служб и типа операционной системы серверного компьютера.
Предварительный сбор данных
Во время предварительного сбора данных о намеченном для атаки Web-сайте хакер может и должен обратиться к ресурсам Интернета. Эти ресурсы включают следующее.
• Во-первых, хакер может обратиться к сведениям, хранимым в базах данных
организаций - поставщиков услуг Интернета, обязанных регистрировать
подключаемые к Интернету серверы и сети. Эти данные содержат выделяе­мые IP-адреса, фамилии, телефоны и адреса администраторов сети, доменные имена и прочую весьма полезную информацию. В разделе «Базы данных \VhoIs» мы укажем источники этих сведений.
• Во-вторых, следует самым внимательным образом изучить HTML-код стра­ниц Web-сайта атакуемой организации. Код HTML может содержать ком­ментарии, не отображаемые браузерами Web, но содержащие весьма инте­ресные сведения, вносимые разработчиками страниц для справочных целей. К примеру, в комментариях могут содержаться контактные телефоны, струк­тура каталогов сервера, адреса электронной почты разработчика, коды сцена­риев JavaScript и многое другое. Все это весьма ценные сведения для выпол­нения атаки, и методы извлечения HTML-кода сайта Web описаны в разделе «Web-спайдер Teleport Рго».
Начать, конечно, следует с регистрационной базы данных 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.
1. Web-страничка центра RIPE NCC для поиска сведений об организации по IP-адресу ее Web-сайта
Что же будет делать взломщик со всей этой информацией? Получив предвари­тельные сведения о локальной сети организации - подключенных к Интернету узлов сети и серверов DNS сетевых доменов - он продолжит изуче­ние сети путем сканирования и инвентаризации сервера.
Скзиировзиие и инвентаризация сервера
выполнения этой задачи существует множество утилит, одной из лучших считается утилита SuperScan (http://www.foundstone.com), диалог которой приведен на 2.
Чтобы воспользоваться утилитой SuperScan, выполните такие шаги.
> В поле Start (Старт) введите начальный IP-адрес сканируемой сети.
> В поле Stop (Стоп) введите конечный адрес сканируемой сети.
В группе элементов управления Scan type (Тип сканирования) установите переключатель All list ports from (Все перечисленные порты в диапазоне).
> Щелкните на кнопке Start (Пуск).
В поле внизу диалога SuperScan отобразятся результаты сканирования. Как ви­дим, на компьютере с IP-адресом 1.0.0.1 открыт порт протокола HTTP и запу­щен сервер 5.0, так что мы получили нужный результат - наличие в сети сер­вера Web. И хотя мы экспериментируем в нашей локальной интрасети (чтобы никого не обидеть), процедура получения этих сведений в Интернете выполняется подобным образом.
Инвентаризацию общих ресурсов найденного сервера можно выполнить с помо­щью чрезвычайно популярной программы Legion (http://packetstormsecurity.org/ groups/rhino9), результат применения которой к найденному хосту с IP-адресом 1.0.0.1 представлен на 3.
Теперь, зная о наличии по данному сервера IIS 5, нас сразу же начинает
интересовать вопрос - можно ли взломать доступ к этому серверу, и каким обра­зом? Обсудим эту тему поподробнее.
#Злом сервера 115 5
Хакинг сервера базируется на уязвимостях программных средств сервера, основанных на протоколах HTTP (Hypertext Transfer Protocol - Протокол пере­дачи гипертекста) и CGI (Common Gateway Interface - Общий шлюзовой интер­фейс), а также на уязвимых сценариях сервера открывающих доступ к ре­сурсам серверного компьютера.
Протокол HTTP описан, например, в [12], и его функция - обеспечение взаи­модействия сервера и клиента Web при запросе и получении текстовой ин­формации. Для этого протокол HTTP предоставляет несколько методов, основным из которых является метод GET. Когда Web-браузер запрашивает у
сервера информационный ресурс (скажем, текстовый файл), он использует
метод GET, одновременно указывая адрес ресурса, например,http://www.anyserver.corn/docurnents/order.html. Этот адрес указывает на файл order.html в каталоге /documents сервера которому соответствует каталог локальной файловой системы c:\inetpub\wwwroot\documents.
Протокол CGI описан, например, в [12], и он регламентирует удаленные вызовы серверных сценариев со стороны клиентов. Вызовы сценариев выполняются с помощью запросов протокола HTTP, которые имеют такой вид:
http://www.anysite.com/scripts/MyScript7napaMeTp1+Параметр2
Здесь MyScript - это название сценария, хранящегося в папке /scripts сервера IIS, a запись определяет фактические параметры, передаваемые
серверному сценарию MyScript. Сервер IIS определяет, что поступивший запрос предназначен для обработки сценарием, после чего запускает программу сценария, передает ей параметры и выполняет передачу результатов запроса клиенту.
Кроме протокола CGI, для работы со сценариями используются технологии ASP (Active Server Pages - Активные страницы сервера) и IS API (Internet Server
Programming Interface - Программный интерфейс сервера Интернет). В техноло­гии ASP вызов сценариев выполняется такой строкой запроса:
http://www.anysite.corn/scripts/MyScripts?napaivieTp1=3Ha4eHMe1&napaMeTp2= Значение2
В результате исполняется сценарий который, как правило, гене-
рирует новую страницу HTML. Интерфейс ISAPI предоставляет возможность удаленного вызова функций, хранимых в библиотеках ISAPI. Вызов этих функ­ций выполняется по такому запросу HTTP:
http://www.anysite.com/isapi.dll?riepeMeHHafl1&nepeMeHHafl2
Теперь, узнав некоторые сведения о работе сервера IIS, посмотрим, они мо­гут помочь работе хакера.
Хзкинг HflF
Протокол HTTP позволяет хакерам достичь много, поскольку его поддержка сервером не отличается надежной защитой от попыток несанкционированно­го доступа. В ранних версиях 2.0 достаточно было ввести такой адрес:
http://www.anysitexom/../../../../../winnt/secret.file
чтобы загрузить с Web-сервера информацию, содержащуюся в файле secret.txt. Это - пример ошибки в реализации системы защиты Windows, хранящей разре­шения на доступ к информационным ресурсам в списках ACL. В более новых версиях IIS эта ошибка исправлена, но ее можно найти у Web-серверов других производителей [3]. А взамен описанной уязвимости в последних версиях IIS имеются другие, и их список непрерывно пополняется, что можно видеть по со­общениям на сайтах, посвященных информационной безопасности, например,
SecurityLab.ru (http://www.securitylab.ru).
Чтобы исследовать такого рода уязвимости очень удобно использовать
утилиту netcat (http://www.atstake.com), (netcat - это очень мощный инстру­мент - недаром авторы [3] называют netcat основным орудием хакинга IIS). Проиллюстрируем использование netcat для атаки на сервер Sword-2000 нашей
экспериментальной сети, к услугам которой мы прибегаем на протяжении всей
книги. Для использования netcat в наших целях выполните такую процедуру.
v Запустите из командной строки компьютера утилиту netcat, выполнив
команду nc -vv 1.0.0.1 80.
После появления сообщения об открытии соединения с сервером введите строку GET / HTTP/ 1.0 и два раза нажмите клавишу Enierl- Результат пред­ставлен на 4.
Запрос GET / по умолчанию запрашивает файл из корневого каталога
сервера 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]
Теперь попробуем взломать доступ к компьютеру        с системой Windows
2000 (русифицированная инсталляция без всяких сервисных пакетов). Запустим утилиту netcat следующим образом:
nc -vv 1.0.0.7 80 < ddcode.txt
Как видим, мы получили доступ к файловой системе и можем делать
с ней что угодно! Но вот на сервер Sword-2000 (система Windows 2000 Advanced Server с Service Pack 2) такая атака уже не действует - компания Microsoft лик­видировала брешь в системе защиты, причем сразу после ее обнаружения в 2000 году. Также были ликвидированы уязвимости подобного рода, связанные с множеством других некорректно сформированных адресов в запросах,
описание которых можно найти во многих источниках, Однако многие ли об этом знают, и у многих ли системы Windows 2000 обновлены сер­висными пакетами?
Что же все-таки можно сделать с сервером, на котором установлены все сервис­ные пакеты и администраторы которых следят за обновлением программного обеспечения и настройками системы защиты? Имеется еще одна возможность, связанная с уязвимыми сценариями.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика