Злоумышленники распространяют EtherRAT под видом техподдержки

EtherRAT, имплант удалённого доступа на Node.js, распространяют в кампании с выдачей себя за службу технической поддержки. Он получает адрес C&C через Ethereum и выполняет JavaScript-код, возвращаемый сервером.

Доставка и запуск импланта

Жертвы получают фишинговое письмо с поддельным PDF-файлом анкеты. Затем с ними связываются через Microsoft Teams с внешнего аккаунта, владелец которого выдаёт себя за системного администратора. Получив удалённый контроль, злоумышленники устанавливают HopToDesk и AnyDesk для закрепления, скачивают MSI-установщик v7.msi и используют портал ServiceNow жертвы для подготовки дальнейшего доступа.

Установщик помещает в локальный каталог данных приложения обфусцированный пакетный скрипт, файл JavaScript, замаскированный под файл с расширением .dat, и зашифрованный файл конфигурации. Пакетный скрипт при необходимости загружает с сайта nodejs.org легитимный рантайм Node.js версии 18.20.5, извлекает его и многократно ищет файл node.exe.

Загрузчик на JavaScript расшифровывает следующий этап, копирует бинарный файл Node.js под случайным именем и запускает новый процесс Node.js с флагом -. Конечная полезная нагрузка EtherRAT передаётся через стандартный поток ввода. Она выполняется в памяти, не сохраняясь в виде файла JavaScript, и может автоматически перезапускаться после завершения работы.

Связь с C&C и обнаружение

Ядро EtherRAT импортирует только базовые модули Node.js и поддерживает связь с контроллером. Полученные от сервера задачи выполняются с доступом к require и process. Операторы могут динамически загружать child_process, обращаться к файлам, выполнять команды и создавать сетевые соединения. Задачи могут выполняться параллельно, а возможности для постэксплуатации доставляются во время выполнения, а не встроены в образец.

Для разрешения основного адреса C&C EtherRAT параллельно отправляет запросы eth_call к семи публичным RPC-эндпоинтам. Он опрашивает контракт 0x788a5336c0ef70be87619a3c13a43050c426f7ec с селектором 0x7d434425, соответствующим функции getString(address). Бот выбирает URL, возвращённый чаще всего, и обновляет поиск примерно каждые пять минут. Если разрешить адрес не удаётся, EtherRAT переключается на резервный адрес necropatia[.]com.

Кошелёк оператора имеет адрес 0x6e044e19000487c4a6e6af15b4132a5561b5ee1f. Согласно транзакциям в блокчейне, смена адреса C&C обходится примерно в 0,02 доллара. Авторы отчёта рекомендуют при обнаружении коррелировать следующие признаки:

  • необычные пути выполнения Node.js;
  • процессы Node.js, запущенные с флагом -;
  • выполнение скриптов через стандартный поток ввода;
  • вызовы RPC с адресом контракта и селектором;
  • последующие соединения с разрешённым адресом C&C;
  • HTTP-запросы с заголовком X-Bot-Server.

В отчёте также описана связанная техника NullReceiver. Она кодирует IPv4-адрес в поле получателя транзакции Ethereum с нулевой стоимостью и устраняет фиксированные индикаторы контракта и calldata, используемые EtherRAT.

Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.

Ознакомиться подробнее с отчетом можно по ссылке.

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии:

Как мы обрабатываем данные: политика обработки персональных данных