Эволюция Banana RAT: анализ двух ветвей вредоносного ПО, эксплуатирующих общую инфраструктуру

remote access Trojan

Эксперты в области информационной безопасности получили редкую возможность изучить эволюцию известного банковского трояна Banana RAT благодаря случайно обнаруженному публичному индексу на сервере 198.245.53[.]26. Этот сервер, доступный через поисковую систему Shodan, раскрыл не только файлы для загрузки вредоносных полезных нагрузок, но и внутренние инструменты злоумышленников, включая скрипты для автоматической генерации вариантов вредоносного ПО. Сопоставив два набора телеметрии, полученные в песочнице в мае и июне 2026 года, исследователи смогли увидеть, как авторы вредоносной программы модернизировали методы закрепления в системе, маскировки и каналов управления, сохраняя при этом привязку к одному и тому же промежуточному хосту.

Описание

Обнаруженный публичный индекс содержал не только файлы промежуточных стадий, такие как st.php, st2.txt и msedge.txt, но и операционные инструменты: servidor_completo_pool.py и ofuscador.py. Первый представляет собой сервер на базе FastAPI, который выступает в роли системы распространения полезных нагрузок с пулом предварительно сгенерированных вариантов. Он читает исходные файлы из каталога /var/www/html и предоставляет конечные точки /proteger, /warmup, /stats и /folders. Скрипт включает несколько слоёв обфускации, в том числе преобразование доменов, путей и строк, при этом явно защищает строки, связанные с запланированными задачами и записями реестра, от изменений. Такой подход соответствует работе живого конструктора вредоносного ПО, способного выдавать полиморфные варианты по запросу.

Второй скрипт, ofuscador.py, преобразует команды PowerShell в обёртку на основе восстановления символов ASCII внутри BAT-файла. Он преобразует каждый символ в его числовое значение, затем собирает команду обратно с помощью [char[]] и выполняет результат через iex. На выходе получается типичный односложный PowerShell, завёрнутый в BAT-файл, который служит начальной приманкой.

Старая ветвь, проанализированная 25 мая 2026 года, использовала фиксированные, легко распознаваемые пути установки, стилизованные под механизм трассировки событий Windows (ETW). Первоначальный файл Fatura-BtgPactual-22568.bat загружал промежуточный скрипт с сервера 198.245.53[.]26 по адресу /st.txt, а затем получал полную полезную нагрузку через /payload.php. На диске создавались файлы C:\Users\Public\Documents\msedge.txt, C:\ProgramData\Microsoft\Diagnosis\ETW\msedgeupdate.txt, а также исполняемые файлы launcher.exe и MicrosoftEdgeUpdateCore.exe. Для автоматического запуска использовалась запланированная задача. Канал управления (C2) находился по адресу c.windowns-cdn.com, что содержало опечатку в названии домена, и вёл на IP 149.56.12.51.

Новая ветвь, проанализированная 9 июня 2026 года, демонстрирует значительные изменения. Промежуточный файл теперь называется st.php (а не st.txt), а начальная команда PowerShell принудительно включает поддержку TLS 1.2. Вместо фиксированных ETW-путей используется случайное имя каталога под ProgramData\Microsoft, куда записывается полезная нагрузка с произвольным именем. Для закрепления применяется VBS-загрузчик, создаваемый в том же каталоге. Запланированная задача запускается от имени SYSTEM с помощью Register-ScheduledTask, а если повышение привилегий недоступно, предусмотрен запасной вариант через запись в реестре HKCU\...\Run. Имя задачи (SvcName) генерируется случайным образом - в данном случае это 7c70c4282dfc72fa.

Сетевой уровень также претерпел кардинальные изменения. Вместо статического домена с опечаткой новая ветвь строит поддомен на основе MachineGuid жертвы: берётся MD5-хэш этого идентификатора и дописывается .testewin.com. В песочнице был зафиксирован поддомен 52facc3b24f8bad9c5c56819e385f3a1.testewin[.]com, который разрешался в адреса Cloudflare (104.21.39[.]21 и 172.67.142[.]55). Соединение устанавливалось по защищённому протоколу WebSocket (wss://:443/agent) с версией протокола 11.07-FAST-RECONNECT и магической строкой LQWP. При этом в коде присутствует запасной домен cdn.testewin.com и запасной IP 149.56.12[.]51, что однозначно связывает новую ветвь с инфраструктурой старой.

Сравнение двух ветвей показывает несколько ключевых изменений. Старая ветвь полагалась на статическое именование артефактов (фиксированные пути ETW, постоянное имя MicrosoftEdgeUpdateCore.exe) и относительно простой C2 через HTTPS/TCP с использованием домена, содержащего опечатку. Новая ветвь использует динамические имена для установки, VBS-загрузчик, более гибкую систему персистентности с приоритетом запланированной задачи и только при отсутствии прав - запись в реестр. Транспорт C2 заменён на WebSocket с проксированием через Cloudflare, что усложняет блокировку на уровне IP. При этом промежуточный хост (198.245.53.26) и путь /payload.php остались неизменными, а запасной IP 149.56.12[.]51 выступает надёжным якорем для корреляции.

Присутствие скрипта servidor_completo_pool.py позволяет предположить, что злоумышленники используют модель Malware-as-a-Service (MaaS), где автоматически генерируются варианты для разных аффилированных групп. Обфускатор ofuscador.py подтверждает наличие механизма создания полиморфных односложных команд PowerShell, которые трудно детектировать сигнатурными методами.

Полученная в песочнице полезная нагрузка из новой ветви оказалась полнофункциональным удалённым доступом (RAT), а не просто загрузчиком. Она поддерживает скрытое выполнение PowerShell, мониторинг экрана и клавиатуры, удалённый ввод, сбор информации о системе и процессах, передачу файлов, а также компиляцию кода на C# на лету через csc.exe и cvtres.exe. Это указывает на нацеленность на финансовые операции, в первую очередь на бразильскую платёжную систему Pix.

Проведённый анализ позволил не только восстановить цепочку заражения, но и увидеть, как операторы вредоносного ПО адаптируют свои методы для обхода средств защиты. Использование Cloudflare для маскировки реального сервера C2 усложняет прямое блокирование по IP, однако поскольку кампания использует выделенный вредоносный домен testewin[.]com, защитники могут эффективно блокировать его на уровне DNS или SNI без риска затронуть легитимные сервисы.

Два основных вывода из этого исследования очевидны. Во-первых, промежуточный сервер оставался стабильным элементом инфраструктуры, несмотря на существенные изменения в логике самого вредоносного ПО. Во-вторых, новые техники персистентности и сетевого взаимодействия демонстрируют стремление авторов усложнить обнаружение и сделать свои инструменты более устойчивыми к анализу. Для защиты организаций рекомендуется уделять особое внимание мониторингу подозрительных запросов PowerShell, особенно тех, что принудительно устанавливают TLS 1.2, а также блокировать известные вредоносные домены, включая *.testewin[.]com и c.windowns-cdn[.]com, и вести наблюдение за подозрительными запланированными задачами, создаваемыми от имени SYSTEM.

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

IPv4

  • 104.21.39.21
  • 149.56.12.51
  • 172.67.142.55
  • 198.245.53.26

IPv4 Port Combination

  • 149.56.12.51:443

Domain

  • *.testewin.com
  • 52facc3b24f8bad9c5c56819e385f3a1.testewin.com
  • c.windowns-cdn.com

URL

  • http://198.245.53.26/payload.php
  • http://198.245.53.26/st.php
  • http://198.245.53.26/st.txt

WebSocket Secure

  • wss://.testewin.com:443/agent
  • wss://52facc3b24f8bad9c5c56819e385f3a1.testewin.com:443/agent

SHA256

  • 443c0a821c214471d74b51093ab3d69bb9bee54ded049e5abcda2551e4f12707
  • bc4c29bc0c84ea18311fbadc508f6f3a9d84b54a456e672c2ab34d6b42f56c0c
  • d828949ade683cf3ac6d4260f946ca33ef861035051db07d3ee79ec75dd243b2
  • e9d918ff5f7918cff1a3a23f3945058a66b56d6dd724066414c7e1cab95e166d

Комментарии: 0