Жертвами APT-группы Hellhounds стали как минимум 20 российских организаций

Жертвами APT-группы Hellhounds стали как минимум 20 российских организаций

Жертвами APT-группы Hellhounds стали как минимум 20 российских организаций

Кибергруппа, которую в Positive Technologies условно назвали Hellhounds, проводит целевые атаки только на территории РФ и уже собрала как минимум 20 жертв. Используемый ею RAT-троян Decoy Dog был недавно обновлен и стал еще более скрытным.

Проведенное в ИБ-компании исследование показало, что Hellhounds больше всего интересуют госсектор, ИТ, а также космическая и энергетическая отрасли. Злоумышленники тратят большие усилия на сокрытие своей активности в сетях жертв; примечательно, что один из задействованных в атаках C2-доменов именовался maxpatrol[.]net ( был замаскирован под ресурс PT, разработчика продуктов линейки MaxPatrol).

Конечная цель данной APT-группы пока неясна, хотя эксперты зафиксировали один факт уничтожения ИТ-инфраструктуры, приостановившего деятельность компании-жертвы. Успеху атак Hellhounds в большой мере способствует отсутствие дополнительных средств мониторинга и антивирусов на Linux-серверах мишеней.

 

При разборе одной из недавних атак Hellhounds аналитики обнаружили новый вариант трояна Decoy Dog — модификации Pupy, инструмента удаленного администрирования и постоэксплуатации, совместимого с Windows и Linux.

Вредонос и его загрузчик скрывались в исполняемом файле /usr/bin/dcrond весом 9 Кбайт, защищенном с помощью модификации упаковщика UPX (на момент расследования ее детектировал лишь один антивирус из коллекции VirusTotal). В отличие от обычного UPX эта вариация распаковывает не исполняемый файл, а написанный на ассемблере шеллкод, использующий системные вызовы Linux.

Загрузчик Decoy Dog при работе обычно маскируется под легитимный сервис (cron, irqbalance) или библиотеку lib7.so. После запуска он сначала ищет признаки запуска под отладчиком, а затем считывает идентификаторы зараженного хоста и на их основе создает ключ для расшифровки конфигурации и основной нагрузки (CLEFIA 128-бит).

Подвергнутый анализу образец Decoy Dog имел ряд существенных отличий от Pupy RAT:

  • код клиента переписан под Python 3.8, количество модулей сократилось;
  • добавлены новые функции, связанные с внедрением кода в ВМ Java;
  • добавлена функция телеметрии (отправляет данные на аккаунт @lahat в соцсеть mindly.social через API);
  • добавлены новые транспорты, изменена криптосистема (ECPV и RC4 вместо RSA и AES);
  • реализована возможность загрузки динамического конфигурационного файла (обновления) с сохранением в зашифрованном виде на диске (AES-CTR и brainpoolP384r1);
  • добавлен новый канал связи (локальное соединение с помощью IP-адреса и порта или файлового сокета);
  • встроен DGA-генератор для организации C2-связи (в качестве резервного способа).

 

«Decoy Dog — интересный и сложный троян, а новая модификация сделала его почти невидимкой, — отметил Денис Кувшинов, руководитель отдела исследования ИБ-угроз экспертного центра PT. — Он хорошо скрывает себя в потоке данных, мимикрируя под легитимный трафик, собирает интересные APT-группировке данные и выгружает их в малоизвестную социальную сеть на основе открытого движка Mastodon».

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