Mo4x
17.07.2007, 23:47
By Xakep.ру
Подразумевается, что читатель в курсе того, что такое XSS.
Для понимания того, что такое XSS туннель и как он работает прежде всего необходимо понять что такое XSS канал и как он работает.
Что такое XSS канал
XSS канал - интерактивный коммуникационный канал между двумя системами открытый при помощи XSS атаки. С технической точки зрения это тип AJAX приложения которое может принимать команды, посылать ответ и делать это между разными доменами.
XSS шелл это инструмент для установления XSS канала между жертвой и атакующим, так что нападающий получает контроль над броузером жертвы и может посылать ему команды. Соответственно коммуникация в таком случае двунаправленная.
Для получения XSS шелла необходимо внедрить соответствующий JavaScript при помощи XSS атаки. После загрузки скрипта хакер и получает контроль над броузером жертвы - он может видеть запросы, ответы серверов и может полностью управлять броузером.
Пример такой атаки приведен ниже:
http://www.xakep.ru/post/39274/XSS1.gif
Как работает XSS шелл
http://www.xakep.ru/post/39274/XSS2.gif
Приложения такого рода имеет три основных части.
Во-первых, серверная часть - она координирует обмен данными между нападающим и его жертвой. В данном случае ему требуется ASP и IIS, база MS Access для хранения данных.
Во-вторых - клиентская часть, написанная на JavaScript. Она загружается в броузер жертвы и отвечает за получение и обработку команд , обеспечивая существование канала между хакером и его жертвой. Код был протестирован под Firefox, IE 6 и 7.
Ну и наконец заключительная часть XSS шелла - административный интерфейс. Атакующий может посылать команды и получать ответы от жертвы мгновенно через свой интерфейс. Обратно используется ASP и IIS.
http://www.xakep.ru/post/39274/XSS1.jpg
Все следующие шаги не требуют непрерывного взаимодействия и непрерывно проверяют запросы и ответы с определенным временным интервалом.
Атакующий находит веб-сайт с XSS уязвимостью и возможностью вызова удаленного XSS шелла, JavaScript-а.
Жертва следуя линку или посещая страницу выполняет скрипт в пределах домена.
Броузер жертвы начинает выполнять периодические запросы к серверу XSS шелла для получения новых команд.
При получении таковых (например получить куки, выполнить JavaScript и т.п.) выполняет их и возвращает результаты к XSS шеллу.
Атакующий может передавать новые команды и получать результаты через административный интерфейс.
Почему это лучше классической XSS атаки?
Атакующий получает более "одного выстрела".
После заражения жертвы атакующий получает
ответ и может построить дальнейшие свои действия
основываясь на полученной информации и
складывающейся ситуации.Такая атака позволяет
обходить ограничения.Позволяет
получитьсвоеобразный XSS ботнет.
Что такое XSS туннелинг?
Соответственно XSS туннелирование - пропускание HTTP трафика через открытый XSS канал. XSS туннель - стандартный HTTP прокси, сидящий на системе хакера. Любая утилита, сконфигурированная на его использование, будет передавать данные через активный XSS канал на сервере XSS шелла. XSS туннель конвертирует запросы и ответы прозрачно для соответствия требованиям HTTP запросов и XSS шелла.
XSS туннель написан на .NET и конечно требует .NET Framework.
http://www.xakep.ru/post/39274/XSS2.jpg
Как работает XSS туннель
XSS туннель соединяется с определенным XSS шеллом и получает текущий активный идентификатор (жертву, которую будет контролировать).
Локальный HTTP клиент (броузер, сканер и т.д.) посылает HTTP запрос к XSS туннелю.
- Он конвертирует HTTP запрос в запросы, которые может понять и обработать XSS шелл. Затем он посылается на сервер XSS шелла.
- Сервер сохраняет запрос в базу (все запросы действительны только для определенной жертвы, его ID можно видеть в админке туннеля).
Клиент XSS шелла делает периодические запросы к серверу для получения команд. Процесс этот требует междоменного чтения, так что XSS шелл использует загрузку удаленных JavaScript-ов для обхода политики безопасности.
- Если есть какие-либо команды, клиент загружает их и обрабатывает и отправляет ответ на сервер.
XSS туннель проверяет сервер XSS шелла на наличие ответа на предыдущий запрос. Если он есть, то превращает его в правильный HTTP ответ и посылает клиенту. По умолчанию XSS туннель кэширует различные файлы для ускорения процесса и выдает их из кэша если они в нем существуют.
Схема атаки
Установить XSS шелл сервер.
Сконфигурировать XSS туннель на использование XSS шелл сервера.
Подготовить XSS атаку.
Запустить XSS туннель и ждать жертв.
Сконфигурировать программы или броузер на использование XSS туннеля.
При появлении жертвы в XSS туннеле, начать использовать сконфигурированную пунктом ранее программу.
Описанные инструменты ты можешь скачать тут:
http://www.portcullis-security.com/16.php
Подразумевается, что читатель в курсе того, что такое XSS.
Для понимания того, что такое XSS туннель и как он работает прежде всего необходимо понять что такое XSS канал и как он работает.
Что такое XSS канал
XSS канал - интерактивный коммуникационный канал между двумя системами открытый при помощи XSS атаки. С технической точки зрения это тип AJAX приложения которое может принимать команды, посылать ответ и делать это между разными доменами.
XSS шелл это инструмент для установления XSS канала между жертвой и атакующим, так что нападающий получает контроль над броузером жертвы и может посылать ему команды. Соответственно коммуникация в таком случае двунаправленная.
Для получения XSS шелла необходимо внедрить соответствующий JavaScript при помощи XSS атаки. После загрузки скрипта хакер и получает контроль над броузером жертвы - он может видеть запросы, ответы серверов и может полностью управлять броузером.
Пример такой атаки приведен ниже:
http://www.xakep.ru/post/39274/XSS1.gif
Как работает XSS шелл
http://www.xakep.ru/post/39274/XSS2.gif
Приложения такого рода имеет три основных части.
Во-первых, серверная часть - она координирует обмен данными между нападающим и его жертвой. В данном случае ему требуется ASP и IIS, база MS Access для хранения данных.
Во-вторых - клиентская часть, написанная на JavaScript. Она загружается в броузер жертвы и отвечает за получение и обработку команд , обеспечивая существование канала между хакером и его жертвой. Код был протестирован под Firefox, IE 6 и 7.
Ну и наконец заключительная часть XSS шелла - административный интерфейс. Атакующий может посылать команды и получать ответы от жертвы мгновенно через свой интерфейс. Обратно используется ASP и IIS.
http://www.xakep.ru/post/39274/XSS1.jpg
Все следующие шаги не требуют непрерывного взаимодействия и непрерывно проверяют запросы и ответы с определенным временным интервалом.
Атакующий находит веб-сайт с XSS уязвимостью и возможностью вызова удаленного XSS шелла, JavaScript-а.
Жертва следуя линку или посещая страницу выполняет скрипт в пределах домена.
Броузер жертвы начинает выполнять периодические запросы к серверу XSS шелла для получения новых команд.
При получении таковых (например получить куки, выполнить JavaScript и т.п.) выполняет их и возвращает результаты к XSS шеллу.
Атакующий может передавать новые команды и получать результаты через административный интерфейс.
Почему это лучше классической XSS атаки?
Атакующий получает более "одного выстрела".
После заражения жертвы атакующий получает
ответ и может построить дальнейшие свои действия
основываясь на полученной информации и
складывающейся ситуации.Такая атака позволяет
обходить ограничения.Позволяет
получитьсвоеобразный XSS ботнет.
Что такое XSS туннелинг?
Соответственно XSS туннелирование - пропускание HTTP трафика через открытый XSS канал. XSS туннель - стандартный HTTP прокси, сидящий на системе хакера. Любая утилита, сконфигурированная на его использование, будет передавать данные через активный XSS канал на сервере XSS шелла. XSS туннель конвертирует запросы и ответы прозрачно для соответствия требованиям HTTP запросов и XSS шелла.
XSS туннель написан на .NET и конечно требует .NET Framework.
http://www.xakep.ru/post/39274/XSS2.jpg
Как работает XSS туннель
XSS туннель соединяется с определенным XSS шеллом и получает текущий активный идентификатор (жертву, которую будет контролировать).
Локальный HTTP клиент (броузер, сканер и т.д.) посылает HTTP запрос к XSS туннелю.
- Он конвертирует HTTP запрос в запросы, которые может понять и обработать XSS шелл. Затем он посылается на сервер XSS шелла.
- Сервер сохраняет запрос в базу (все запросы действительны только для определенной жертвы, его ID можно видеть в админке туннеля).
Клиент XSS шелла делает периодические запросы к серверу для получения команд. Процесс этот требует междоменного чтения, так что XSS шелл использует загрузку удаленных JavaScript-ов для обхода политики безопасности.
- Если есть какие-либо команды, клиент загружает их и обрабатывает и отправляет ответ на сервер.
XSS туннель проверяет сервер XSS шелла на наличие ответа на предыдущий запрос. Если он есть, то превращает его в правильный HTTP ответ и посылает клиенту. По умолчанию XSS туннель кэширует различные файлы для ускорения процесса и выдает их из кэша если они в нем существуют.
Схема атаки
Установить XSS шелл сервер.
Сконфигурировать XSS туннель на использование XSS шелл сервера.
Подготовить XSS атаку.
Запустить XSS туннель и ждать жертв.
Сконфигурировать программы или броузер на использование XSS туннеля.
При появлении жертвы в XSS туннеле, начать использовать сконфигурированную пунктом ранее программу.
Описанные инструменты ты можешь скачать тут:
http://www.portcullis-security.com/16.php