SOC Prime Bias: High

17 Sep 2026 08:20 UTC

Зловмисне розширення Twitch викрадає OAuth-токени у 30,000 користувачів

Author Photo
SOC Prime Team linkedin icon Стежити
Зловмисне розширення Twitch викрадає OAuth-токени у 30,000 користувачів
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Шкідливе розширення для браузера під назвою Twitch Enhanced Viewer | JeetBot націлене на користувачів Chrome і Firefox для викрадення OAuth токенів сесії Twitch. Розширення направляє запити мережі через проксі-сервери, які контролюються зловмисниками, додаючи до запиту токен аутентифікації жертви як параметр запиту в відкритому тексті. Це дозволяє оператору захоплювати облікові записи Twitch та потенційно отримувати доступ до чату, повідомлень і налаштувань облікового запису.

Розслідування

Дослідники Socket виявили розширення на великих ринках браузерів і вивчили його вихідний код JavaScript. Аналіз показав, що скрипт захоплює Заголовок авторизації у той час як фоновий процес надсилає його на проксі-інфраструктуру, яка контролюється зловмисниками. Дослідники також виявили жорстко закодований список дозволених каналів російських стрімерів, які виключені з вилучення токенів, що вказує на специфічний метод цілеспрямованого впливу або операційну перевагу.

Усунення

Користувачам слід негайно видалити Twitch Enhanced Viewer | JeetBot розширення і завершити всі активні сесії Twitch для анулювання потенційно викрадених токенів. Команди безпеки повинні блокувати виявлену шкідливу інфраструктуру і моніторити кінцеві точки на наявність неавторизованих розширень браузера. Розробникам також слід уникати маршрутизації аутентифікованого трафіка через сторонні проксі без попереднього видалення облікових даних.

Реакція

Якщо виявлено шкідливе розширення, адміністраторам слід визначити всі кінцеві точки з його ID розширення та ізолювати постраждалі сесії користувачів. OAuth токени, пов’язані з компрометованими обліковими записами Twitch, слід негайно відкликати. Організації також повинні забезпечити дотримання строгих політик розширень браузера, щоб запобігти встановленню несанкціонованих або високоризикованих сторонніх доповнень.

Потік атаки

Ми все ще оновлюємо цю частину.

Виявлення

Підозріле командування та контроль за незвичною верхньорівневою доменною запитом (TLD) DNS (через dns)

Команда SOC Prime
16 вересня 2026

Можливе викрадення/вилучення/керування даними через сторонні сервіси/інструменти (через проксі)

Команда SOC Prime
16 вересня 2026

Можливе викрадення/вилучення/керування даними через сторонні сервіси/інструменти (через dns)

Команда SOC Prime
16 вересня 2026

Індикатори компрометації (IOCs) (HashSha256) для виявлення: Шкідливе розширення браузера Twitch розкриває OAuth токени 30,000 користувачів російській ботовій службі

Правила AI SOC Prime
16 вересня 2026

Індикатори компрометації (IOCs) (SourceIP) для виявлення: Шкідливе розширення браузера Twitch розкриває OAuth токени 30,000 користувачів російській ботовій службі

Правила AI SOC Prime
16 вересня 2026

Індикатори компрометації (IOCs) (DestinationIP) для виявлення: Шкідливе розширення браузера Twitch розкриває OAuth токени 30,000 користувачів російській ботовій службі

Правила AI SOC Prime
16 вересня 2026

Шкідливе розширення браузера Twitch розкриває OAuth токени [Webserver]

Правила AI SOC Prime
16 вересня 2026

Виконання симуляції

  • Розповідь про атаку та команди: Зловмисник успішно встановив шкідливе розширення для браузера на комп’ютер жертви. Основна мета розширення – захопити сесії Twitch, щоб отримати доступ до преміум-функцій або даних користувача. Для цього розширення зчитує OAuth токен користувача з локального сховища браузера. Щоб вилучити цей токен або перевірити його через проксі, розширення створює запит GET до usher.ttvnw.net. Воно додає викрадений токен, використовуючи параметр &auth= . Симуляція створить зразок журналу подій з необхідним EventID (5678) і шкідливим URL, щоб забезпечити виконання умовою правила виявлення (selection_url AND selection_browser_events). Тестовий сценарій регресії:

  • Regression Test Script:

    import requests
    import json
    import datetime
    
    # Параметри симуляції
    target_url = "https://usher.ttvnw.net/api/get_playlist?user_id=12345&auth=STOLEN_OAUTH_TOKEN_XYZ_789"
    mock_event_id = 5678
    
    print(f"[*] Початок симуляції: Вилучення через шкідливе розширення Twitch")
    print(f"[*] Цільовий URL: {target_url}")
    print(f"[*] Імітація ID події: {mock_event_id}")
    
    # У реальному випадку проксі-лог створюється мережею.
    # Щоб змоделювати запис журналу, що з’являється в SIEM для цього тесту:
    simulation_log = {
        "timestamp": datetime.datetime.utcnow().isoformat(),
        "url": target_url,
        "EventID": mock_event_id,
        "category": "proxy",
        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
        "action": "allowed"
    }
    
    print(f"[+] Генерація моделюваної запису журналу для SIEM...")
    print(json.dumps(simulation_log, indent=4))
    
    # Виконати фактичний запит, щоб забезпечити створення телеметрії на рівні мережі
    try:
        response = requests.get(target_url)
        print(f"[+] Запит відправлено. Код стану: {response.status_code}")
    except Exception as e:
        print(f"[-] Запит не вдався (це очікувано, якщо URL недійсний): {e}")
    
    print("[*] Симуляція завершена.")
  • Команди очистки:

    # Під час цієї симуляції не було зроблено жодних стійких змін у системі.
    # Якщо історія браузера була змінена вручну, очистіть кеш/історію браузера.
    echo "[*] Очистка завершена. Нема артефактів залишених на хості."