Skip to main content

Cyberstrike is now open source! AI-powered penetration testing for security professionals. Star on GitHub

Расширение Chrome

Расширение CyberStrike для Chrome захватывает HTTP-трафик из вашего браузера и пересылает его в API CyberStrike для автоматизированного тестирования безопасности.

Когда использовать расширение

Когда вы запускаете /hackbrowser, CyberStrike запускает выделенный браузер Chromium с расширением, уже встроенным в него. Этот автоматизированный браузер выполняет краулинг, захват трафика и AI-навигацию без дополнительной настройки. Для этого рабочего процесса вам не нужно устанавливать что-либо отдельно.

Отдельное расширение Chrome предназначено для другого сценария: использование вашего собственного браузера. Установите его, если хотите захватывать трафик из вашего повседневного Chrome — того, в котором есть ваши закладки, сохранённые пароли, установленные расширения и активные сессии. Это полезно, когда:

  • Целевое приложение требует определённую конфигурацию браузера, которая у вас уже настроена
  • Вам нужно тестировать с вашими реальными аутентифицированными сессиями и cookie
  • Вы хотите просматривать страницы вручную, пока CyberStrike анализирует каждый запрос в фоне
  • Приложение использует SSO, MFA или другие механизмы аутентификации, которые проще выполнить в вашем собственном браузере

Оба пути используют один и тот же конвейер тестирования и могут комбинироваться в рамках одной сессии.

Установка

Исходный код расширения включён в репозиторий CyberStrike в каталоге packages/hackbrowser/extension/.

  1. Клонируйте репозиторий:
Terminal window
git clone https://github.com/CyberStrikeus/CyberStrike.git
  1. Откройте Chrome и перейдите на chrome://extensions
  2. Включите Режим разработчика в правом верхнем углу
  3. Нажмите Загрузить распакованное расширение
  4. Выберите каталог packages/hackbrowser/extension/ внутри клонированного репозитория

После загрузки значок расширения появится на панели инструментов Chrome.

Caution

Запустите CyberStrike перед открытием всплывающего окна расширения. Расширение подключается к API CyberStrike при запуске.

Конфигурация

Откройте всплывающее окно расширения, нажав на значок в панели инструментов.

URL сервера

Расширение подключается к CyberStrike по адресу:

http://127.0.0.1:4096

Измените адрес в поле Server URL, если CyberStrike запущен на другом адресе или порту. Если вы используете туннель Cloudflare для удалённого доступа, введите здесь URL туннеля.

Область действия

Введите целевой домен в поле Scope:

shop.example.com

Захватываются только запросы, чьё имя хоста соответствует этой области. Запросы к другим доменам игнорируются.

Поддерживаются подстановочные знаки поддоменов:

*.example.com

Сессия

Выберите существующую сессию из выпадающего списка или создайте новую. Все захваченные запросы и обнаруженный контекст хранятся в рамках активной сессии.

Запуск и остановка захвата

Нажмите Start для начала перехвата трафика. Счётчик запросов увеличивается по мере захвата совпадающих запросов.

Нажмите Stop для приостановки захвата. Сессия остаётся активной, и CyberStrike продолжает обработку запросов в очереди.

Управление учётными данными

Учётные данные представляют аутентифицированные идентичности пользователей. Расширение отслеживает заголовки аутентификации для каждого профиля Chrome и связывает каждый захваченный запрос с соответствующими учётными данными.

Зачем нужны учётные данные

CyberStrike использует учётные данные для тестирования межпользовательских уязвимостей:

  • IDOR — может ли Учётная запись A получить доступ к ресурсам Учётной записи B?
  • Обход авторизации — может ли учётная запись с низкими привилегиями получить доступ к эндпоинтам, требующим высоких привилегий?
  • Mass assignment — может ли обычный пользователь внедрить поля, доступные только администратору?

Чем больше учётных данных вы зарегистрируете (админ, обычный пользователь, гость и т.д.), тем шире охват межпользовательского тестирования.

Профили Chrome

Профили Chrome изолируют браузерные сессии, позволяя быть авторизованным под несколькими пользователями одновременно. Каждый профиль поддерживает собственные cookie и локальное хранилище.

Настройка:

  1. Нажмите на значок профиля в правом верхнем углу Chrome
  2. Нажмите Добавить, чтобы создать новый профиль для каждой роли:
    • Admin
    • Regular User
    • Guest
  3. Откройте целевое приложение в каждом профиле и войдите под соответствующей учётной записью
  4. Во всплывающем окне CyberStrike добавьте учётные данные для каждого профиля (см. ниже)

Добавление учётных данных

Во всплывающем окне:

  1. Нажмите Add Credential
  2. Введите описательную метку — например admin-user или regular-user
  3. Выберите профиль Chrome, связанный с этой учётной записью
  4. Нажмите Save

Учётные данные регистрируются в API CyberStrike. С этого момента запросы, захваченные из этого профиля, автоматически помечаются ID учётных данных.

Автоматическая синхронизация заголовков

Когда расширение обнаруживает изменение заголовка авторизации в профиле — например, после обновления токена — оно автоматически синхронизирует обновлённые заголовки с учётными данными. Вам не нужно обновлять учётные данные вручную после ротации токенов.

Отслеживаемые заголовки аутентификации

Расширение мониторит следующие заголовки для отслеживания учётных данных:

ЗаголовокОписание
AuthorizationBearer-токены, Basic-аутентификация
CookieСессионные cookie
X-Auth-TokenПользовательские токены аутентификации
X-API-KeyAPI-ключи
X-Access-TokenOAuth access-токены
X-Session-TokenСессионные токены
X-CSRF-TokenCSRF-токены

Фильтрация запросов

Расширение автоматически пропускает статические ресурсы для уменьшения шума:

КатегорияРасширения
Изображения.png .jpg .jpeg .gif .svg .ico .webp
Стили и скрипты.css .js .mjs
Шрифты.woff .woff2 .ttf .eot .otf
Медиа.mp4 .mp3 .avi .mov .webm
Архивы и документы.pdf .zip .gz .br
Source Maps.map

Пересылаются только запросы уровня приложения (API-вызовы, отправки форм, навигация по страницам).

Что отправляется в API

Для каждого захваченного запроса расширение отправляет пейлоад в POST /session/ingest:

{
"text": "POST /api/orders HTTP/1.1\r\nHost: shop.example.com\r\nAuthorization: Bearer eyJ...\r\nContent-Type: application/json\r\n\r\n{\"item_id\": 42, \"qty\": 1}",
"sessionID": "session-abc123",
"credential_id": "web_credential-xyz789",
"response": {
"status": 201,
"headers": {
"content-type": "application/json"
},
"body": "{\"order_id\": 573, \"total\": 29.99, \"status\": \"pending\"}"
}
}

Поле text содержит полный необработанный HTTP-запрос. Тело ответа ограничено расширением до 500 КБ; API дополнительно сокращает его до 100 КБ перед анализом.

Обнаружение дубликатов

CyberStrike дедуплицирует запросы на стороне сервера. Запрос пропускается, если он имеет тот же HTTP-метод, нормализованный путь, структуру тела и ключи параметров запроса, что и ранее обработанный запрос. Это предотвращает повторное тестирование идентичных эндпоинтов.

Панель контекста

Всплывающее окно отображает контекст, накопленный CyberStrike по всем обработанным запросам:

ПанельСодержимое
CredentialsВсе зарегистрированные учётные данные и связанные роли
RolesРоли пользователей, обнаруженные в ходе анализа
ObjectsСущности данных (User, Order, Product) и их поля
FunctionsМаппинги эндпоинт-функция с типами CRUD-действий

Эта панель доступна только для чтения. CyberStrike заполняет её поэтапно по мере обработки новых запросов.

Связанная документация

  • HackBrowser — Автономный AI-краулер — автоматизированная альтернатива