Расширение Chrome
Расширение CyberStrike для Chrome захватывает HTTP-трафик из вашего браузера и пересылает его в API CyberStrike для автоматизированного тестирования безопасности.
Когда использовать расширение
Когда вы запускаете /hackbrowser, CyberStrike запускает выделенный браузер Chromium с расширением, уже встроенным в него. Этот автоматизированный браузер выполняет краулинг, захват трафика и AI-навигацию без дополнительной настройки. Для этого рабочего процесса вам не нужно устанавливать что-либо отдельно.
Отдельное расширение Chrome предназначено для другого сценария: использование вашего собственного браузера. Установите его, если хотите захватывать трафик из вашего повседневного Chrome — того, в котором есть ваши закладки, сохранённые пароли, установленные расширения и активные сессии. Это полезно, когда:
- Целевое приложение требует определённую конфигурацию браузера, которая у вас уже настроена
- Вам нужно тестировать с вашими реальными аутентифицированными сессиями и cookie
- Вы хотите просматривать страницы вручную, пока CyberStrike анализирует каждый запрос в фоне
- Приложение использует SSO, MFA или другие механизмы аутентификации, которые проще выполнить в вашем собственном браузере
Оба пути используют один и тот же конвейер тестирования и могут комбинироваться в рамках одной сессии.
Установка
Исходный код расширения включён в репозиторий CyberStrike в каталоге packages/hackbrowser/extension/.
- Клонируйте репозиторий:
git clone https://github.com/CyberStrikeus/CyberStrike.git- Откройте Chrome и перейдите на
chrome://extensions - Включите Режим разработчика в правом верхнем углу
- Нажмите Загрузить распакованное расширение
- Выберите каталог
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 и локальное хранилище.
Настройка:
- Нажмите на значок профиля в правом верхнем углу Chrome
- Нажмите Добавить, чтобы создать новый профиль для каждой роли:
AdminRegular UserGuest
- Откройте целевое приложение в каждом профиле и войдите под соответствующей учётной записью
- Во всплывающем окне CyberStrike добавьте учётные данные для каждого профиля (см. ниже)
Добавление учётных данных
Во всплывающем окне:
- Нажмите Add Credential
- Введите описательную метку — например
admin-userилиregular-user - Выберите профиль Chrome, связанный с этой учётной записью
- Нажмите Save
Учётные данные регистрируются в API CyberStrike. С этого момента запросы, захваченные из этого профиля, автоматически помечаются ID учётных данных.
Автоматическая синхронизация заголовков
Когда расширение обнаруживает изменение заголовка авторизации в профиле — например, после обновления токена — оно автоматически синхронизирует обновлённые заголовки с учётными данными. Вам не нужно обновлять учётные данные вручную после ротации токенов.
Отслеживаемые заголовки аутентификации
Расширение мониторит следующие заголовки для отслеживания учётных данных:
| Заголовок | Описание |
|---|---|
Authorization | Bearer-токены, Basic-аутентификация |
Cookie | Сессионные cookie |
X-Auth-Token | Пользовательские токены аутентификации |
X-API-Key | API-ключи |
X-Access-Token | OAuth access-токены |
X-Session-Token | Сессионные токены |
X-CSRF-Token | CSRF-токены |
Фильтрация запросов
Расширение автоматически пропускает статические ресурсы для уменьшения шума:
| Категория | Расширения |
|---|---|
| Изображения | .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-краулер — автоматизированная альтернатива