Как потерять все пароли?

Как потерять все пароли
Содержание статьи

Как потерять все пароли?

При клике на ссылку вы можете потерять все пароли браузера. Как? Оказывается существует очень простой и универсальный вариант.

Для обычного пользователя ссылку будет на сервис официальный, но при клике мы увидим некую ошибку. Система предложит сама починить и нам достаточно согласиться.

Нас перебросит на новую страницу. И увы, именно в этот момент, хакерский скрипт заберет все ваши пароли и передаст третей стороне.

Вы ничего не узнаете до тех, пора пока в ряд сайтом вам будет закрыт доступ или более ужасный вариант — когда в сервисах от вашего лица начнутся покупки…

Как пользователю защититься от атаки? Ответ прост.

Не нужно хранить пароли в браузере. Для этого есть менеджеры паролей. Например, KeePass или KeePassXC.

Ниже подробная информация по такой методике взлома и рекомендации — как защитить себя.

Как воруют пароли?

Как потерять все пароли?

Как потерять все пароли?

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

Как происходит кража паролей?

Ссылка будет выглядеть примерно так:

Как происходит кража паролей? Для того, чтобы похитить пароль он сайта, который сохранен в браузере, злоумышленник присылает ссылку с вредоносным кодом.

Как происходит кража паролей? Для того, чтобы похитить пароль он сайта, который сохранен в браузере, злоумышленник присылает ссылку с вредоносным кодом.

Что происходит на экране пользователя?

  1. Пользователь переходит по ссылке. Подозрений она не вызывает: длинновата, но домен и сайт правильный.
  2. Срабатывает вредоносный код, который внедрен в URL.
  3. Скрипт крадет сохраненную в браузере связку логин / пароль от личного кабинета.
  4. На странице появляется какое-нибудь стандартное уведомление об ошибке.
    Срабатывает вредоносный код, который внедрен в URL. Скрипт крадет сохраненную в браузере связку логин / пароль от личного кабинета.

    Срабатывает вредоносный код, который внедрен в URL. Скрипт крадет сохраненную в браузере связку логин / пароль от личного кабинета.

  5. Пользователь кликает на «OK», и открывается главная страница сайта. Вот атака и произошла. Данные утекли. Ничего не заметили? Что же произошло за кадром?

Как пользователю защититься от атаки?

Ответ прост.

Не нужно хранить пароли в браузере. Для этого есть менеджеры паролей. Например, KeePass или KeePassXC.

Это удобно. Например, у KeePassXC есть плагин для браузера, который позволяет автоматически заполнять пароли для сайтов.

Чем это отличается от хранения паролей в браузере? KeePassXC тоже находит форму для логина и пароля от мошенника, но подставляет свою иконку в поле ввода. Пароль вводится плагином только после клика именно по этой иконке. Никакого самовольничества от программы.

Пароль вводится плагином только после клика именно по этой иконке.

Пароль вводится плагином только после клика именно по этой иконке.

Изменить внешний вид кнопки, чтобы вынудить на нее нажать, невозможно, так как у KeePassXC есть директива shadow-root(closed), которая не позволяет управлять внешним видом кнопок. То есть на кнопке будет такой значок:

Изменить внешний вид кнопки, чтобы вынудить на нее нажать, невозможно, так как у KeePassXC есть директива shadow-root(closed)

Изменить внешний вид кнопки, чтобы вынудить на нее нажать, невозможно, так как у KeePassXC есть директива shadow-root(closed)

Уязвимости благодаря которым происходит кража паролей

В нападении на пароли участвуют 2 рецидивиста, которые работают сообща:

  1. ReflectedXSS или StoredXSS. Встраивают вредоносный код.
  2. ClickJacking. Заставляет пользователя кликнуть на страницу, чтобы атака прошла успешно.

Суть атаки

XSS (Cross-Site Scripting) ― атака, когда на открываемую страницу внедряется вредоносный код, который может похищать данные, подменять содержимое страницы, перенаправлять пользователя на другой сайт и многое другое. У нее есть несколько типов:

  • ReflectedXSS. Злоумышленнику нужно отправить вредоносную ссылку и вынудить пользователя перейти по ней.
  • StoredXSS. Вредоносный код оседает в базе данных сайта и поджидает пользователя. То есть злоумышленнику не нужно вынуждать пользователя перейти по ссылке. Он может сам случайно открыть зараженную страницу.

Что происходит на технической стороне

Если расшифровать непонятный набор символов в ссылке, получится вот это:

Пример ссылки, чтобы украсть пароли браузера

Пример ссылки, чтобы украсть пароли браузера

  1. Шаги, которые проходит система:
  2. При переходе по ссылке загружается и выполняется JavaScript. Код создает на странице форму и поля с названиями, совпадающими с формой авторизации, чтобы браузер знал, куда подставить сохраненный пароль. Форма добавляется в самый низ. Так, чтобы ее никто не заметил.
    Код создает на странице форму и поля с названиями, совпадающими с формой авторизации, чтобы браузер знал, куда подставить сохраненный пароль. Форма добавляется в самый низ. Так, чтобы ее никто не заметил.

    Код создает на странице форму и поля с названиями, совпадающими с формой авторизации, чтобы браузер знал, куда подставить сохраненный пароль. Форма добавляется в самый низ. Так, чтобы ее никто не заметил.

  3. Чтобы браузер подставил пароль, нужно взаимодействие пользователя со страницей. На сцену выходит ClickJacking, который создает стандартное уведомление об ошибке, чтобы жертва нажала «OK».
  4. После нажатия на «OK» пароль отправляется к хакеру, а клиент возвращается на главную страницу.

Как не допустить уязвимости на сайте

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

Например, вместо <script> браузер видел:

То есть нужно так настроить систему, чтобы данные, которые приходят со стороны, воспринимались как обычный текст, даже если там заложен код.

То есть нужно так настроить систему, чтобы данные, которые приходят со стороны, воспринимались как обычный текст, даже если там заложен код.

И не воспринимал это как теги HTML.

Информация об уязвимости взята с сайта reg.ru