Атака на Web сайты с перенаправлением через поисковые системы

Атака на Web сайты с перенаправлением через поисковые системы

Неизвестные злоумышленники, воспользовавшись уязвимостью большого количества сайтов, включая сайт Microsoft.com, устанавливали пользователям вредоносное ПО.

Всего около недели тому в США было закрыто две компании, занимающиеся продажей поддельных антивирусных решений. Ровно столько времени понадобилось «новому игроку», чтобы завоевать рынок продаж поддельного антивирусного ПО. Злоумышленники использовали приемы SEO для размещения ссылок на загрузку поддельных антивирусных решений в поисковых системах. Для того, чтобы обмануть пользователей, в качестве «прокси» страниц использовались легитимные сайты, содержащие функционал перенаправлений. Злоумышленникам удалось разместить в поисковиках более миллиона ссылок на десятки тысяч поисковых фраз на сайты популярных online изданий, университетов и сайты microsoft.com и irs.gov.

Например, по запросу «Microsoft Office 2002 download» поисковик Google разместил на первое место ссылку на механизм перенаправления на сайте Microsoft. Пользователи, которые выбрали первую ссылку из результатов поиска, были перенаправлены на злонамеренный сайт, где злоумышленники пытались заставить пользователей скачать и установить поддельный антивирус.

Поддельное антивирусное ПО устанавливает на систему килогер для кражи учетных данных и сообщает о необходимости приобретения программного обеспечения System Security при посещении любого Web сайта.

В данный момент уязвимость на сайте microsoft.com устранена, но существует очень большое количество сайтов, которые смогут использовать злоумышленники для подобных атак.

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

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

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

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

RSS: Новости на портале Anti-Malware.ru