Workstation и подключения¶
Машины операторов и то, как платформа достигает внешнего мира. Доступность: базовые функции в обоих изданиях; provisioning — EE.

Workstation¶
Три вложенные вкладки:
- Workstations — карточки машин со статусом жизненного цикла (planned → provisioning → ready), provider, SSH-доступность; действия: provisioning, рестарт, уничтожение, удаление, форс-удаление, журнал событий (автообновление во время переходов). Provisioning из шаблонов — EE.
- Templates (EE) — создание шаблонов workstation, запрос машин из них; ограничено планом (Team и выше)
- Pool & access — раздел org-админа: регистрируйте свои машины по SSH, затем выдавайте/отзывайте SSH-доступ по пользователям на основе ключевой пары платформы. Работает в обоих изданиях — аудит-трейл с дырами не имел бы ценности.
Флаг executor — любая машина пула может стать целью
скана/исполнения (ws:<id>), в рамках одного проекта или всех.
Переключается из Connections или через API workstation; события
выдачи/отзыва аудируются.
Журнал действий — опционально на машину: shell-хук отправляет каждую выполненную команду (пользователь, cwd, код возврата, IP клиента) в платформу; лента видна админам и попутно служит для атрибуции действий по engagement.
Терминальная телеметрия (2026-10) — поверх журнала команд, отдельно на машину:
- PTY-запись. При включении сессии login-shell машины работают под
обёрткой
script(1), и полный поток терминала доставляется на платформу тем же management-каналом (новых поверхностей на машине не открывается). Shell-хук помечает каждую выполняемую команду в потоке невидимой escape-последовательностью — запись нарезается на сегменты по командам: вывод команды сохраняется вместе с самой командой. - Терминальные сессии. Команды и записи коррелируются по
терминалу (
tty) в сессии: начало, активность, завершение. Повторное открытие того же терминала (переиспользование tty) закрывает старую сессию; после 30 минут тишины сессия уходит в idle. - Вложенные SSH. Команда, начинающая SSH-переход, фиксируется как hop в сессии. Строка команды доказывает намерение, а не факт — hop остаётся неподтверждённым, пока вывод терминала не подтвердит переход. Неопределённость показывается явно, а не угадывается.
- Автонаполнение проекта. Вывод известных инструментов (nmap,
netexec, secretsdump, hydra,
GetUserSPNs/GetNPUsers,ntlmrelayx,psexec/wmiexec/smbexec/atexec, responder, smbclient, whatweb,ip addr,ip route,ss,dig,nslookup) разбирается в структурированные наблюдения. Однозначные факты (открытый порт, DNS-ответ, обнаруженный хост) попадают в проект автоматически — заполняя пробелы и не перезаписывая существующие данные. Всё, что требует интерпретации (учётные данные, контекст доступа), остаётся черновиком-наблюдением до аппрува оператором. Повторный запуск той же команды не создаёт дубликатов; у каждой обогащённой сущности есть переход к команде и сессии, из которых она получена. - Секреты в командах. Операторы вводят учётные данные прямо в команды
(
-p pass,-hashes :LM:NT,user:pass@host). Такой материал маскируется везде, где аудитория широка: в таймлайне — для всех, в деталях команд и происхождении наблюдений — для ролей без права просмотра секретов учётных данных (viewer, client). Сырая команда доступна ролям с этим правом, а разобранные хэши/пароли сами по себе не попадают в поля проекта — они остаются внутри наблюдения-черновика, пока оператор его не подтвердит. - Deconfliction. Активность, задания и ручные клеймы питают карту занятости на хостах. Клеймы теперь покрывают также диапазоны (CIDR-блоки) и задачи (свободный текст области работы) с TTL. Платформа предупреждает, когда операторы работают с одним хостом, сканируют пересекающиеся диапазоны или действуют внутри диапазона, зарезервированного коллегой, — предупреждения носят рекомендательный характер и никогда не блокируют оператора.
Подключения¶
Infra → Connections консолидирует все настройки исходящего исполнения:
- SSH-цели атакующего — машины-executor, используемые сканами, массовыми запусками и pivot (хост, порт, учётные данные, jump/SOCKS-прокси, exec-прокси). См. Attacker SSH
- Egress-прокси — пул исходящих прокси с маршрутизацией
по категориям (AI, уведомления, provisioning, C2, DNS, pivot,
SSH), round-robin/failover, health-чеки и нижний уровень
исходящего трафика (в стиле
HTTP_PROXY) - Машины-executor — машины пула со статусом, типом аутентификации, бейджем executor, пробой доступности Test и переключателем executor вкл/выкл
Ожидаемое поведение¶
- Выдачи/отзывы ключей обновляют
authorized_keysна машине за секунды и попадают в аудит-лог - Переключатель executor немедленно включает/исключает машину как цель скана
Ограничения¶
- Регистрация требует SSH-доступности и учётных данных; платформа не создаёт машины в Core
- Запись действий и PTY включаются отдельно на каждую машину
- PTY-запись покрывает login-shell; панели мультиплексоров (tmux/zellij/screen) записываются только видимые — команды во всех панелях при этом ловятся shell-хуком. Полный по-панельный захват запланирован через агент воркстейшенов (см. Планы)
- Вывод команды прикрепляется, когда следующая команда закрывает сегмент; самая последняя команда сессии подхватывается следующим харвестом