[ Alex WebKnacKer ] Хакинг и антихакинг - защита и нападение. Книги удк 004. 056. 5Alex WebKnacKer
Скачать 42.38 Mb.
|
Воспроизведение такого кода браузерами IE 5 и IE 6 приведет к стопроцентной загрузке процессора и заполнению экрана пустыми диалогами. Если вы решите повторить этот и последующие эксперименты с кодом HTML, то предварительно закройте все приложения и за- пустите диспетчера задач, чтобы вовремя прекратить откры- тие все новых и новых диалогов. Хотя системы Windows 2000/XP с браузерами IE 5 и IE 6 устойчивы к ошибкам в кодах HTML, лучше подстраховаться. Переполнение памяти В других злонамеренных сценариях выполняют еще более простой трюк - запи- сывают переменную с очень длинным идентификатором. Например, в Листинге 8.2 идентификатор хххххх... ххххх содержит несколько тысяч символов X (здесь они не воспроизведены для экономии места). Листинг 8.2. Код HTML в сценарии var p = Результатом воспроизведения кода HTML из листинга 8.2 браузером IE версий 5 и б будет отображение сообщения об ошибке в строке оператора декларирова- ния переменной var p из Листинга 8.2. Список подобного рода «сценариев» и проделываемых с их помощью «трюков» воистину безграничен (примеры можно найти в [3], Мы, однако, не будем на них останавливаться и рассмотрим более сложный пример - запуск из кода HTML программ на клиентском компьютере. программ В [3] описан метод запуска любых локальных программ с помощью кода HTML, содержащего тег с ненулевым значением идентификатора (что это такое вы можете узнать из приложения А). В листинге код HTML, реализующий указанную возможность. ГЛАВА 8. Хакинг браузеров Web 117 Листинг 8.3. Запуск из кода HTML При загрузке кода из листинга 8.3 в браузер IE 6 отображается окно браузера, представленное Рис. and D... File Edit View Help a Edit View Help [ | MR MS Backspace Ч из 0 2 3 с / X | Opening page My Рис, 8.1. Запуск программы калькулятора из кода HTML В данном случае была запущена программа Калькулятор из папки однако ничего не мешает злоумышленнику за- пустить образом программу форматирования дисков локального ком- пьютера, расположенную в том же каталоге. Система защиты Web-браузеров построена таким образом, чтобы сценарии JavaScript, помещаемые в HTML-код Web-страниц, не имели доступа к локаль- ной файловой системе компьютера. Однако и здесь имеется лазейка, связанная с тегом предназначенном для внедрения в текст Web-страницы неболь- ших фреймов. В листинге 8.4 представлен код HTML, позволяющий сценарию прочесть файл, хранящийся в корневом каталоге клиентского компьютера C:\security.txt. 118 Быстро и легко. и Антихакинг Листинг 8.4. Открытие из Web-странички Чтение файла ГЛАВА 8. Хакинг браузеров Web 119 Злонамеренные и сценарии Элементы ActiveX представляют собой программы, включаемые в HTML-код Web-страницы для придания ей интерактивных возможностей. При загрузке браузером Web-страницы программа, реализующая элемент ActiveX, за- пускается и выполняет свои функции. Ясно, что для хакера нет лучшей возможно- сти для проникновения в компьютер Web-путешественника, чем загрузка браузером ActiveX, поскольку программный код ActiveX имеет те же права доступа к информационным ресурсам, что и учетная запись пользователя браузера. Для защиты клиентов Интернета от такой угрозы создатель технологии ActiveX - компания Microsoft - включила в механизм обработки элементов ActiveX про- верку цифровых сертификатов, которые присваиваются каждому официально зарегистрированному элементу ActiveX уполномоченными организациями (например, Verisign Corporation). И если параметры безопасности Web-браузера настроены корректно, то автоматический запуск не сертифицированных элемен- тов ActiveX будет исключен - как минимум, пользователю будет отображаться сообщение о загрузке потенциально опасного элемента ActiveX. Теоретически, такой механизм обеспечения безопасности выглядит безупречно, однако, как показывают исследования, проводимые отдельными специалистами в области компьютерной безопасности (интересные результаты можно найти на сайте http://www.guninski.com), на практике все обстоит далеко не так гладко. Причина тому - ошибки реализации и беспечность пользователей, которые час- то не обращают внимания на мелькающие сообщения о загрузке не сертифици- рованных ActiveX и соглашаются на их загрузку, не думая о последствиях. С элементами ActiveX связаны многие возможности хакинга клиентов Интернета, и множество примеров можно найти на сайте http://www.guninski.com. Обсу- дим некоторые из этих возможностей, отобрав их по принципу полезности для достижения желанной цели - доступу к информационным ресурсам компьютера. Безопасные для сценариев элементы ActiveX Во время работы система Windows активно использует множество элементов ActiveX. Когда в странице Web, загруженной с Web-сайта, встречается тег со ссылкой на элемент ActiveX, браузер ищет в системе Windows тре- буемый элемент ActiveX и далее либо использует для воспроизведения страни- цы найденный элемент ActiveX, либо загружает его из указанного места в Web. При этом выполняется, как указано выше, проверка цифрового сертификата элемента ActiveX. И вот тут-то и возникает некоторая проблема. Часть элементов ActiveX системы Windows имеет установленный параметр safe for scripting (безопасные для сценариев), что отменяет проверку их сертификатов 120 Быстро и легко. и при загрузке из Web. И вот, исследуя некоторые элементы ActiveX, помеченные как безопасные для сценариев, известный специалист Георгий Гунинский (Georgi Guninski) нашел следующую уязвимость. Оказалось, что некоторые из таких ActiveX, а именно, элементы Scriptlet и Eyedog, имеют изъян реализации, позволяющий нарушить систему защиты браузера IE 4. Для демонстрации этой уязвимости на сайте http://www.guninski.com был предложен HTML-код экс- плойта (эксплойт - код, использующий ту иную брешь в системе безопасно- сти), иллюстрирующего возможности элемента Scriptlet по записи и редактиро- ванию файлов на локальном компьютере, и элемента Eyedog по извлечению из системного реестра Windows различных данных. Все эти возможности реализо- вывались для браузера IE 4 на системах Windows 9x. В системах Windows 2000/XP также имеются свои элементы ActiveX, отмечен- ные как безопасные для сценариев, и угроза их использования для взлома систе- мы защиты браузеров IE 5 и IE 6 остается актуальной [3]. Таким образом, на ка- ждом компьютере Windows 2000/XP потенциально находятся, так сказать, «спя- щие троянские кони», только и ждущие своего хозяина. Как сказано в [3], от мыслей по поводу появляющихся при этом возможностей просто «захватывает дух» - ведь среди якобы безопасных ActiveX могут находиться элементы с весьма обширными функциями. Так что, надо думать, появление мощных инст- рументов хакинга, опирающихся на описанную выше уязвимость, не за горами. В Листинге 8.5 содержится код HTML, использующий недостатки реализации двух функций браузера выполняющих проверку принадлежности к домену, для чтения локального файла. (Этот код HTML разработан Георгием Гунинским и его, как и множество других примеров, можно найти на сайте http://www.guninski.com). Листинг 8.5. Открытие локальных файлов из сценария сценарий прочел следующее: при- дется создать Загрузка кода из листинга 8.5 в браузер IE 6 приводит к отображению страницы, представленной на Рис. 8.3. ГЛАВА 8. Хакинг браузеров Web 121 - Inlecnel File Edit View Favorite! Help © | Sea,ch Microsoft большой секрет OK | Done 0 В в • в || || || My Рис. 8.3. На странице содержится текст локального файла security.txt Как видим, содержимое файла security.txt стало доступным для сценария и, стало быть сценарий может передать содержимое файла security.txt на Web-сервер, с которого была загружена эта страничка, или передать содержимое файла по любому другому адресу Интернета. Так что, зная расположение важных фай- лов Windows, можно попробовать извлечь их содержимое, помещая на сайтах Интернета такого рода странички и сценарии сбора извлеченных данных. Польза от таких действий несомненна - ведь эти файлы могут содержать многое. Например, очень много могут рассказать файлы куки (cookie), сохраняемые Web-браузерами для связи с различными ресурсами Web. Файлы Файлы куки - это настоящее золотое дно для понимающих в этом толк хакеров. В файлах куки может сохраняться все - пароли доступа к платным ресурсам Интернета, фамилии и имена пользователей, телефоны, адреса, и так далее и тому подобное - короче говоря, в них фиксируется все результаты пребывания пользователя в наиболее интересных местах Web. Получив в свое распоряжение файлы куки, хакер наконец-то добирается до всего того, что зовется этим слад- ким словом «халява». Чтобы получить файлы куки, хакер может прибегнуть к снифингу, прослушивая локальную сеть с помощью программы, подобной SpyNet (см. Главу 17), или воспользоваться недостатками системы защиты Web-браузера, которые позво- ляют обратиться к локальным файлам компьютера. Для иллюстрации такой воз- можности организация PEACEFIRE на странице своего сайта http://www.peacefire.org/security/iecookies предлагает код JavaScript, отображающий содержимое файлов куки сайта, адрес которого пользователь должен ввести в поле формы, представленной на Рис. 8.4. 122 Быстро и легко. Хакинг и Explorer cookies are world-readable - Microsoft Internet Ex.. File Edit View Favorites Tools Help | If you have Internet Explorer for Windows, type a domain (e.g. "yahoo.com" or "hotmail.msn.tom") in the space below, and click to view a page on Feacefire.org that will display your cookie for that domain: (You must click the button to submit the domain name — will not work) lMySite.com Click to view cookie 1 Or you can go to a demonstration at the following URL, to see a of information that is exposed by cookies set from Amazon.com, MP3.com, and other popular sites: (hosted by A 8.4. Щелчок на кнопке формы отображает содержимое фатов указанного сайта Вы сами можете испытать прочность своего браузера к такой атаке. Суть ее в том, что раз браузеру удалось прочесть файл куки для указанного с помощью сценария в загруженной страничке, то уж передать содержимое куки по назначению - дело техники. Для этого в сценарий Javascript следует вклю- чить операцию передачи сообщений по электронной почте, прямо на хакерский почтовый адрес. Ясно, что этим создается угроза раскрытия конфиденциально- сти куки, а ведь в них может содержаться очень много «вкусных» данных. Технология такой атаки весьма проста, и описывается на этой же Web-страничке по адресу http://www.peacefire.org/security/iecookies. Включив в сценарий Javascript, обрабатывающий событие щелчка на кнопке Click to view cookie (Щелкните для просмотра куки), некорректный адрес ссылки на сайт, рассы- лающий файлы куки, можно заставить браузер «выболтать» содержимое куки кому угодно. К сожалению, такая технология взлома срабатывает не всегда, и успех ее применения зависит от версии и типа браузера, а также настроек системы защиты. сценарии Кроме помещения сценария непосредственно в хакер может применить сервер Web, генерирующий Web-странички в ответ на запросы поль- зователя. Для этого на сервер Web следует поместить который после щелчка на ссылке в Web-странице, перешлет ему злонамеренный код. Пример такой ссылки представлен в Листинге 8.6. Листинг 8.6. Отправка самому себе злонамеренного кода HTML ГЛАВА 8. Хакинг браузеров Чтобы воспользоваться нашей услугой, <А 124 Быстро и легко. Хакинг и Сейчас мы опишем технику фальсификации Web-сайта, имитирующего виртуаль- ный по продаже «виртуального воздуха» всем богатеньким и тупым Эта техника достаточно проста и заключается в помещении на Web-странице злоумышленника ссылки на сценарий, генерирующий прямо на компьютере пользователя фальсифицированный ресурс. В листинге 8.7 приведен пример кода HTML, реализующего фальсифицированный Интернет- магазин. Листинг 8.7. Пример документа HTML |