Таинственный вредонос стоит за утечкой 26 млн паролей пользователей

Таинственный вредонос стоит за утечкой 26 млн паролей пользователей

Таинственный вредонос стоит за утечкой 26 млн паролей пользователей

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

Общий размер слитой БД составил 1,2 ТБ, в ней содержатся 26 миллионов учётных данных, 1,1 млн уникальных адресов электронной почты, более 2 миллиардов cookies и 6,6 млн других файлов. Об утечке сообщили исследователи из NordLocker.

Анализ базы данных показал, что в отдельных случаях пользователи хранили пароли в виде простого текста в файлах, созданных приложением «Блокнот». Помимо этого, в базе специалисты насчитали более миллиона изображений и более 650 тыс. документов в формате Word и PDF.

Вредоносная программа, перехватившая все эти данные, ещё умудрялась снимать скриншоты и делать фотографии с помощью встроенной веб-камеры (если такая была у пользователя). Также видно, что часть информации попала в БД из мессенджеров, почтовых клиентов, файлообменников и т. п. Исследователи пришли к выводу, что данные извлекли в период между 2018 и 2020 годами, а жертвами стали более трёх миллионов пользователей.

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

Расширения 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