Кампания по краже учётных данных через уязвимость CVE-2025-54068 в Laravel Livewire затронула более 6000 приложений

security

24 мая 2026 года система защиты Imperva Cloud WAF зафиксировала попытки эксплуатации уязвимости в Laravel Livewire. Изначально трафик выглядел как обычная атака с десериализацией, однако расследование показало масштабную кампанию по краже учётных данных. Злоумышленники использовали критическую уязвимость CVE-2025-54068 в Laravel Livewire версии до 3.6.3. Эта уязвимость позволяет неаутентифицированному атакующему выполнить произвольный код на сервере за счёт некорректной проверки данных в процессе гидратации компонентов Livewire.

Описание

Атака продолжалась несколько месяцев. Восстановление инфраструктуры злоумышленников выявило учётные данные из 6167 различных приложений. Вредоносное ПО сканировало серверы, искало файлы конфигурации .env и извлекало из них пароли баз данных, ключи API и другую конфиденциальную информацию. Установлено, что жертвами стали организации из десятков стран и отраслей, включая электронную коммерцию, здравоохранение, финансовые услуги, образование и государственные учреждения.

CVE-2025-54068 возникает из-за отсутствия проверки целостности данных при восстановлении состояния компонента Livewire из запроса браузера. В результате атакующий может внедрить вредоносный сериализованный PHP-объект, что приводит к выполнению кода на этапе десериализации. Захваченный трафик показал применение связок гаджетов PHPGGC, злоупотребляющих легитимными классами в Laravel. Полезная нагрузка выполняла команду для загрузки скрипта с сервера управления и его запуска в фоновом режиме.

Вредоносный скрипт получил имя shoc.enz, его размер составил 5269 байт. На момент анализа он отсутствовал в базе VirusTotal. Исполнение проходит в восемь этапов. Сначала создаётся временная рабочая директория, затем проверяется отсутствие других экземпляров скрипта. После этого осуществляется рекурсивный поиск всех файлов .env в файловой системе. Из найденных файлов извлекаются значения переменных DB_HOST, DB_DATABASE, DB_USERNAME, DB_PASSWORD и APP_KEY. Соответствующие файлы копируются в staging-директорию со случайными именами, упаковываются в zip или tar.gz и отправляются на три канала эксфильтрации. После отправки staging-директория удаляется для сокрытия следов.

Инфраструктура эксфильтрации включала три резервных канала. Основным выступал FTP-сервер по адресу 47.129.100.149:21, который служил главным хранилищем украденных данных. Вторым каналом стал API Telegram, используемый для уведомлений и передачи небольших файлов. Третьим - облачный сервис GoFile, выступавший в роли резервного хранилища. Исследователи подтвердили активный доступ ко всем трём каналам. FTP-сервер содержал семь директорий с украденными данными, включая полные дампы баз данных, такие как FULL_DUMP_2026-04-29_0418.sql.gz. Аккаунт GoFile демонстрировал владельческий доступ и содержал 11 179 файлов общим объёмом 309,9 мегабайта.

Атрибуция указывает на индонезийское происхождение злоумышленников. В исходном коде вредоносного ПО обнаружены комментарии на индонезийском языке, а таймзона скрипта ссылается на часовой пояс Asia/Jakarta. Telegram-аккаунт @ashtarotz связан с доменом xantibot[.]pw, который маскируется под легитимный сервис защиты от ботов, но фактически размещает полезную нагрузку. Анализ метаданных домена и канала Telegram также указывает на Индонезию. Электронная почта azrilsyahputra1337@gmail.com, использованная для регистрации аккаунта GoFile, фигурирует в трёх исторических утечках форума BreachForums (ноябрь 2022, август 2025 и март 2026), что подтверждает длительное присутствие оператора в подпольных сообществах.

Файл .env в приложениях Laravel содержит все критически важные конфигурации: учётные данные базы данных, ключи API, секреты платёжных систем и ключи шифрования. Поэтому такие файлы представляют исключительную ценность для злоумышленников. Анализ восстановленной коллекции показал 21 916 уникальных файлов, из которых 29% относились к окружению production, хотя реальная доля выше из-за неверной маркировки файлов. Из украденных данных обнаружено 14 566 паролей баз данных (66,5% реальных, нестандартных значений), 5784 приложения с учётными данными баз данных продакшен-среды, 188 подтверждённых активных ключей Stripe (sk_live_), 381 действующих учётных записей AWS IAM (формат AKIA), 2929 JWT-секретов, 2409 ключей Google OAuth (GOCSPX-), 2232 пароля панели администратора Filament и 7176 SMTP-паролей (32,7%). Кроме того, на FTP-сервере находилось более 1850 полных дампов баз данных, что подтверждает активное использование украденных учётных данных для извлечения содержимого баз.

Кампания сканировала уязвимые установки Laravel без какой-либо селекции. Среди жертв оказались свыше 400 платформ онлайн-гэмблинга и ставок (преимущественно бразильских и юго-восточноазиатских операторов), а также сайты электронной коммерции, здравоохранения, образования, логистики и финансовых услуг. В наборе данных присутствовали несколько подтверждённых государственных доменов .gov, что говорит об отсутствии разграничения между коммерческими и государственными целями. Были обнаружены известные приложения с открытым исходным кодом, включая Invoice Ninja, Akaunting, Attendize, Lychee и TastyIgniter. Домены жертв использовали десятки зон: .com, .ru, .site, .online, .br, .tr, .id, .ke и другие. Любая организация, работавшая на непропатченной версии Laravel Livewire v3, могла стать мишенью.

Для защиты рекомендуется немедленно обновить Laravel Livewire до версии 3.6.4 или новее, что полностью закрывает уязвимость CVE-2025-54068. Также следует заблокировать исходящий FTP-трафик на производственных серверах и настроить оповещения на попытки соединения с адресом 47.129.100.149. Дополнительно необходимо мониторить подключения веб-серверов к api.telegram.org и upload.gofile.io - эти действия нетипичны для нормальной работы приложений Laravel. В случае возможной компрометации требуется немедленно сменить все учётные данные баз данных и ключи APP_KEY, а также проверить логи доступа к базам на предмет несанкционированной активности.

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

IPv4

  • 47.129.100.149

IPv4 Port Combination

  • 47.129.100.149:21

URL

  • https://webhook.site/b156c0b1-3e2f-41b4-a9a3-f492e50a0595
  • https://xantibot.pw/database-sell/shoc.enz

SHA256

  • 548c3672fd3201dab56f714fdd5812bb024980815b3a2b6299f0126bdf16fb3e

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