Linux-бэкдору Bvp47 удалось почти десять лет избегать детектирования

Linux-бэкдору Bvp47 удалось почти десять лет избегать детектирования

Linux-бэкдору Bvp47 удалось почти десять лет избегать детектирования

Интересному бэкдору, работающему в операционных системах Linux и известному под именем Bvp47, удавалось десять лет уходить от детектирования. Этого вредоноса связывают с APT-группировкой Equation Group, действующей якобы в интересах Агентства национальной безопасности (АНБ) США.

Впервые Bvp47 попал на площадку VirusTotal в 2013 году, но, несмотря на это, оставался вне зоны детекта. Только вчера один из антивирусных движков, представленных на VirusTotal, выявил в бэкдоре что-то вредоносное.

 

Команда китайских специалистов в области кибербезопасности из компании Pangu Lab в ходе расследования одной из кибератак получила образец Bvp47. Согласно анализу, бэкдор заточен специально под работу в Linux и предоставляет операторам возможность удалённо управлять им. Кроме того, вредонос защищён ассиметричным алгоритмом шифрования RSA.

Ряд компонентов, фигурирующих в утечках Shadow Brokers — «dewdrop» и «solutionchar_agents» — были интегрированы в инфраструктуру Bvp47. Это свидетельствует о том, что бэкдор предназначен для работы в распространённых дистрибутивах Linux: JunOS, FreeBSD и Solaris.

Помимо этого, специалисты отмечают схожесть кода Bvp47 с другим семплом от Equation Group, предназначенным для систем Solaris SPARC. В «Лаборатории Касперского» заявили, что 34 из 483 строк совпадают между этими образцами.

В отчёте Pangu Lab исследователи подчёркивают, что бэкдор создала «организация, располагающая серьёзными техническими возможностями». Эксперты отметили шесть шагов атаки операторов Bvp47:

  1. Внешняя система (A) подключается к порту 80 почтового сервера (V1) для отправки запроса и запуске бэкдора.
  2. V1 подключается подключается к порту A, чтобы организовать так называемый конвейер данных.
  3. V2 (корпоративный сервер) подключается к веб-сервису, запущенному на V1 и получает команды PowerShell.
  4. V1 подключается к порту SMB для выполнения заданных операций.
  5. V2 устанавливает соединение с V1 и использует собственный протокол шифрования для обмена данными.
  6. V1 синхронизирует данные с A, при этом выступая в качестве передатчика информации.

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