Расширенный вариант GoCaracal использует смарт-контракт Ethereum для получения резервного адреса C2

Исследователи Arctic Wolf обнаружили ранее не описанное вредоносное ПО на Go в атаке на организацию в сфере коммуникаций в Венесуэле. Его расширенный вариант при повторных сбоях основного C2 может получать новый адрес из смарт-контракта Ethereum.

Расширенный вариант GoCaracal использует смарт-контракт Ethereum для получения резервного адреса C2

Исследователи Arctic Wolf сообщили о ранее не описанном вредоносном фреймворке GoCaracal, обнаруженном во время июньского проникновения в неназванную организацию в сфере коммуникаций в Венесуэле. Компания со средней степенью уверенности связывает активность с группировкой Dark Caracal.

GoCaracal написан на Go и существует как минимум в двух вариантах. Облегчённый вариант собирает сведения о системе, поддерживает зашифрованное соединение с сервером управления, даёт злоумышленникам удалённый доступ к командной оболочке, загружает и запускает полезную нагрузку, а также может внедрять шелл-код в процессы. После его развёртывания в этой же атаке применялся троян Bandook. По оценке Arctic Wolf, имеющихся данных недостаточно, чтобы считать GoCaracal заменой Bandook.

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

Особенность расширенного варианта GoCaracal — резервный способ получить адрес сервера управления. Сначала он пытается связаться с основным, заранее заданным C2-сервером. Если несколько попыток оказываются безуспешными, он отправляет запрос eth_getStorageAt к публичному Ethereum JSON-RPC-узлу и считывает из указанного смарт-контракта новый адрес. Этот адрес записывается в конфигурацию в памяти, после чего программа снова пытается установить обычное соединение с C2-сервером.

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

При этом в публичном отчёте Arctic Wolf нет подтверждённого случая, когда заражённый хост в расследуемом инциденте воспользовался этим механизмом и успешно переподключился по полученному адресу. Исследователи считают фишинг вероятным способом первоначального заражения, однако исходное письмо и SVG-вложение у пострадавшей организации они не получили. Оценка основана на тематике обнаруженных артефактов, прежнем шаблоне кампаний и более чем 100 связанных SVG-файлах, обращавшихся к тому же вредоносному хостингу.

Arctic Wolf опубликовала YARA-правило для облегчённого варианта GoCaracal, а также выборочные индикаторы компрометации: хеши файлов, домены, IP-адреса, данные Ethereum-контракта и кошелька и связанные с вредоносной программой пути на хостах. Полный набор индикаторов доступен клиентам компании.