Анализ кибератаки SERPENTINE#CLOUD: как три параллельные цепочки AutoIt обеспечили живучесть шпионского ПО для кражи банковских данных

remote access Trojan

В рамках продолжающегося анализа масштабной кибератаки, условно названной SERPENTINE#CLOUD, исследователи обнаружили сложный механизм обеспечения живучести (persistence), который оставался активным даже после многочисленных попыток очистки систем. В отличие от ранее изученных компонентов, использовавших Python, в данном случае злоумышленники применили скриптовый язык AutoIt для создания трёх независимых и чрезвычайно устойчивых цепочек закрепления в системе. Эти цепочки доставляли два различных типа вредоносного ПО: трояцы для удалённого доступа Remcos, настроенные на перехват данных из онлайн-банков, и скрытый клиент удалённого доступа PureHVNC. Инцидент демонстрирует эволюцию тактик злоумышленников, которые создают многослойную, само восстанавливающуюся инфраструктуру для целевых атак, в данном случае ориентированных на финансовые организации и их клиентов, преимущественно в Канаде.

Описание

Технический анализ показал, что в поражённых системах одновременно действовали три параллельные цепочки, каждая из которых маскировалась под легитимное бизнес-приложение. Вредоносные файлы размещались в каталоге %LocalAppData% под профессионально звучащими именами папок: «EcoOptimize Solutions», «WealthWise Analytics Inc» и «UrbanEco Innovations».

Ключевым элементом живучести стали задачи планировщика Windows (Scheduled Tasks) с безобидными именами вроде «Cancellation», «QuantifyPro» или «EcoMap». Эти задачи были настроены на перезапуск вредоносной полезной нагрузки каждые несколько минут, что делало ручное удаление практически бесполезным. Две цепочки, EcoOptimize и WealthWise, доставляли троянца удалённого доступа Remcos версии 7.0.1 Pro, в то время как третья, UrbanEco, использовалась для внедрения инструмента PureHVNC, обеспечивающего скрытое управление компьютером жертвы.

Основой для работы всех трёх цепочек служил один и тот же легитимный исполняемый файл - Singer.pif, представляющий собой переименованную копию подписанного цифровой подписью (Authenticode) интерпретатора AutoIt3.exe. Такой подход, известный как Bring Your Own Interpreter (BYOI, «принеси свой собственный интерпретатор»), значительно усложняет обнаружение, так как антивирусные средства видят лишь подписанный, доверенный код. Вредоносная логика была скрыта в скомпилированных скриптах AutoIt с расширением .a3x, которые интерпретировались этим легитимным файлом. Скрипты использовали сложную обфускацию, включая уплощение потока управления и специальное кодирование строк, а для извлечения конечной полезной нагрузки применяли цепочку операций: декодирование строки, её расшифровку алгоритмом RC4 (с уникальным ключом для каждой цепочки), декомпрессию с помощью алгоритма LZNT1 и, наконец, запуск PE-файла (Portable Executable) через технику «захолащивания процесса» (process hollowing).

Любопытной деталью является выбор процессов для внедрения. Цепочки с Remcos осуществляли захолащивание в легитимный системный процесс TapiUnattend.exe, тогда как PureHVNC, будучи .NET-сборкой, внедрялся в RegAsm.exe - компонент .NET Framework. Это свидетельствует о внимании операторов к деталям и адаптации методов под технические требования полезной нагрузки. Однако главным источником устойчивости оставались задачи планировщика. На одном из скомпрометированных компьютеров защитник Windows Defender зафиксировал и заблокировал процесс, запускаемый задачей «QuantifyPro», 3560 раз за двое суток. Задача перезапускала вредоносный код каждые ~69 секунд, создавая бесконечный цикл «обнаружение-удаление-перезапуск», при этом сам планировщик задач не мог быть удалён стандартными средствами защиты.

Наиболее тревожным аспектом атаки стала конфигурация доставляемого Remcos, ориентированная на банковское мошенничество. Конфигурационный файл, извлечённый из ресурсов вредоносной программы, содержал список из 62 ключевых слов, связанных с финансовой деятельностью. При открытии пользователем окна, заголовок которого содержал одно из этих слов (например, «RBC», «TD», «EasyWeb»), троянец начинал делать скриншоты каждые 5 секунд, сохраняя их в каталоге %PROGRAMFILES%\Spotify\ под видом данных легитимного приложения. Анализ списка ключевых слов выявил явный фокус на канадские банки: в перечне присутствовали все крупнейшие финансовые учреждения страны. Параллельно троянец вёл запись нажатий клавиш (кейлоггинг) в файл spotify.dat. Вся украденная информация отправлялась на управляющую инфраструктуру злоумышленников (C2, Command and Control), состоящую из девяти доменов, распределённых по пяти различным динамическим DNS-провайдерам, что усложняло её нейтрализацию. Для связи использовался взаимный TLS-аутентификация (mTLS) с сертификатами на основе эллиптических кривых (ECC P-256).

Сравнение двух экземпляров Remcos из цепочек EcoOptimize и WealthWise подтвердило, что их запустил один и тот же оператор. Пятьдесят четыре из пятидесяти восьми полей конфигурации были идентичны, включая уникальные и одинаковые для обоих образцов TLS-сертификаты и даже закрытый криптографический ключ. Незначительные отличия, такие как увеличение порта C2-сервера с 4056 на 4057 и сокращение списка ключевых слов с 62 до 50, указывают на активное совершенствование инструментария. Оператор отказался от отслеживания конкретных названий криптокошельков (Exodus, MetaMask) и уточнил таргетинг на банковские порталы, что говорит о смещении приоритетов в сторону именно банковского фрода.

Обнаружение PureHVNC в третьей цепочке позволило связать эту кампанию с более широкой экосистемой PureCoder. Инфраструктура C2 для PureHVNC (девять доменов с префиксом «nhvncpure») оказалась полностью идентичной той, что использовалась для другого вредоносного инструмента этой же группы - PureLogs, доставляемого через независимую цепочку на Python. Это демонстрирует стратегию злоумышленников по созданию избыточной, многослойной системы доставки и управления. Если один канал (например, Python-загрузчик) будет обезврежен, второй (AutoIt-цепочка) сохранит доступ к системе и позволит повторно развернуть весь арсенал.

Данный инцидент подчёркивает критическую важность мониторинга не только явно вредоносных процессов, но и легитимных инструментов, используемых в злонамеренных целях. Специалистам по информационной безопасности рекомендуется усилить контроль над планировщиком задач Windows, регулярно проверять автозагрузку в каталогах %LocalAppData% и %AppData%, а также настраивать системы обнаружения вторжений (IDS) на аномальную сетевую активность, направленную на нестандартные порты, такие как 4056, 4057 и 6757. Борьба с подобными сложными угрозами требует не разового реагирования, а реализации комплексной стратегии, включающей глубокий анализ событий, сегментацию сети и принцип наименьших привилегий для пользователей и приложений.

Индикаторы компрометации

IPv4

  • 91.219.238.167

Domains

  • homoney1.duckdns.org
  • homoney1.mooo.com
  • homoney17.duckdns.org
  • homoney17.twilightparadox.com
  • homoney177.click
  • homoney177.duckdns.org
  • homoney177.food
  • homoney177.shop
  • homoney177.strangled.net
  • nhvncpure.click
  • nhvncpure.duckdns.org
  • nhvncpure.sbs
  • nhvncpure.shop
  • nhvncpure.twilightparadox.com
  • nhvncpure1.strangled.net
  • nhvncpure2.mooo.com
  • nhvncpurekfl.duckdns.org
  • nhvncpureybs.duckdns.org
  • yrem472hd.duckdns.org

SHA256

  • 20443e8b4bc3e5b6fdd2cb582c4230791905c9088f05ae618d076de3bb1b45d1
  • 29648ce421e80a3d573bdae593d86c53343933373b400c8ce781dd22fbc82176
  • 378b201a0979aff7182edca69148269c9c6685064cac5b7cdcc98375af2fd123
  • 3bebd38df3714c052d9cb48fc8d779cd13e73c22ce8b37c287e5a9e6adbf8522
  • 40aa28c73cf1865bda0aba28708abe4dfb6c83d4f9fd123f719d9a0490050db1
  • 48d2265b561fb58e4864f9c3eee263eb6fcb858c53f2c630ac0d9c0ab1c7b410
  • 739a238220890cb4d65d8f696f9f73bb9390ef526875b2136e3bba6b03c7040a
  • 85b6e2db29ee84d25cc2d942fb181581279b87176880790fda0c3c60d9186ee2
  • 881619a47b62b52305d92640cc4d4845a279c23a5a749413785fc8fcb0fdf7fb
  • 91b4f6454440320d8fcfb08c721ef3925c39742ba3953dfbe376e0d382b4e60c
  • 9e709cf922e02bca148866fc84dc783c39e2f51adea4f9179fdd7a1381331fc9
  • dd492c49a69c45f21c47d41c87d6656d1b8c270e7f493affd728e03afb4c5a4b
  • e3074f9377f4d4b3d3140486cc0cfc5b4b00e583fdc583b716609713ff8e9307
Комментарии: 0