Опубликован: 16.10.2006 | Уровень: специалист | Доступ: платный
Лекция 2:

Удаление, повреждение и отказ в доступе к данным

ПРОБЛЕМА. Исследование: новый анализ червя Code Red II

Данное исследование проведено компанией CNET New.com (© 2001). В июле 2001 г. червь под названием Code Red атаковал и заразил тысячи серверов Windows 2000. Несколькими неделями спустя, в августе 2001 г., мутировавшая форма червя под названием Code Red II использовала тот же механизм, что и Code Red, для заражения уязвимых серверов IIS, на которых не была устранена прямая опасность переполнения буфера в idq.dll, или не были удалены отображения сценариев ISS ISAPI.

Совет. О том, как устранить уязвимое место, связанное с возможностью переполнения буфера, вы узнаете в "Подготовка и укрепление веб-сервера" .

За исключением механизма переполнения буфера для выполнения кода червя на уязвимом сервере IIS червь Code Red II коренным образом отличался от исходных вариантов червя Code Red CRv1 и CRv2.

Червь Code Red II имел несколько опасных особенностей. Самой серьезной из них являлось то, что червь создавал "черный ход" посредством размещения "троянского коня" в файле CMD.EXE на зараженном сервере, что делало систему абсолютно открытой для любого хакера.

Червь копировал файл %windir%\CMD.EXE в следующие места:

  • c:\inetpub\scripts\root.exe;
  • c:\progra~1\common~1\system\MSADC\root.exe;
  • d:\inetpub\scripts\root.exe;
  • d:\progra~1\common~1\system\MSADC\root.exe.

"Черный ход" позволял хакеру выполнять любые команды на взломанном сервере.

Кроме того, червь размещал на системе-жертве второго "троянского коня", являвшегося модифицированной версией файла explorer.exe (Диспетчер рабочего стола), который давал удаленному хакеру беспрепятственный доступ к корневым каталогам C: и D: после следующего входа пользователя в систему (если в системе не было устранено уязвимое место "Relative Shell Path"); это стало возможным благодаря способу, которым Windows по умолчанию осуществляет поиск исполняемых файлов.

Совет. В "Подготовка и укрепление веб-сервера" будет рассказываться о том, как устранить уязвимое место "Relative Shell Path", связанное с относительным путем оболочки.

По прошествии времени распространения инфекции система принудительно перезагружалась. При перезагрузке из памяти удалялся резидентный червь, а "черные ходы" и explorer.exe оставались на месте.

При первом попадании червя на компьютер-жертву и его выполнении осуществлялась проверка заражения данного сервера, в этом случае червь отключал сам себя. После создания "троянских коней" в виде файлов explorer.exe процессы создания файлов приостанавливались. Каждые 10 минут они повторялись с выполнением всех своих процедур, поэтому даже если администратор обнаруживал в реестре параметры, открывающие доступ к C: и D: и удалял их, через несколько минут "троянский конь" прописывал настройки заново.

Червь выбирал жертву, автоматически сканируя системы и определяя, устранены ли на них уязвимые места, связанные с файлом idq.dll и с отображениями сценариев ISS ISAPI, которые использовались для переполнения буфера. После успешного подключения к цели подпроцесс червя отгружал весь код червя на удаленный компьютер, ожидал подтверждения, после чего продолжал поиск и заражение других узлов.

Сценарии и Java-апплеты

Интерактивные веб-страницы, уязвимые для вредоносных сценариев и апплетов, являются довольно новым аспектом веб-безопасности. Это уязвимое место связано с использованием CGI на веб-серверах. Оно также зависит от возможности веб-серверов изменять содержимое сайтов с помощью предоставленного сервером кода (Java или Visual Basic), выполняемого в веб-браузере. В данную категорию уязвимых мест попадают сценарии JavaScript и VBscript, имеющиеся на HTML-страницах веб-сервера.

Вредоносный код, поступающий с веб-серверов, более разрушителен, чем вирусы и черви, особенно код Java, так как на клиентской части он практически не зависит от платформы и влияет на компьютеры Windows, UNIX, Mac, Palm или на любой другой с Java-совместимым браузером. Для выполнения апплетов или сценариев JavaScript в браузере достаточно лишь перейти на несущую страницу апплета.

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

Ниже приведено исследование, являющееся примером реальной атаки CSS, которая в данном случае не была вредоносной, однако вполне могла бы таковой стать.

ПРОБЛЕМА. Исследование: эксплоит Zkey

Данный материал заимствован из статьи SANS автора David Rothermel. В августе 2000 г. хакер использовал уязвимость портала хранилища данных .com под названием Zkey посредством выполнения вредоносного кода JavaScript с целью перехвата имен и паролей пользователей электронной почты Zkey. Данный эксплоит является примером атаки CSS.

Атака инициировалась посредством внедрения вредоносного кода JavaScript в сообщение электронной почты и отправки этого сообщения с учетной записи Zkey, использованной хакером, на другую учетную запись пользователя Zkey. Этот код вынуждал пользователей осуществлять вход в систему, посредством чего осуществлялось раскрытие имен пользователей и их паролей.

Сообщение электронной почты имело формат HTML, и код располагался в теге <textarea>. Поверх сообщения размещался прозрачный рисунок GIF, использовавший команду onMouseOver для запуска вложенного кода.

Данный код обманным способом перехватывал имена пользователей и пароли, отображая окна входа с сообщением "You timed out of your session, please log-in" ("Период ожидания вашей сессии истек, пожалуйста, войдите заново"). Когда пользователь вводил свои имя и пароль, они передавались в базу данных на сервер хакера, а не на сервер Zkey. Чтобы пользователь ничего не заподозрил, код направлял пользователя обратно на сервер Zkey и осуществлял его вход в систему для продолжения сеанса.

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

  • Загружать файлы с диска Z жертвы.
  • Удалять/заменять файлы на диске Z.
  • Осуществлять доступ и изменять контактную информацию жертвы.
  • Осуществлять доступ и изменять информацию, хранимую в календаре или расписании жертвы.
  • Изменять имя и пароль пользователя для запрета доступа пользователя к своей учетной записи.
  • Осуществлять доступ к любым общим устройствам диска Z из вторичных учетных записей.
  • Читать и удалять сообщения электронной почты Zkey или отправлять сообщения почты Zkey от имени жертвы.
  • Осуществлять доступ к электронной почте с любых вторичных учетных записей электронной почты, настроенных на проверку почты.

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

Антон Ворожейкин
Антон Ворожейкин
Россия, с. Новоселье
Дмитрий Клочков
Дмитрий Клочков
Россия, Рубцовск