Специалисты по информационной безопасности фиксируют тревожную тенденцию: время между публичным выходом сложного инструмента обфускации и его применением в реальных атаках сокращается до нескольких недель. В апреле 2026 года исследовательское подразделение Sublime Threat Intelligence and Research (STIR) выявило фишинговую кампанию, в которой злоумышленники использовали недавно опубликованный на GitHub открытый проект KrakVM - виртуальную машину на JavaScript, предназначенную для запуска зашифрованного байт-кода. Это произошло всего через месяц после появления KrakVM в открытом доступе, что говорит о высокой скорости адаптации новых технологий в среде киберпреступников.
Описание
Кампания применяет хорошо известный набор для фишинга как услуги (PhaaS) под названием FlowerStorm, активный как минимум с середины 2024 года. Его отличительная особенность - способность не только красть учётные данные, но и перехватывать одноразовые коды многофакторной аутентификации (MFA) в реальном времени через атаку "злоумышленник посередине". В новой волне FlowerStorm дополнительно использует KrakVM в качестве первого уровня доставки и обфускации.
Вектор атаки начинается с короткого фишингового письма. Часто оно вообще не содержит текста, а его тема и название вложения имитируют голосовое сообщение, уведомление о кредите от поставщика или просроченный счёт. Вложение - HTML-файл, при открытии которого в браузере запускается вредоносный JavaScript, использующий KrakVM. Исследователи сообщили в техническом отчёте, что жертвами кампании стали организации из сферы местного самоуправления, логистики, розничной торговли, связи и недвижимости.
KrakVM представляет собой виртуальную машину, написанную на JavaScript. Вместо того чтобы исполнять обычный читаемый код, она берёт зашифрованный байт-код, хранящийся в виде большого блока Base64, и выполняет его в памяти. Это делает вредоносную логику практически невидимой для инструментов статического анализа, которые не запускают код. Внутри байт-кода зашифрованы команды, которые после расшифровки сводятся к простой последовательности: прочитать данные, декодировать их с помощью стандартной функции atob и записать в документ с помощью document.write(). Другими словами, шеститысячный набор инструкций, кастомный шифр и полноценная виртуальная машина существуют только для того, чтобы скрыть простой вызов двух функций браузера.
В ходе анализа STIR обнаружили, что злоумышленники использовали KrakVM практически в конфигурации по умолчанию, не внося серьёзных изменений в исходный код. Это говорит о том, что операторы FlowerStorm не обладают высокой технической квалификацией, но при этом смогли быстро интегрировать новый инструмент. Примечательно, что специалисты не нашли доказательств того, что автор KrakVM связан с разработчиками FlowerStorm. Проект был опубликован в открытом доступе, и кто угодно мог его скачать и применить.
После того как KrakVM расшифровывает и выполняет код, запускается основная полезная нагрузка - файл bootstrap.min.js размером более мегабайта. Этот скрипт, размещённый на облачном хранилище Tencent Cloud COS, является полноценным фишинговым набором FlowerStorm. Он содержит множество слоёв обфускации: массив из более чем 26 тысяч элементов, вращение и сдвиг данных, собственный алфавит Base64. После автоматической деобфускации вскрывается знакомая структура: код способен подделывать страницы входа для Microsoft 365, Hotmail и GoDaddy.
Процесс кражи данных выстроен следующим образом. Когда жертва попадает на поддельную страницу, её адрес электронной почты уже предзаполнен. Этот адрес был встроен в фишинговое вложение на этапе генерации атаки. Далее скрипт отправляет HTTP-запрос на командный центр (C2) злоумышленников. Сначала проверяется, активен ли сервер. Затем передаётся email жертвы. В ответ приходит JSON-объект с указанием, к какому провайдеру относится учётная запись, и, при необходимости, с кастомными фоном и логотипом, если атака нацелена на конкретную организацию.
Далее начинается классическая для FlowerStorm манипуляция с многофакторной аутентификацией. Жертве показывается страница с требованием ввести пароль. После первой попытки система якобы сообщает об ошибке и просит ввести пароль снова. Это сделано для того, чтобы пользователь был более внимательным и не заподозрил подмену. Параллельно злоумышленники пытаются войти в настоящий аккаунт жертвы, используя перехваченный пароль. Если система запрашивает дополнительный код подтверждения, FlowerStorm определяет, какой метод MFA настроен у пользователя: push-уведомление в приложении Microsoft Authenticator, одноразовый код (TOTP), SMS или голосовой звонок. Жертве показывается подложная страница, соответствующая выбранному методу. Как только она вводит код, он мгновенно передаётся атакующим, которые завершают аутентификацию и получают полный доступ к учётной записи.
Особую опасность представляет тот факт, что KrakVM позволяет скрыть начальный этап атаки от систем проверки вложений, не выполняющих JavaScript. Более того, код виртуальной машины содержит случайные текстовые вставки (например, названия мясных блюд), затрудняющие сигнатурный анализ. Встроенный алфавит Base64 каждый раз генерируется заново, что делает простое декодирование невозможным.
Хотя текущая кампания использует KrakVM в минимальной конфигурации, исследователи уверены, что это только начало. По мере того как инструмент будет набирать популярность среди злоумышленников, следует ожидать более сложных вариантов его применения. Уже сейчас видно, что операторы FlowerStorm активно тестируют новые методы обфускации, а появление открытого инструментария ускоряет их внедрение.
Для организаций это означает, что традиционные методы защиты, основанные на проверке статических сигнатур или блокировке известных фишинговых страниц, становятся менее эффективными. Злоумышленники всё чаще используют многоуровневую обфускацию и легитимные сервисы (в данном случае облачное хранилище Tencent) для размещения полезной нагрузки. Специалистам по безопасности стоит обращать внимание на необычные HTML-вложения, особенно если они содержат зашифрованные блоки данных и ссылки на внешние скрипты. Анализ поведения при открытии таких файлов в изолированной среде может выявить попытку запуска виртуальной машины задолго до того, как будет выполнена сама кража учётных данных.
Индикаторы компрометации
Domains
- 04qq.digitalcompetitiveedge.de
- 1035362455-1368311421.cos.ap-singapore.myqcloud.com
- 1391604445.cfd
- 1419993777.cyou
- 1419993777-1317754460.cos.ap-singapore.myqcloud.com
- 1419993777dfhg-1368311421.cos.ap-bangkok.myqcloud.com
- 1518076290.cyou
- 1518076290-1368311421.cos.ap-bangkok.myqcloud.com
- 1569742347.cfd
- 1569742347-1317754460.cos.ap-singapore.myqcloud.com
- 1649544530-1317754460.cos.eu-frankfurt.myqcloud.com
- 1969421924.cyou
- 2008377162.cfd
- 2008377162-1317754460.cos.eu-frankfurt.myqcloud.com
- 2059746795x.diflucan50.store
- 2067612207.cfd
- 2067612207-1317754460.cos.eu-frankfurt.myqcloud.com
- 2143835084.cfd
- 2143835084-1317754460.cos.na-ashburn.myqcloud.com
- 365.shade.com.de
- 5072436762-1317754460.cos.ap-seoul.myqcloud.com
- 5167284490-1317754460.cos.eu-frankfurt.myqcloud.com
- 5216738130-1317754460.cos.na-ashburn.myqcloud.com
- 5237741854.cfd
- 5237741854-1317754460.cos.eu-frankfurt.myqcloud.com
- 5247145664-1368311421.cos.ap-singapore.myqcloud.com
- 5334635671.cfd
- 5348785839.cfd
- 5348785839-1317754460.cos.ap-seoul.myqcloud.com
- 5531648314.cfd
- 5531648314-1317754460.cos.ap-seoul.myqcloud.com
- 5624221719.cfd
- 5624221719-1317754460.cos.ap-tokyo.myqcloud.com
- 5832068083.cyou
- 5869516596dfh-1368311421.cos.ap-bangkok.myqcloud.com
- 6018258857.cfd
- 6018258857-1317754460.cos.na-ashburn.myqcloud.com
- 6063680314-1317754460.cos.ap-bangkok.myqcloud.com
- 6070692012-1317754460.cos.na-ashburn.myqcloud.com
- 6110904866-1317754460.cos.ap-seoul.myqcloud.com
- 6146168235-1317754460.cos.na-ashburn.myqcloud.com
- 6182120286.my.id
- 6185945827.sbs
- 6264277690.cfd
- 6325776306-1368311421.cos.ap-singapore.myqcloud.com
- 6326889358fds-1368311421.cos.ap-bangkok.myqcloud.com
- 6326889358ghf.cyou
- 6438259665.cfd
- 6438259665-1317754460.cos.na-ashburn.myqcloud.com
- 65utyhgdfsgvdf-1388504898.cos.ap-seoul.myqcloud.com
- 6837577840.cfd
- 6837577840-1317754460.cos.na-ashburn.myqcloud.com
- 6970793981ad.cyou
- 7250102277.cfd
- 7588085895.cyou
- 7622350912.cfd
- 7766360391.cfd
- 7766360391-1317754460.cos.na-ashburn.myqcloud.com
- 7840190445.cyou
- 7840190445-1368311421.cos.ap-singapore.myqcloud.com
- 7983520156.cyou
- 7983520156-1368311421.cos.ap-bangkok.myqcloud.com
- 8053371593-1317754460.cos.na-ashburn.myqcloud.com
- 8103841751.cyou
- 8191769809.cfd
- 8191769809-1317754460.cos.ap-singapore.myqcloud.com
- 8329223816-1368311421.cos.ap-bangkok.myqcloud.com
- 942547373-1317754460.cos.ap-singapore.myqcloud.com
- able.dough.it.com
- ableg.condensation.it.com
- ableg.docufiled.com
- ableg.persistent.com.de
- albert.uscourtfilestorage.com
- alex.fantasy.com.de
- alexperu.courtfilecloud.com
- amaxelectronics.co.za
- asphalt9nitroo.my.id
- bafybeias2uivmggzl2gqjipqgcarbgyvakvk6yljxbcv4a3qroxcujzqaq.ipfs.w3s.link
- bafybeiclfnumyd3aztwl2xjz5o6cfw4fqepqz6a6uow3dig57pf5najq2u.ipfs.w3s.link
- bafybeid6ec6mwvrywozlhpblgzl76qtrcqqx26ryk2cptwtykroufqn4y4.ipfs.w3s.link
- barry.reminiscence.com.de
- barry.sunbeam.it.com
- bigshyne.reliable.com.de
- bill.cloudbusinessfiles.com
- blezzed.reminder.it.com
- bombom.courtdocumentshub.com
- brenda.5hawb1t.site
- bussy.flutteringfabric.it.com
- cfur.invoclegal.com
- china.bureauofcourts.com
- chr.authgsyuuite.com
- chr.v0k3.space
- chris.ggsuitauth.site
- chris1.k5l1m.cfd
- dcvfgbhjhnygtt43fr-1388504898.cos.na-ashburn.myqcloud.com
- dfjxt.patienceintherain.de
- dfsvgyhuyu765tgrefd-1368311421.cos.eu-frankfurt.myqcloud.com
- dfvgbhjuyy675regtd-1417693617.cos.ap-singapore.myqcloud.com
- dfvgu7654ytefr-1388504898.cos.na-ashburn.myqcloud.com
- dfvgyth54tr6yse-1388504898.cos.na-siliconvalley.myqcloud.com
- diamond.whirl.it.com
- don.feiracultural.de
- don.imagination.com.de
- dpqcm.solidreputation.de
- dr.k5l1m.cfd
- dsfgu56bfd-1388504898.cos.ap-singapore.myqcloud.com
- dvfguyj65y4tg5re-1388504898.cos.eu-frankfurt.myqcloud.com
- empire.appdocstorage.com
- evszs.efficiencyworks.de
- fdvyjh5ty4et4erw3frfe-1388504898.cos.na-ashburn.myqcloud.com
- fgdbiujy756uregd-1417693617.cos.ap-singapore.myqcloud.com
- fgdu76y65trgrftd-1388504898.cos.eu-frankfurt.myqcloud.com
- fghu6754y6rtefw-1388504898.cos.na-siliconvalley.myqcloud.com
- fgvuyt4t3r4ewf-1388504898.cos.eu-frankfurt.myqcloud.com
- fgy56treewdre3-1388504898.cos.ap-jakarta.myqcloud.com
- fire.detects.it.com
- fsdcu658ryth-1368311421.cos.eu-frankfurt.myqcloud.com
- fsdgrthyjuit6rf-1368311421.cos.eu-frankfurt.myqcloud.com
- fz.town.com.de
- gcfhg6tuy5y65regtfdg-1417693617.cos.ap-seoul.myqcloud.com
- gfyujuyty54trerf-1388504898.cos.na-ashburn.myqcloud.com
- ghfu65t546ygredvdcf-1417693617.cos.ap-singapore.myqcloud.com
- ghuy54rterreftg-1388504898.cos.eu-frankfurt.myqcloud.com
- gofnj.correspondence.com.de
- grab.silken.it.com
- grap.waves.it.com
- hbfnq.strongsystems.de
- hgf56yy5tr4rfde-1417693617.cos.ap-singapore.myqcloud.com
- hyfzt.fostered.com.de
- i7juyhttg4r3f-1388504898.cos.ap-bangkok.myqcloud.com
- invisible.desire.com.de
- invisible.spinning.it.com
- irigc.precisionontheweb.de
- jeny.ggsuitauth.site
- jwnuf.fantasies.com.de
- king.flashed.com.de
- li.requested.com.de
- lifeofa.k5l1m.cfd
- lil.luster.it.com
- lol.spectralpath.it.com
- lpeet.longings.com.de
- m.chantstraditionnels.de
- mkreply2024.my.id
- monk.halo.com.de
- msg.uscourtfiles.com
- muchino.database-server.com
- nazz.twinkle.it.com
- nnqsy.secureenvirotrust.de
- noanme.courtfilecloud.com
- o354.fanciful.it.com
- office.bureaucloudservices.com
- oolty.halo.com.de
- ottm.secureuserguard.de
- outrageousorganisation.com.au
- oztff.valueguardians.de
- pkxza.ruminatingbrook.de
- pozao.clearconceptsdesign.de
- prayer.enchantment.com.de
- professir.whimsy.com.de
- professor.delicate.com.de
- prvct.dreamscape.com.de
- pub-b0ed4da928344ac2972a05ded086e4da.r2.dev
- qfzuh.veil.com.de
- qmduj.smoothhost.de
- rdaol.dreamsintheframe.de
- rexjf.digitaltrustbase.de
- rey.origami.com.de
- robertreed1313-1323985617.cos.na-ashburn.myqcloud.com
- scdvfguy6htg-1388504898.cos.ap-bangkok.myqcloud.com
- sfd65uy765grftd-1368311421.cos.na-siliconvalley.myqcloud.com
- sjask.reliablevisibility.de
- tlmsh.germanidentityhub.de
- towbb.digitalproficiency.de
- tss.impression.it.com
- unix.wearableartbags.de
- uvehh.digitalsuccessframeworks.de
- valid.seashellshoetreasures.de
- valid.shimmered.com.de
- vunbp.scalableplatforms.de
- vvbea.builtinlayers.de
- woovw.maximizevisibility.de
- xo.spotted.it.com
- y.k5l1m.cfd
- zpma.uscourtdocuments.com
- zrqdi.dynamicgrowthsystems.de