Docs
Личный кабинетЛК

Agent Windows


Описание

Модуль agent/windows позволяет на ОС Windows провести сканирование агентом , в режиме без установки. Подробнее про агент можно почитать в соответствующей документации (см. Об агенте). Конфигурирование и запуск агента для Windows работает на основе WinRM.

WinRM (Windows Remote Management) — это протокол и служба, разработанные Microsoft для удаленного управления и выполнения задач на компьютерах под управлением операционных систем Windows. Он позволяет администраторам удаленно выполнять команды, настраивать системы, собирать информацию и управлять серверами через сеть.

Данный модуль производит следующие операции:

  • Открывает сетевое соединение с целевым хостом по протоколу WinRM.
  • Проверяет существование агента на хосте, если он есть - сверяет его версию с текущей. Если агент не требует обновления, то копирования агента по сети можно избежать.
  • Копирует (если необходимо) и запускает на нем агента для выполнения сканирования.
  • Получает результаты выполнения и отправляет их в систему .
  • Закрывает сетевое соединение.

Принцип работы WinRM

  1. Протокол и порты:
    • WinRM работает поверх HTTP (по умолчанию порт 5985) или HTTPS (по умолчанию порт 5986).
    • Для защищенного соединения используется HTTPS с сертификатами.
  2. Клиент-серверная архитектура:
    • Клиент отправляет запросы на удаленный компьютер через WinRM.
    • Сервер (служба WinRM) обрабатывает запросы, выполняет команды и возвращает результаты.
  3. Режимы работы:
    • Локальные команды - выполнение команд на локальном компьютере.
    • Удаленные команды - использование WinRM для управления другим компьютером.
    • Сценарии PowerShell Remoting - позволяют выполнять сложные задачи через сессии PowerShell.

Запуск службы WinRM

Для запуска службы WinRm выполните команду в PowerShell или командной строке с правами администратора:

winrm quickconfig

После выполнения команда:

  • Включает службу WinRM.
  • Открывает порт 5985 на брандмауэре.
  • Настраивает параметры для локального и удаленного управления.

Запуск сканирования

Для запуска агентов необходимо сконфигурировать переменные user, password, agentToken при настройке сканера. При создании запроса данные переменные указываются только в виде секретов (secrets). Прямое указание переменных в запросе запрещено.

Для использования полей с типом Список ([]) в запросе необходимо использовать конструкцию matrix (матрица). (см. Матрицы).

Поля для default секции

port

number

Номер порта (от 0 до 65535).

Пример:

5985

user

string

Пользователь, заполняется в виде secret. Создается при настройке сканера.

insecure

boolean

Булево значение, отключает проверку SSL-сертификатов.

password

string

Пароль. Заполняется в запросе как secret.

agentToken

string

Токен агента для отправки данных в систему. Заполняется в запросе как secret.

https

boolean

Булево значение, будет ли использоваться HTTPS-схема.


Поля для mutate секции

port

string

Номер порта (от 0 до 65535)

Пример:

5985


Результаты сканирования

ip

string

IP-адрес целевого хоста.

deviceId

string

Идентификатор устройства, на котором размещен агент .

success

boolean

Показывает, успешно ли был запущен агент .

logs

Log[]

Список логов, поступивших от агента (см. структура Log).

Пример использования


tasks:
- uses: tcp/probe@v1
default:
ports:
- '5985'
runPolicy: always
- uses: agent/windows@v1
events:
- event: tcp/probe@v1
condition: value.port == 5985
default:
port: 5985
user: ${{ secrets.USER }}
insecure: true
password: ${{ secrets.PASSWORD }}
agentToken: ${{ secrets.AGENT_TOKEN }}
runPolicy: triggered

Структура Log

time

string

Временная метка события.

level

string

Уровень логирования.

message

string

Текст сообщения/события, которое записывается в лог.

error

string

Детали ошибки.

collector

string

Название компонента/коллектора, сгенерировавшего лог.

duration

number

Время выполнения операции в секундах.

version

string

Версия слепка собранных данных.

Пояснение к примеру использования

1 задача: запуск TCP probe. С ее помощью определяются хосты в сети, у которых открыт порт 5985 для удаленного управления Windows-машинами службой WinRM.

2 задача: в случае нахождения хостов, указанных в задаче 1, вызывается модуль agent/windows@v1.

port: 5985 — порт WinRM для подключения к Windows-машине.

user и password — учетные данные для аутентификации (берутся из секретов secrets.USER и secrets.PASSWORD).

insecure : true — отключает проверку SSL-сертификатов.

agentToken — токен для авторизации агента (из секрета secrets.AGENT_TOKEN).

runPolicy : triggered — задача выполняется только при выполнении условия (доступность порта 5985).

Назад
Agent Linux
Вперед
ARP