Когда мы ищем уязвимость, именно пользователи чаще всего являются самым слабым звеном. Это неудивительно, потому что их действительно легко обмануть. Один из способов сделать это называется «кликджекинг» (clickjacking). Этот тип атаки провоцирует жертву кликнуть куда-нибудь, куда она кликать не собиралась, и это «куда-нибудь» полностью контролируется атакующим. В составе Burp Suite имеется весьма полезный инструмент под названием Clickbandit, который может автоматически сгенерировать кликджекинг-атаку.

Обзор Clickjacking-атак

Кликджекинг — это техника, суть которой заключается в том, чтобы обманом вынудить пользователя кликнуть на какой-то элемент на веб-странице (обычно это кнопка или ссылка), использующий несколько слоев. Когда пользователь делает это, он кликает только на верхний слой. Это делается путем использования скрытых iframe-элементов, текстовых полей или CSS-стилей. Clickjacking также иногда называют «UI redressing», что можно перевести как «исправление пользовательского интерфейса». Само слово clickjacking является комбинацией слов «click» and «hijacking». Таким образом, злоумышленник по сути «крадет» клики пользователя, с целью выполнения определенных действий без его ведома.

В последние годы «лайки» Facebook стали целью этого типа атак. Это явление назвали Likejacking. По сути, ничего не подозревающие пользователи обманом лайкают страницы фейсбука, хотя делать этого на самом деле они не собирались.

Продемонстрируем, как быстро и просто можно провернуть кликджекинг-атаку. В этом руководстве мы будем использовать Mutillidae — специальную виртуальную машину с уязвимостями и Burp Suite.

Использование Clickbandit для выполнения атаки

Для начала нам нужно запустить Mutillidae и Burp Suite. Далее мы сконфигурируем Burp, чтобы он работал в качестве прокси в браузере, тогда мы сможем перехватывать запросы.

В Firefox перейдите в «Настройки» («Preferences») и прокрутитесь вниз раздела «Параметры сети» («Connection Settings»). Кликните по кнопке «Настроить» («Settings»), выберите «Ручная настройка прокси» («Manual proxy configuration») и введите 127.0.0.1 в качестве HTTP-прокси и 8080 в качестве порта. Теперь установите флажок «Использовать этот прокси-сервер для всех протоколов» («Use this proxy server for all protocols») и убедитесь, что поле под словами «Не использовать прокси для» («No proxy for») пустое. Кликните «ОК», и мы будем готовы двигаться дальше.

Читать также:  Основы системы обнаружения вторжений Snort. Часть 1 — установка

В Burp перейдите на вкладку «Прокси» («Proxy») и убедитесь, что «Перехват включен» («Intercept is on») включен. Затем, вернувшись в Mutillidae, просто перейдите на домашнюю страницу, на которой мы и выполним clickjacking-атаку. Теперь в Burp мы должны увидеть запрос.

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

Следуя инструкциям, нажмите кнопку «Копировать Clickbandit в буфер обмена» («Copy Clickbandit to clipboard»), чтобы скопировать скрипт в буфер обмена. Затем в браузере вернитесь на домашнюю страницу Mutillidae. В Burp мы можем либо переслать запрос, либо отключить функцию перехвата, чтобы перезагрузить страницу.

Далее нам нужно получить доступ к JavaScript-консоли в браузере. В Firefox мы можем щелкнуть правой кнопкой мыши и выбрать «Исследовать элемент» («Inspect element»), а затем перейти на вкладку «Консоль» («Console») в верхней части окна. Теперь мы можем вставить скрипт в консоль (в поле с >>) и нажать Enter.

После этого в верхней части браузера должен появиться баннер Clickbandit, в котором отображаются кнопки запуска и завершения (проверки концепции). Мы также можем установить галочку на опции «Отключить действия по кликам» («Disable click actions») для того, чтобы наши клики не регистрировались во время записи атаки.

Теперь нам нужно выполнить серию тех кликов, которые должна сделать жертва. В нашем случае нужно просто кликнуть по кнопке «Войти/Зарегистрироваться» («Login/Register»). Когда закончите, кликните по кнопке «Готово» («Finish»). Вам будет представлен для подтверждения шаблон для проведения кликджекинга.

Здесь также есть настройки для увеличения или уменьшения масштаба, включения прозрачности, перемещения позиции iframe-элемента с помощью клавиш со стрелками или выполнения атаки заново. Если вы довольны результатом, нажмите кнопку «Сохранить» («Save»), чтобы локально сохранить предлагаемую вам идею страницы для кликджекинга в виде HTML-файла для последующего изменения и использования.

Читать также:  Как взломать аккаунт Facebook без изменения пароля

Когда атака будет выполнена и жертва кликнет по невидимому iframe-элементу, появится сообщение об уязвимости.

На этом этапе это сообщение можно изменить в HTML-файле или можно вставить в эту страницу более злобный код.

Предотвращение Clickjacking-атак

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

Одним из самых простых способов защиты на стороне клиента является использование специальных расширений для браузера, например NoScript , у которого есть функция, не позволяющая пользователям нажимать на невидимые или встроенные объекты.

Другой более надежный подход заключается в использовании фрейм-предков Content Security Policy, своего рода наследника заголовка X-Frame-Options, который запрещает использование фреймов в чужих потенциально вредоносных доменах. Еще один способ защиты от кликджекинга состоит в том, чтобы просто иметь код, который бы делал текущий фрейм самым верхним уровнем пользовательского интерфейса.

Заключение

Clickjacking может быть весьма ценным орудием атаки в правильных ситуациях, но ручная подготовка к таким атакам занимает довольно много времени. У Burp Suite есть функция Clickbandit, которая позволяет автоматизировать этот процесс. После того, как будет создана страница для проведения атаки и вы на практике убедитесь, что уязвимость существует, то все, что требуется для успешного завершения атаки — это немного покреативить в ее кастомизации под нужную ситуацию.

Отказ от ответственности: Эта статья написана только для образовательных целей. Автор или издатель не публиковали эту статью для вредоносных целей. Если читатели хотели бы воспользоваться информацией для личной выгоды, то автор и издатель не несут ответственность за любой причиненный вред или ущерб.
Показать больше в Обучение

Проверьте также

Как взломать аккаунт Facebook без изменения пароля

Содержание:Как получить пароль от Facebook-аккаунта?Как взломать Facebook-аккаунт через во…