# Сканер-ВС 7: общий сценарий четырех практических блоков

## Назначение

Практикум учит воспроизводимому циклу:

> область работ → исследование сети → подключение активов → инвентаризация → поиск уязвимостей → проверка паролей и конфигурации → отчет → повторная проверка.

Материал адаптирует полезную последовательность из методички Сканер-ВС 6 к названиям задач и требованиям Сканер-ВС 7.x. Старые скриншоты, реквизиты и IP-адреса не используются.

## До начала занятия

1. Самостоятельно заполните [официальную форму демоверсии](https://scaner-vs.ru/#form).
2. Получите от производителя ссылку на актуальную демоверсию Сканер-ВС 7 Base и файл лицензии.
3. Сверьте контрольную сумму дистрибутива, если производитель ее опубликовал.
4. Зафиксируйте версию продукта, дату обновления баз и условия лицензии.
5. Подготовьте один из стендов: WSL 2, VirtualBox или Live USB.
6. Утвердите диапазон IP, список целей, время работ, допустимые методы и ответственного за остановку.

При первом входе следуйте [актуальной инструкции производителя](https://docs.etecs.ru/scanner/docs/getting-started/first-login/) и немедленно смените первоначальный пароль. Учебный архив его не дублирует.

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

## Правила стенда

- Уязвимые ВМ находятся только в Host-only/Internal Network.
- На время практики нет мостового интерфейса к корпоративной сети или интернету.
- Для Windows и Linux используются отдельные временные учетные записи.
- Парольная проверка проводится только на специально созданной синтетической записи.
- До изменения конфигурации создаются снимки ВМ.
- В отчете нет действующих паролей, токенов, ключей и лишних персональных данных.

## Блок 1. Подготовка и установка — 90 минут

### Цель

Получить воспроизводимый и изолированный стенд.

### Шаги

1. Запишите состав стенда: хостовая ОС, гипервизор/WSL, объем RAM и диска, версии гостевых ОС.
2. Проверьте источник дистрибутива и файл лицензии.
3. Для WSL выполните [пошаговую инструкцию с командами из предоставленного PDF](03-wsl-individual.md); для другого стенда используйте актуальную инструкцию выбранного варианта.
4. Смените все стандартные пароли до открытия сетевого доступа.
5. Обновите продуктовые базы в контролируемом окне, затем отключите лишний внешний доступ.
6. Создайте проект и задайте только разрешенный диапазон лабораторной сети.
7. Зафиксируйте снимок/точку восстановления.

### Результат

Заполненный паспорт стенда в [шаблоне отчета](REPORT-TEMPLATE.md).

## Блок 2. Исследование сети и подключение активов — 90 минут

### Задача «Исследование сети»

1. Создайте задачу **«Исследование сети»** для утвержденного диапазона.
2. Запустите задачу и дождитесь штатного завершения.
3. Сверьте найденные активы с паспортом стенда.
4. Зафиксируйте IP, предполагаемую ОС, доступные сервисы и открытые порты.
5. Отметьте неизвестные или неожиданные узлы; не расширяйте область работ без разрешения.

### Windows: WinRM

Основной маршрут занятия — vendor-скрипт `winrm.ps1` из поставки Сканер-ВС.

Для версии 7.x документация указывает каталог `/var/lib/echelon/0/scanner/scripts` на узле со сканером и веб-адрес `https://<IP-адрес Сканер-ВС>/winrm/`. Путь `/opt/echelon/scanner/scripts` из материалов версии 6 в эту инструкцию не переносится.

1. Получите скрипт только из установленного продукта или по адресу, указанному в официальной документации.
2. До запуска прочитайте скрипт. Ожидаемый SHA-256 и, если скрипт подписан, ожидаемого издателя получите из подписанного реестра преподавателя/вендора по независимому аутентифицированному каналу.
3. Используйте только лабораторную Windows и временную учетную запись локального администратора.
4. Настройте HTTPS WinRM на 5986; разрешите порт только от IP сканера.
5. Basic-аутентификация не передается по HTTP.
6. Создайте секрет/подключение в Сканер-ВС и проверьте статус.

Проверка перед документированной vendor-командой:

```powershell
$WinrmScript = '.\winrm.ps1'
$ExpectedWinrmSha256 = '<64_HEX_ИЗ_ПОДПИСАННОГО_РЕЕСТРА>'
$ExpectedPublisher = '<SUBJECT_ИЗ_ПОДПИСАННОГО_РЕЕСТРА_ИЛИ_UNSIGNED>'
if ($ExpectedWinrmSha256 -notmatch '^[0-9A-Fa-f]{64}$') { throw 'STOP: expected SHA-256 is absent' }
if ((Get-FileHash -LiteralPath $WinrmScript -Algorithm SHA256).Hash -ne $ExpectedWinrmSha256) { throw 'STOP: SHA-256 mismatch' }
$Signature = Get-AuthenticodeSignature -LiteralPath $WinrmScript
if ($Signature.Status -ne 'NotSigned' -and ($Signature.Status -ne 'Valid' -or $Signature.SignerCertificate.Subject -ne $ExpectedPublisher)) { throw 'STOP: Authenticode publisher mismatch' }
Powershell.exe -NoProfile -ExecutionPolicy Bypass -File $WinrmScript
```

Это не рекомендация постоянно ослаблять политику PowerShell. Команда допустима в лаборатории только после точного совпадения независимо полученного хеша; если Authenticode присутствует, подпись должна быть действительной, а издатель — совпасть с подписанным реестром. Любое несовпадение — **STOP**.

### Linux: SSH

1. Создайте отдельную временную учетную запись или ключ.
2. Ограничьте SSH адресом сканера.
3. Сохраните корректные права на ключи и `authorized_keys`.
4. Предоставьте контролируемый `sudo` только для действий практики; без привилегий результат может быть неполным.
5. Создайте SSH-секрет/подключение в Сканер-ВС и проверьте статус.

Не используйте `StrictModes no` на Linux.

### Результат

Карта активов и таблица подключений без паролей.

## Блок 3. Инвентаризация и поиск уязвимостей — 90 минут

### Контролируемое сравнение

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

1. Для одного учебного актива выполните поиск уязвимостей без аутентифицированной инвентаризации.
2. Сохраните параметры задачи и количество результатов.
3. Запустите задачу **«Инвентаризация»** с проверенным подключением.
4. Сверьте версии ПО, обновления, аппаратный состав и пользователей с самим активом.
5. Запустите **«Поиск уязвимостей»** повторно.
6. Сравните два результата: какие данные появились, исчезли или изменились и почему.

Перед запуском отдельно зафиксируйте выбранный источник сведений об уязвимостях. Не предполагайте, что все источники автоматически объединяются: актуальная документация предупреждает, что при выборе БДУ ФСТЭК России другие штатные источники могут игнорироваться, кроме пользовательской базы. Учебные запуски с разными источниками сравниваются как разные эксперименты, а не как один «суммарный» результат.

Если версия продукта позволяет экспортировать инвентаризацию в SPDX/CycloneDX, сохраните файл как дополнительный артефакт и отдельно проверьте его полноту: сам факт экспорта не доказывает качество SBOM.

Для выбранных находок проверьте:

- точное имя и версию продукта;
- CVE и запись БДУ, если она есть;
- техническую оценку CVSS;
- наличие в CISA KEV;
- EPSS как дополнительный прогноз;
- бюллетень вендора и наличие исправления;
- экспозицию и критичность учебного актива.

### Возможное ложное срабатывание

Не отмечайте результат ложным только потому, что он неудобен. Сначала соберите доказательства: фактическую версию, установленные обновления, конфигурацию, бюллетень вендора и повторную проверку. В отчете используйте статус «требует подтверждения», пока доказательств недостаточно.

### Результат

Реестр не менее трех вручную проверенных находок и сравнение двух запусков.

## Блок 4. Пароли, конфигурации и отчет — 90 минут

### Подбор паролей

1. Создайте отдельную синтетическую учетную запись с заранее известным слабым паролем.
2. Проверьте политику блокировки и согласуйте малый словарь.
3. Ограничьте задачу одним активом и одним сервисом.
4. Остановите проверку после первого результата.
5. Не показывайте найденный пароль в итоговом отчете.
6. После упражнения смените пароль и удалите чувствительный отчет.

### Аудит конфигурации

1. Выберите поддерживаемый шаблон **Best Practice** для фактической ОС/ПО.
2. Запустите задачу **«Аудит конфигурации»**.
3. Для нескольких правил зафиксируйте статус, текущее значение и рекомендацию.
4. Отделяйте небезопасную настройку от уязвимости версии ПО.
5. Не применяйте исправления автоматически, если это не входит в утвержденный сценарий.

Практика строится только на функциях фактической редакции. На дату проверки документации демоверсия Base имеет штатный набор шаблонов, а создание, редактирование и импорт собственных шаблонов относится к Enterprise; условия и число шаблонов могут измениться, поэтому их сверяют перед занятием.

### Отчет

Сформируйте отчет, затем вручную добавьте:

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

Используйте формат, предлагаемый фактической версией; HTML достаточно для базового задания. Введение в документацию упоминает HTML/PDF, но текущий сценарий формирования отчёта 7.x описывает краткий и полный отчёт в `.html`, поэтому доступный формат проверяют на установленной сборке. Если интерфейс предлагает скрыть найденные пароли, включите эту настройку и всё равно проверьте отчёт вручную перед передачей.

## Завершение и восстановление

1. Отзовите временные SSH-ключи и учетные записи.
2. Удалите правила брандмауэра и WinRM, созданные для стенда, только после проверки влияния.
3. Не применяйте бездумно `Disable-PSRemoting`: он отключает PowerShell Remoting целиком.
4. Удалите отчеты с открытыми паролями.
5. Восстановите снимки ВМ или документируйте оставшиеся изменения.

## Официальные ссылки

- [Управление задачами](https://docs.etecs.ru/scanner/docs/user-guide/running-tasks/)
- [Инвентаризация](https://docs.etecs.ru/scanner/docs/user-guide/running-tasks/inventory/)
- [Поиск уязвимостей](https://docs.etecs.ru/scanner/docs/user-guide/running-tasks/vulnerability-scan/)
- [Подбор паролей](https://docs.etecs.ru/scanner/docs/user-guide/running-tasks/password-cracking/)
- [Аудит конфигурации](https://docs.etecs.ru/scanner/docs/user-guide/running-tasks/audit-configuration/)
- [Настройка WinRM](https://docs.etecs.ru/scanner/docs/administration/secrets-and-connections/winrm-setup/)
- [Секреты и подключения](https://docs.etecs.ru/scanner/docs/administration/secrets-and-connections/)
