ВКонтакте добровільно встановлювали собі «красиві шпалери» через фейкові розширення для Chrome, їхні акаунти методично брали під контроль. Історія про те, як бажання змінити колір сторінки у соцмережі обернулося масштабним зливом даних, масовими підписками на сміттєві групи та повним ігноруванням базової цифрової гігієни.
Люди просто заходили у свій профіль і не одразу розуміли, що щось не так. Налаштування знову поверталися «за замовчуванням» приблизно раз на місяць. У підписках з’являлися нові групи, на які ніхто свідомо не підписувався. І все це – через розширення Chrome, які виглядали максимально невинно: ніби просто інструменти для зміни теми чи зручнішого користування ВКонтакті.
Коли в це занурилися глибше, картина виявилася значно масштабнішою. Йшлося не про один дивний плагін, а про цілу схему, спрямовану на ВКонтакте – платформу з аудиторією понад 650 мільйонів користувачів. Почалося все з перевірки рекламного коду Яндекса, але в процесі виявилася мережа з п’яти заражених розширень Chrome. Разом вони зібрали понад пів мільйона встановлень – а це вже сотні тисяч потенційно зачеплених акаунтів. Розширення не ламали сторінку грубо, не виводили помилок, не привертали уваги.
Фактично воно:
саме підписує людей на потрібні зловмиснику групи у ВКонтакті, і відбувається це досить часто – приблизно у трьох випадках із чотирьох;
раз на 30 днів знову «перекроює» налаштування профілю під себе, навіть якщо їх уже змінювали вручну;
обходить захисні механізми VK через маніпуляції з CSRF-токенами;
перевіряє статус пожертв, відкриваючи доступ до додаткових можливостей і фактично монетизуючи жертв;
утримує контроль за рахунок поетапного завантаження та виконання коду, щоб його складніше було виявити.
За цією історією стоїть не група, а конкретний оператор. Він використовує нік 2vk на GitHub і перетворює звичайний профіль VK на інструмент керування – для розповсюдження шкідливого коду й примусового нарощування аудиторії. І все це маскується під звичайну активність у соцмережі.
Слід почався не з Яндекса. Усе стартувало з внутрішнього механізму оцінки ризиків, який звернув увагу на дивну активність. З’ясувалося, що одне з розширень Chrome підвантажувало скрипти медійної реклами Яндекса буквально на кожну сторінку, яку відкривав користувач.
Далі перевірили інші розширення, що використовували той самий фреймворк відображення. Так увага зупинилася на VK Styles – розширенні для Chrome з приблизно 400 000 встановлень, яке подавалося як звичайний інструмент для кастомізації ВКонтакті. На перший погляд нічого підозрілого. Але в коді виявилася деталь, що вибивалася із загальної картини: ідентифікатор метрики Яндекса формувався динамічно, ніби спеціально так, щоб його було складніше помітити під час перевірки.
'R-A-' + 843079 * 2 // Evaluates to: R-A-1686158
Навіщо його обчислювати? Тому що інструменти статичного аналізу та сканери безпеки шукають точні рядки. Обчислюючи ідентифікатор під час виконання, шкідливе програмне забезпечення уникає простого зіставлення зі шаблоном.
Але цей розрахунок викликав підозри. Тому код розширення було досліджено глибше.
Було встановлено, що показник Яндекса був лише поверхневим. Справжнє шкідливе програмне забезпечення мало багатоетапну структуру та використовувало власну соціальну мережу ВКонтакті як інфраструктуру.
Самі розширення здаються нешкідливими. «VK Styles» обіцяє покращити ваш досвід користування VK за допомогою користувацьких тем, додаткових функцій та чистішого інтерфейсу. Він може похвалитися тисячами позитивних відгуків і регулярно отримує оновлення – ніщо в його списку в Інтернет-магазині Chrome не викликає одразу тривоги.
Але під час запуску агента на кодовій базі VK Styles було виявлено два рядки, заховані в різних місцях, які все змінили.
Що, по суті,
Це дозволяло виконувати будь-який рядок, переданий до E. Звідти агент відстежував, які компоненти викликали E, і виявив код, який витягував URL-дані з метаданих профілю VK: vk.com/m0nda. Розширення завантажувало код з цього профілю та виконувало його локально.
Це зовсім не пересічний акаунт у VK. Під виглядом звичайного особистого профілю фактично ховається центр керування атакою, через який зловмисник віддає команди та контролює заражені системи.
Наступний етап прихований у тегах метаданих HTML профілю ВКонтакті:
<meta name="description" content="4000 :: G2vk.github.io/-/ V1.0.250.69 Yan.yandex.ru/system/context.js Ayastatic.net/partner-code-bundles/ :">
На перший погляд? Дурниці. Але розшифруйте їх:
G (GitHub): https://2vk.github.io/-/
Y (Яндекс): https://an.yandex.ru/system/context.js
A (Пакети оголошень): https://yastatic.net/partner-code-bundles/
V (Версія): 1.0.250.69
Зловмисник використовує метатеги VK як мертву точку для URL-адрес корисного навантаження.
Чому це розумно?
У коді розширення немає зашитих напряму URL-адрес, тому його складніше відстежити й заблокувати стандартними методами.
Оновлення відбуваються динамічно: зловмисник може просто змінити вміст у своєму профілі ВКонтакті – і шкідливе навантаження одразу оновиться.
Для зв’язку з C2 використовується звичайна інфраструктура VK.com, без сторонніх серверів і «сірих» хостингів.
Жодних підозрілих зовнішніх доменів у трафіку – усе виглядає як звичайна активність у ВК, що значно ускладнює виявлення.
Розширення заходить на профіль у ВКонтакті, переглядає метатеги сторінки, знаходить у них приховані закодовані посилання й уже за цими адресами підтягує наступний етап із GitHub.
Зловмисне програмне забезпечення розміщено на обліковому записі GitHub 2vk: https://github.com/2vk
Назва репозиторію виглядає максимально просто. Це всього лише «-», звичайний дефіс без жодного змісту. Через таку назву його майже неможливо нормально знайти або ідентифікувати в пошуку.
Усередині зберігається файл із короткою назвою «C». Виглядає буденно і ні про що не говорить, що, скоріше за все, зроблено спеціально. Але в самому файлі захований замаскований JavaScript, який потім підставляється куди потрібно і продовжує виконання логіки.
Сторінка ВКонтакті, яку відвідує жертва.
Короткий зміст потоку:
За сім місяців файл змінювали 17 разів. Якщо просто перегортати коміти один за одним, відчувається, як усе поступово «доростає». Спочатку це виглядає як звичайна технічна заготовка без чогось гучного чи показового.
Потім зміни стають більш відчутними. Додаються нові шматки логіки, щось переробляється, щось ускладнюється. Видно, що код не просто підправляли, а послідовно розширювали його можливості.
І якщо дивитися на картину в цілому, це вже не набір випадкових правок. Це поступовий рух від простої основи до більш складної та продуманої конструкції, яка з кожним оновленням поводиться впевненіше й активніше, ніж на старті.
На старті це була базова заготовка. Автор просто зібрав фундамент: налаштував роботу з CSRF-cookie, додав обгортку для VK API й розгорнув мінімальну інфраструктуру. Нічого зайвого – лише основа, щоб усе взагалі почало працювати.
Ось тут проєкт помітно змінився. З’явилася функція автоматичної підписки, яка спрацьовує у більшості випадків. Додали механізм, що раз на 30 днів скидає налаштування, а також внесли примусові зміни конфігурації без запиту до користувача. Якщо раніше це був каркас, то тепер код почав діяти самостійно й значно агресивніше.
Тут стало зрозуміло, що мова вже не просто про експеримент. Замість HTML-скрейпінгу автор перейшов на прямі виклики API – це стабільніше й менш помітно. Додали відстеження пожертв через VK Donut API та логіку, яка вмикає або вимикає функції залежно від того, чи є оплата. Тобто код почав працювати за принципом «заплатив – отримав більше можливостей».
Після цього почали прибирати зайве. Видалили понад сотню рядків, пов’язаних з IntersectionObserver, спростили структуру й зробили все компактнішим. Чим менше зайвого коду – тим складніше щось запідозрити під час перевірки.
Після повного розгортання шкідливе програмне забезпечення виконує п’ять категорій шкідливих дій. Давайте розглянемо їх.
Кодекс:
Переклад: Існує 75% ймовірність (3 з 4 випадкових результатів), що щоразу, коли ви відвідуєте ВКонтакте, шкідливе програмне забезпечення автоматично підписує вас на групу ВКонтакте -168874636.
Це власна група зловмисника: https://vk.com/club168874636 .
Це перенаправляє на VK Styles ( https://vk.com/2style ) – «офіційну спільноту» для шкідливого програмного забезпечення, замаскованого під групу підтримки користувачів. Вона має 1,4 мільйона підписників, таких як популярний хлопець VK Styles 🙂
Зростання вірусності – кожна жертва стає підписником, що підвищує легітимність групи
Соціальний доказ – «1,4 мільйона учасників не можуть помилятися!»
Безкоштовна реклама – друзі жертв бачать, як вони приєднуються, що додає довіри
Монетизація – більше підписників = більше впливу = більше жертв
Збереженість – навіть якщо ви відпишетесь, існує 75% ймовірність того, що вас знову підпишуть під час наступного відвідування ВКонтакті.
Зловмисник перетворив розповсюдження шкідливого програмного забезпечення на самопідсилювальне замкнене коло. Жертви самі рекламують нових жертв.
Кодекс:
Переклад: Кожні 30 днів (2592e6 мілісекунд = 30 днів) шкідливе програмне забезпечення:
Скидає сортування стрічки VK на “нещодавнє” замість алгоритмічного
Змінює тему бульбашок повідомлень на тему 0
Замінює будь-які налаштовані вами користувацькі налаштування
Відстежує позначку часу останнього скидання , щоб забезпечити його щомісяця
Кодекс:
Переклад: Шкідливе програмне забезпечення може зчитувати та маніпулювати файлом cookie захисту CSRF ВКонтакті remixsec_redir.
CSRF-токени – це по суті захисний «маркер», який підтверджує, що дію у вашому акаунті ініціюєте саме ви. Коли ви у ВКонтакті змінюєте налаштування, публікуєте допис або робите іншу важливу дію, система автоматично перевіряє цей токен. Якщо все збігається, запит приймається. Якщо ні – дія блокується. Простіше кажучи, це спосіб переконатися, що хтось зі сторони не намагається виконати щось від вашого імені через сторонній або шкідливий сайт.
Обхід захисту CSRF під час здійснення викликів API
Виконання дій, які зазвичай блокуються
Зробіть запити легітимними для систем безпеки ВКонтакте
Це пряма атака на інфраструктуру безпеки ВКонтакті.
Пошук за ідентифікатором метрики Яндекса RA-1686158 виявив мережу розширень, усі з яких контролюються одним і тим самим зловмисником та використовують одну й ту саму інфраструктуру:
Загальна кількість підтверджених жертв: 502 000
Одне розширення вже було видалено Google у 2024 році за порушення політики інтернет-магазину – це свідчить про те, що цю кампанію виявляли раніше, але зловмисник просто перейшов на нові ідентифікатори розширень і продовжив операцію.
Найпопулярніше розширення,
VK Styles - Themes for vk.com, було видалено з торговельного майданчика 6 лютого.
Всього: понад 502 000 підтверджених жертв
Членство у групі ВКонтакте: Група зловмисника VK Styles органічно зростала завдяки примусовим підпискам, створюючи самопідтримуваний вектор зараження.
Географічний розподіл: переважно російськомовні користувачі (основна демографічна група ВКонтакті), а також користувачі зі Східної Європи, Центральної Азії та російські діаспорні громади по всьому світу.
Тривалість: Кампанія активна щонайменше з червня 2025 року , з постійними оновленнями до січня 2026 року – понад 7 місяців активної роботи.
Щодня тисячі користувачів ВКонтакті:
Несвідомо підписані на групу зловмисника
Скинути налаштування облікового запису
Маніпулювали їхніми CSRF-токенами
Монетизуються через систему відстеження пожертв
Виконують роль вузлів розповсюдження шкідливого програмного забезпечення
А оскільки розширення оновлюються автоматично, зловмисник може миттєво розповсюджувати новий шкідливий код усім понад 500 000 жертвам , без необхідності втручання користувача.
Це дослідження було проведено командою Koi , керуючись нашим прагненням виявляти загрози, що приховані в ланцюжку постачання програмного забезпечення.
Історія з VK Styles показує, що розширення браузера давно перестали бути «дрібною загрозою».
Тут видно кілька тривожних зрушень у тому, як тепер працює шкідливе ПЗ:
Соціальні мережі як інфраструктура C2. Профілі VK, метатеги, звичайні сторінки в соцмережі використовуються як центр керування. Зовні це виглядає як нормальна активність користувача. Насправді ж через ці сторінки передаються команди. Схема проста й водночас небезпечна: це безкоштовно для зловмисника, стабільно працює і майже не викликає підозр.
Самопоширення через примусові дії. Жертви автоматично підписуються на потрібні групи. Таким чином створюється замкнений цикл: більше підписників – більше охоплення – більше нових заражень. Механізм фактично розганяє сам себе.
Модель монетизації через «преміум-функції». Замість одноразового удару використовується підхід, схожий на підписку. Інфекція зберігається, а додаткові можливості відкриваються через платежі. Це вже не просто вірус, а продумана бізнес-схема.
Закріплення через регулярні скидання. Кожні 30 днів налаштування повертаються під контроль шкідливого коду. Навіть якщо користувач щось виправив, усе може знову змінитися. Без видалення розширення повністю вирватися з цього кола майже неможливо.
Багатоетапні динамічні навантаження. Основний код розширення може залишатися відносно «чистим», а шкідливі компоненти підтягуються ззовні – з GitHub або профілів VK. Це дозволяє оновлювати функціональність без повторної публікації розширення і значно ускладнює виявлення.
Розширення браузера стали одним із найнебезпечніших векторів атак у сучасній безпеці:
Вони працюють з високими привілеями
Вони автоматично оновлюються без згоди користувача
Їх важко контролювати та перевіряти
Торговельні майданчики мають обмежену перевірку безпеки
Користувачі беззастережно їм довіряють