API Hammering как способ избежать детектирования в песочнице

API Hammering как способ избежать детектирования в песочнице

API Hammering как способ избежать детектирования в песочнице

Исследователи из Palo Alto Networks обнаружили образцы вредоносов Zloader и BazarLoader, использующие необычные способы реализации механизма API Hammering (от hammer — стучать, долбить). Эта техника маскировки позволяет сдержать исполнение вредоносного кода в песочнице за счет многочисленных мусорных вызовов API-функций Windows: пока они обрабатываются, зловред спит, и его намерения неясны.

Чаще всего для выполнения операции сна в контролируемой среде вредоносы, со слов экспертов, используют API-функцию Sleep. Более изощренный способ самозащиты предполагает циклическую отсылку ICMP-пакетов на какой-нибудь IP. Отправка и получение этих бесполезных пингов требуют времени, и запуск вредоносных функций в итоге происходит с задержкой.

Многие песочницы уже умеют выявлять подобные трюки, поэтому вирусописателям приходится искать другие способы, чтобы уберечь свои коды от детектирования во враждебном окружении. Одним из известных и менее распространенных способов антисэндбокса является API Hammering — использование огромного количества бессмысленных обращений к Windows API.

Загрузчик BazarLoader ранее с этой целью вызывал 1550 раз функцию printf. Новая версия, попавшая в поле зрения Palo Alto, использует длинный цикл обращений к произвольным ключам системного реестра (вполне легитимное поведение), который может повторяться произвольное число раз.

Количество итераций и список ключей реестра генерируются по месту. Зловред считывает из папки System32 первый файл подходящего размера, кодирует его, удаляя почти все нулевые байты, и вычисляет для итераций значение на основе сдвига первого нулевого байта в этом файле. Список ключей реестра тоже составляется с помощью закодированного файла — из фрагментов данных фиксированной длины.

Исследователи подчеркивают, что на разных Windows-машинах число итераций маскировочного цикла и создаваемые списки ключей реестра неодинаковы — из-за разницы в версиях ОС, наборах установленных обновлений и содержимого папки System32. Механизм API Hammering встроен в упаковщик BazarLoader и тормозит, таким образом, распаковку полезной нагрузки.

Модульный троян Zloader применяет ту же технику обхода сэндбокса, но вместо длинных повторяющихся циклов использует четыре больших подпрограммы с вложенными вызовами множества мелких процедур. Последние при выполнении обращаются к Windows API (каждая вызывает по четыре функции — GetFileAttributesW, ReadFile, CreateFileW и WriteFile). В сумме количество вводящих в заблуждение вызовов, которые генерирует зловред, превышает 1 млн, при этом его поведение схоже с легитимной программой, выполняющей файловые операции ввода-вывода.

Замаскированные ссылки в Telegram позволяют деанонимизировать людей

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

Как выяснилось, клиенты Telegram на Android и iOS автоматически пытаются подключиться к прокси-серверу, если пользователь нажимает на ссылку формата t.me/proxy?.... Причём соединение происходит напрямую, ещё до добавления прокси в настройки.

Proxy-ссылки Telegram предназначены для быстрой настройки MTProto-прокси — их часто используют для обхода блокировок и сокрытия реального местоположения. Обычно такая ссылка выглядит так:

t.me/proxy?server=IP&port=PORT&secret=SECRET

Но, как показали исследователи, такую ссылку легко замаскировать под обычное имя пользователя или «безопасный» URL. В сообщении она может выглядеть, например, как @username, хотя на самом деле ведёт на прокси-настройку.

Если пользователь нажимает на такую ссылку с телефона, Telegram автоматически проверяет доступность прокси, отправляя сетевой запрос напрямую с устройства. В результате владелец прокси-сервера получает реальный IP-адрес жертвы.

«Telegram автоматически пингует прокси до его добавления, запрос идёт в обход всех настроек, и реальный IP логируется мгновенно», — описывают механизм исследователи. Они называют это «тихой и эффективной точечной атакой».

Раскрытый IP-адрес можно использовать для определения примерного местоположения пользователя, таргетированных атак, DDoS или дальнейшего профилирования. Особенно опасной эта проблема выглядит для журналистов, активистов и пользователей, которые изначально используют Telegram и прокси именно ради анонимности.

Ситуацию впервые подробно описал телеграм-канал chekist42, а затем её подхватили исследователи и OSINT-аккаунты в X, опубликовав видеодемонстрации атаки.

В Telegram не считают происходящее полноценной уязвимостью. В компании заявили, что любой сайт или прокси-сервер в интернете может видеть IP-адрес посетителя, и это якобы не делает ситуацию уникальной.

«Любой владелец сайта или прокси видит IP-адрес пользователя вне зависимости от платформы. Это не более актуально для Telegram, чем для WhatsApp (принадлежит Meta, признанной экстремистской и запрещенной в России) или других сервисов», — сообщили в Telegram BleepingComputer.

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

Пока предупреждений нет, эксперты советуют быть особенно осторожными:

  • не кликать по подозрительным ссылкам t.me, даже если они выглядят как имена пользователей;
  • помнить, что прокси-ссылки могут быть замаскированы под обычный текст;
  • особенно внимательно относиться к таким ссылкам на мобильных устройствах.

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