Windows remote management на русском


Прочитано:
10 173

Я опишу процесс, каким образом можно централизованно активировать и настроить службу Windows Remote Management (WinRM) на всех целевых компьютерах с помощью Group Security Policy. Windows Remote Management – это специальный сервис, позволяющий администраторам получить возможность удаленного доступа и управления клиентскими и серверными ОС Windows.

Возьмем обычный ПК с  Windows 7, который включен в домен, и на котором не активирована функция Windows Remote Management. В командной строке введем следующую команду:

Запустим командную строку с правами администратора.

WinRM enumerate winrm/config/listener

Проверяем установлен ли wrm на рабочей станции., должно появиться следующее сообщение об ошибке, свидетельствующее о том, что WRM не установлен:

WSMan Fault. The client cannot connect to the destination specified in the request. Error number: – 2144108526 0?80338012

Если нужно настроить  WinRM  вручную на отдельной системе, достаточно набрать команду:

winrm quickconfig

Настраиваем подключение.Это я рассмотрел вариант установки на единичную рабочую станцию.

В том случае, если нужно настроить WinRM на группе компьютеров, то можно воспользоваться специальными параметрами групповой политики.  Создадим групповую политику на контейнер где располагаются рабочие станции. Конфигурация компьютера ПолитикиАдминистративные шаблоны -> Компоненты WindowsУдаленное управление Windows.  Активируем следующие параметры:

•    Клиент службы удаленного управления Windows.

•    Служба удаленного управления Windows

Редактируем созданную групповую политику.В разделе IPv4 filter укажем *, что означает, что компьютер может принимать подключения (а значит и управляющие команды) откуда угодно.

В разделе IPv4 filter укажем *, что означает, что компьютер может принимать подключения (а значит и управляющие команды) откуда угодно.

Далее в разделе Конфигурация компьютераПолитикиАдминистративные шаблоныКомпоненты WindowsУдаленная оболочка Windows

Активируем пункт:

Разрешить доступ к удаленной оболочке – Включена

Разрешаем доступ к удаленной оболочке.Управлять способом запуска служб можно из следующего раздела групповых политик: Конфигурация компьютера – Политики —  Конфигурация Windows — Параметры безопасности — Системные службы.

Настраиваем запуск службы.Открыть службу «Служба удаленного управления Windows (WM-Management) и произвести настройки ниже, см. скриншот.

Выставляем тип запуск автоматически.Все готово. Перезагружаем рабочую станцию и после активации WinRM с помощью групповой политики, на клиентской системе проверим статус службы с помощью знакомой команды:

WinRM enumerate winrm/config/listener

Проверяем статус примененной политики.Удостоверимся, что тип запуска службы WinRM  задан в автоматический . Хотя по факту тип запуска «автоматический с задержкой», т.к. по умолчанию для службы WinRM  задана задержка запуска (параметр  DelayedAutoStart=1 в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WinRM ).

Проверяем статус службы.

После применения групповой политики, данной системой можно управлять удаленно с помощью команд WinRS. Следующая команда откроет командную строку, запущенную на удаленной системе:

winrs –r:<имя_компьютера> cmd

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

В моем случаем тестовая машина называется alektest4

winrs -r:alektest4 cmd

Пример подключения к удаленной рабочей станции посредством winrs.

В этой статье мы рассмотрим, как централизованно включить и настроить службу удаленного управления Windows Remote Management (WinRM) на компьютерах домена с помощью групповых политик. Напомню, что Windows Remote Management это реализация протокола WS-Management Protocol для удаленного управления клиентскими и серверными ОС Windows. WinRM позволяет удаленно управлять компьютерами через:

  • Server Manager (Windows Server);
  • PowerShell Remoting (PSSession);
  • Windows Admin Center.

Как включить WinRM в Windows вручную?

Служба WinRM установлена во всех современных версиях Windows. В Windows Server она включена по умолчанию, и отключена в десктопных редакциях Windows 11/10/8.1). По умолчанию слушатель службы WinRM listener не принимает подключения. Чтобы проверить это, выполните на клиенте команду:

WinRM enumerate winrm/config/listener

Появится ошибка, которая говорит, что служба WinRM не настроена:

WSManFault Message = The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service: "winrm quickconfig".
Error number: -2144108526 0x80338012

служба winrm не настроена в windows

Чтобы включить и настроить службу WinRM в Windows, достаточно выполнить команду:

winrm quickconfig

или

Enable-PSRemoting –Force

WinRM has been updated to receive requests.
WinRM service type changed successfully.
WinRM service started.

включить WinRM вручную с помощью команды Enable-PSRemoting

Данная команда изменит тип запуска службы WinRM на автоматический, задаст стандартные настройки WinRM и добавить исключения для WinRM портов (5985 и 5986) в список исключений Windows Defender Firewall.

Настройка WinRM с помощью групповых политик

Вы можете автоматически включить и настроить WinRM на компьютерах домена с помощью групповых политик Windows.

  1. Откройте консоль редактора Group Policy Management Console (gpmc.msc), выберите контейнер с компьютерами на которых вы хотите включить WinRM и создайте новую политику corpEnableWinRM; групповая политика для включения WinRM
  2. Откройте политику на редактирование;
  3. Перейдите в раздел Computer Configuration -> Policies -> Windows Settings -> Security Settings -> System Services. Найдите службу Windows Remote Service (WS-Management) и настройте ее на автоматический запуск; автоматический запуск службы winrm
  4. Теперь перейдите в раздел Computer Policies -> Preferences -> Control Panel Settings -> Services и выберите New -> Service. Укажите имя службы WinRM и на вкладке Recovery задайте действие Restart the Service; настройка перезапуска службы winrm
  5. Перейдите в раздел Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Windows Remote Management (WinRM) -> WinRM Service. Включите параметр Allow remote server management through WinRM. В поле фильтр IPv4/IPv6 можно указать IP адреса или подсети, на которых нужно слушать удаленные подключения через WinRM. Если вы хотите разрешать принимать WinRM подключения на всех IP адресах, оставьте здесь *; Allow remote server management through WinRM параметр для включения winrm
  6. Откройте в Windows Defender Firewall правила, разрешающие подключаться к WinRM по стандартным портам 5985 и 5986. Перейдите в Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Windows Firewall with Advanced Security -> Windows Firewall with Advanced Security -> Inbound Rules. Выберите predefined rule Windows Remote Management; открыть правила для windows remote mahagement HTTP in в Windows Firewall
  7. Перейдите в раздел Computer Configuration -> Policies -> Windows Components -> Windows Remote Shell и включите параметр Allow Remote Shell Access. Allow Remote Shell Access

Обновите настройки GPO на клиентах и проверьте, что служба WinRM настроилась автоматически. Для диагностики применения групповой политики на клиенте можно использовать утилиту gpresult.

Проверка настроек WinRM

Чтобы проверить, что настройки WinRM на компьютере заданы через групповые политики, выполните команду:

winrm e winrm/config/listener

Команда выведет текущие настройки WinRM листенера. Обратите внимание на строку
Listener [Source="GPO"]
. Она означает, что настройки получены через групповые политики.

winrm e winrm/config/listener просмотр настроек winrm, служба настроена через GPO

Полную конфигурацию службы WinRM можно вывести с помощью команды:

winrm get winrm/config

Теперь нужно попробовать удаленно подключиться к компьютеру через WinRM. Запустите на удаленном компьютере консоль PowerShell с учетной записью с правами администратора на обоих компьютерах и выполните команду:

Test-WsMan YourCompName1

Если WinRM включен, появится такой ответ:

wsmid : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor : Microsoft Corporation
ProductVersion : OS: 0.0.0 SP: 0.0 Stack: 3.0

Test-WsMan проверка службы winrm по сети

Проверить доступность порта 5985 на удаленном компьютере можно так:

Test-NetConnection -ComputerName YourCompName1 -Port 5985

Теперь можно попробовать выполнить интерактивное подключение к удаленному компьютеру через PSRemoting с помощью командлета Enter-PSSession:

Enter-PSSession CompNameHere1

удаленное подключение к компьютеру через WinRM с помощью Enter-PSsession

В данном случае подключение было успешно установлено и перед вами открылась консоль удаленного сервера.

По аналогии через PSRemoting на удаленном компьютере команду можно выполнить произвольную команду с помощью Invoke-Command:

Invoke-Command -ComputerName YourCompName1 -ScriptBlock {ipconfig /all}

Если соединение работает, вы увидите на экране вывод команды
ipconfig
.

Также можно выполнить команду на удаленном хосте так:

winrs -r:wsk-w10BO1 dir

В некоторых случаях при подключении через PSSession может появится ошибка:

Enter-PSSession : Connecting to remote server wsk-w10BO1 failed with the following error message : Access is denied.
CategoryInfo : InvalidArgument: (wsk-w10BO1:String) [Enter-PSSession], PSRemotingTransportException FullyQualifiedErrorId : CreateRemoteRunspaceFailed

В этом случае проверьте настройки разрешения для подключения к WinRM на удаленном компьютере:

Set-PSSessionConfiguration -ShowSecurityDescriptorUI -Name Microsoft.PowerShell

Убедитесь, что ваша учетная запись входит в группу Administrators или Remote Management Users (см. статью об удаленном доступе через WinRM без прав администратора) и им предоставлены права FullControl. Также проверьте, нет ли Deny правил.

настройка прав для удаленного подключения через winrm

Для настройки WinRM и PSRemoting в рабочей группе (без домена AD) рекомендуем использовать эту инструкцию.

Собственно WinRM (или Windows Remote Management) и переводится как «удаленное управление Windows». WinRM – служба удаленного управления для операционных систем Windows. Она входит в состав операционных систем начиная с Vista и Server 2008, для Windows XP и Server 2003 ее нужно устанавливать отдельно отсюда. WinRM – серверная часть приложения удаленного управления, к которому возможно удаленное подключение с помощью клиента Windows Remote Shell (WinRS).

WinRM основан на службах Web Services for Management (WS-Management) и использует протокол HTTP (порт 80) или HTTPS (443) и запросы SOAP для выполнения работы. Независимо от используемого протокола весь трафик, передаваемый WinRM шифруется (если специально не отключить эту опцию). Для аутентификации по умолчанию используется протокол Kerberos.

 В Windows Server 2008 WinRM установлен, но (по соображениям безопасности) по умолчанию не включен. Чтобы проверить, запущен ли WinRM на нашей машине, набираем в командной строке winrm enumerate winrm/config/listener

Если ответа нет, значит WinRM не запущен. Для того, чтобы настроить WinRM на автоматический запуск и разрешить удаленное подключение к компьютеру, набираем команду winrm quickconfig  или winrm qc

Запускаем WinRM

Чтобы WinRM не спрашивал подтверждения, можно добавить к вызову ключ -quiet. Узнать информацию о более тонкой настройке можно посмотреть встроенную справку WinRM: winrm help config

Ну и отключить WinRM можно с помощью такой команды:
winrm delete winrm/config/listener?IPAdress=*+Transport=HTTP

 Также все необходимые настройки можно сделать с помощью групповых политик. Для этого нужно:

  • Настроить службу WinRM на автоматический запуск
  • Разрешить подключения на соответствующие порты (80 и 443) в брандмауэре Windows
  • Настроить элемент групповой политики Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Удаленное управление Windows\Служба удаленного управления Windows\Разрешить автоматическую установку прослушивателей (Computer Configuration\Administrative Templates\Windows Components\Windows Remote Management \WinRM Service\Allow automatic configuration of listeners). Тут нужно будет указать  IP-адреса, с которых разрешаются подключения.

 Теперь перейдем непосредственно к использованию. Для подключения к удаленному компьютеру используем утилиту WinRS. WinRS – аббревиатура для Windows Remote Shell (удаленная среда Windows). С WinRS мы можем делать удаленные запросы на компьютеры, на которых запущен WinRM. Однако имейте ввиду, что на вашей машине также необходимо запускать WinRM для работы с WinRS.

Основным способом использования WinRS является выполнение команд на удаленной машине. Имя компьютера задаётся ключом -r, а после него следует выполняемая команда, например winrsr:SRV2 ipconfig /all запускает на удаленном компьютере SRV2 команду ipconfig /all

Запуск удаленной команды

По умолчанию для коммуникаций используется протокол http, но можно использовать и https: winrs -r:https://SRV2 ipconfig /all

Также можно с помощью  WinRS открыть интерактивный сеанс на удалённом компьютере: winrs -r:SRV2 cmd.exe

Запуск удаленного сеанса

 Эта функция аналогична подключению по telnet, но использование WinRS однозначно лучше с точки зрения безопасности.

 Для использования WinRM все компьютеры должны быть членами одного домена. Если в вашем случае это не так, то можно попробовать понизить уровень безопасности. Для этого на компьютере, к которому хотим получить доступ, вводим следующие команды:

WinRM set winrm/config/service/auth @{Basic=«true»}

WinRM set winrm/config/client @{TrustedHosts=«<local>»}

WinRM set winrm/config/client @{TrustedHosts=«ComputerName»}

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

На компьютере, с которого будем подключаться, вводим :

WinRM set winrm/config/service/auth @{Basic=«true»}

WinRM set winrm/config/client @{TrustedHosts=«<local>»}

WinRM set winrm/config/client @{TrustedHosts=«ComрuterName»}

где ComputerName — компьютер, которым будем управлять.

Затем устанавливаем соедининие с помощью команды:

winrs -r:«ComputerName»: –u:Domain\Username –p:Password cmd.exe

где Domain\Username —  учетная запись пользователя с административными правами на удаленном компьютере.

В современном мире удаленное управление компьютерами становится все более популярным. Особенно это актуально для системы Windows, которая является одной из самых распространенных операционных систем. Однако, не всем пользователям известно, что Windows имеет инструмент для удаленного управления – Windows remote management.

Windows remote management – это инструмент, предоставляющий возможность управления компьютером с помощью командной строки или PowerShell, не выходя из дома или офиса. Это очень удобно, особенно когда необходимо выполнить какие-то действия на удаленном компьютере, а находиться рядом с ним нет возможности.

Использование Windows remote management довольно простое. Вам понадобятся только компьютеры под управлением Windows, на которых включен данный инструмент, и небольшое знание командной строки или PowerShell. Благодаря возможностям Windows remote management, вы сможете управлять несколькими компьютерами сразу, выполнять различные задачи, включая установку программ, конфигурацию сети, обновление операционной системы и многое другое.

Содержание

  1. Удаленное управление Windows: инструкция по использованию Windows remote management
  2. Как настроить удаленное управление Windows
  3. Как подключиться к удаленному компьютеру
  4. Основные команды для управления Windows удаленно

Удаленное управление Windows: инструкция по использованию Windows remote management

Для использования Windows Remote Management вам понадобится компьютер под управлением Windows и доступ к интернету. Вот пошаговая инструкция по настройке и использованию этой функции:

  1. Настройка службы Windows Remote Management (WinRM):

    Вам необходимо включить службу WinRM на компьютере, который вы хотите удаленно управлять. Для этого откройте командную строку от имени администратора и выполните следующую команду:

    winrm quickconfig
  2. Настройка брандмауэра:

    Чтобы разрешить удаленное управление, необходимо настроить брандмауэр Windows для пропуска соединений по протоколу WinRM. Для этого выполните следующую команду:

    netsh advfirewall firewall set rule group="Windows Remote Management" new enable=yes
  3. Установка клиента Windows Remote Management:

    Выполните данную команду в командной строке от имени администратора на компьютере, с которого вы будете управлять удаленным компьютером:

    winrm quickconfig
  4. Подключение к удаленному компьютеру:

    Для подключения к удаленному компьютеру используйте команду:

    winrs -r:адрес_компьютера "команда"

    Где «адрес_компьютера» — это IP-адрес или имя компьютера, который вы хотите удаленно управлять, а «команда» — это команда, которую вы хотите выполнить на удаленном компьютере. Например, чтобы выполнить команду «ipconfig», используйте следующую команду:

    winrs -r:адрес_компьютера "ipconfig"

Теперь вы знаете, как использовать Windows Remote Management для удаленного управления компьютерами под управлением Windows. Эта функция может значительно облегчить работу администраторов и повысить эффективность управления системой.

Как настроить удаленное управление Windows

Удаленное управление Windows позволяет администраторам управлять компьютерами, находящимися в других местах, при необходимости удаленного доступа.

Для настройки удаленного управления Windows, выполните следующие шаги:

  1. Включите удаленное управление на удаленном компьютере:
    • На удаленном компьютере откройте «Систему» в «Панели управления».
    • На вкладке «Удаленный доступ» установите флажок возле «Разрешить удаленное управление этим компьютером».
    • Нажмите «ОК», чтобы сохранить изменения.
  2. Настройте подключение к удаленному компьютеру:
    • На локальном компьютере запустите программу «Подключение к удаленным рабочим столам».
    • Нажмите «Добавить» и введите имя или IP-адрес удаленного компьютера, к которому вы хотите подключиться.
    • Нажмите «ОК», чтобы сохранить настройки.
  3. Установите соединение с удаленным компьютером:
    • На локальном компьютере запустите программу «Подключение к удаленным рабочим столам».
    • Выберите удаленный компьютер из списка и нажмите «Подключиться».
    • Введите учетные данные для удаленного компьютера (имя пользователя и пароль).
    • Нажмите «ОК», чтобы установить соединение.

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

Как подключиться к удаленному компьютеру

1. Установите Windows Remote Management (WinRM) на обоих компьютерах, если еще не сделали это. Для этого откройте командную строку от имени администратора и выполните следующую команду:

winrm quickconfig

2. Убедитесь, что на обоих компьютерах не блокируется удаленное управление через брандмауэр. Для этого выполните следующую команду:

netsh advfirewall firewall set rule group="remote administration" new enable=yes

3. Включите удаленное управление на удаленном компьютере. Для этого выполните следующую команду:

winrm set winrm/config/client @{TrustedHosts="*"}

4. Запустите удаленный командный интерфейс на локальном компьютере. Для этого откройте командную строку от имени администратора и выполните следующую команду:
winrs -r:имя_удаленного_компьютера команда

5. Введите имя пользователя и пароль для удаленного компьютера в соответствующие поля и нажмите Enter. После этого вы будете подключены к удаленному компьютеру.

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

Основные команды для управления Windows удаленно

1. Подключение к удаленному компьютеру

Для подключения к удаленному компьютеру можно использовать команду winrs. Например:

winrs -r:имя_компьютера команда

2. Выполнение команды на удаленном компьютере

Для выполнения команды на удаленном компьютере нужно использовать команду winrs -r:имя_компьютера команда. Например, чтобы выполнить команду ipconfig на удаленном компьютере, нужно ввести:

winrs -r:имя_компьютера ipconfig

3. Перезагрузка или выключение удаленного компьютера

Для перезагрузки или выключения удаленного компьютера можно использовать команды shutdown /r или shutdown /s соответственно. Например:

winrs -r:имя_компьютера shutdown /r
winrs -r:имя_компьютера shutdown /s

4. Управление службами на удаленном компьютере

Для управления службами на удаленном компьютере нужно использовать команду sc. Например, чтобы остановить службу с именем имя_службы на удаленном компьютере, нужно ввести:

winrs -r:имя_компьютера sc stop имя_службы

5. Копирование файлов на удаленный компьютер

Для копирования файлов на удаленный компьютер можно использовать команду scp. Например, чтобы скопировать файл file.txt на удаленный компьютер, нужно ввести:

scp file.txt имя_компьютера:/путь_на_удаленном_компьютере

6. Перезагрузка удаленного компьютера в безопасном режиме

Для перезагрузки удаленного компьютера в безопасном режиме можно использовать команду bcdedit. Например:

winrs -r:имя_компьютера bcdedit /set {current} safeboot minimal

Время на прочтение
9 мин

Количество просмотров 1.4K

Идея написать блог о том, как злоумышленники используют для перемещения в инфраструктуре жертвы возможности службы Windows Remote Management (WinRM) (Т1021.006), возникла у Антона Величко, руководителя Лаборатории компьютерной криминалистики компании F.A.C.C.T., еще в январе 2022 года. И виной тому стали не затянувшиеся новогодние праздники и наличие свободного времени, как может показаться, а как раз наоборот. В тот момент криминалисты F.A.C.C.T. столкнулись с очередным «праздничным» всплеском кибератак на российские компании, и в процессе реагирования на инцидент у одного из наших клиентов обнаружили интересный кейс, о котором Антон Величко и его соавтор — Кирилл Полищук захотели подробно рассказать.

Незваные гости

Итак, как все происходило: атакующие получили первоначальный доступ к периметру компании, проэксплуатировав уязвимость одного из публично доступных сервисов, и захватили полный контроль над инфраструктурой жертвы, развив атаку. Используя различные техники закрепления, злоумышленники обеспечили себе возможность доступа к внутреннему периметру на протяжении года! За это время они успешно провели не менее четырех атак, в ходе которых им удалось провести эксфильтрацию данных, неоднократно вмешиваться в работу различных систем, удалить критически важную информацию или зашифровать данные.

После очередной атаки IT-специалисты восстанавливали и перестраивали инфраструктуру, а спустя какое-то время злоумышленники возвращались, и атака повторялась снова. Таким образом, злоумышленники не только планомерно разрушали бизнес-процессы компании, но и превратили в ад жизнь IT-персонала, который любой малейший сбой в том или ином отделе воспринимал как очередной инцидент информационной безопасности и «невидимую руку хакеров».

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

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

Для перемещений по сети злоумышленники преимущественно использовали протокол удаленного рабочего стола (Remote Desktop Protocol), а после того как он был запрещен администраторами, переключились на WinRM. Использование злоумышленниками данной службы и наличие недокументированного и ранее не описанного артефакта, который был впервые обнаружен в ходе нашего реагирования, позволили выявить и дополнить список скомпрометированных узлов и лишить злоумышленников возможности взаимодействовать с сетью клиента.

В этом блоге мы хотим поделиться с профессиональным сообществом и читателями информацией о том, на какие артефакты можно опираться в процессе реагирования на инцидент, а также как оперативно выявить эксплуатируемые атакующими хосты инфраструктуры в случаях, когда они перемещаются при помощи WinRM.

Краткая справка о WinRM

WinRM — это название как службы, так и протокола Windows, разработанного прежде всего для IT-специалистов. Она используется для удаленного управления, администрирования и мониторинга систем. WinRM была впервые представлена в операционной системе Windows Vista в 2006 году и с тех пор интегрирована во все последующие версии Windows.

WinRM является реализацией протокола WS-Management, предназначенного для управления различными устройствами при помощи SOAP-запросов.

  • Служба WinRM запускается и работает в контексте процесса svchost.exe -k NetworkServices -p -s WinRM.

  • Начиная с версии 2.0 WinRM, слушатель службы %systemroot%\system32\WsmSvc.dll по умолчанию прослушивает порты 5985/TCP для HTTP-соединений и 5986/TCP для HTTPS-соединений. В Windows Server 2008 / Windows 7 использовались 80/TCP и 443/TCP соответственно.

  • WinRM поддерживает следующие механизмы аутентификации:

    • Basic — для аутентификации клиента и авторизации его запросов к серверу с помощью базовых HTTP-заголовков. Этот механизм аутентификации небезопасный и не рекомендуется к использованию, так как передача учетных данных происходит в явном виде.

    • Digest — это механизм аутентификации, который использует HTTP-заголовки для передачи аутентификационных данных между клиентом и сервером с помощью хеш-функции.

    • NTLM — для аутентификации клиента по имени пользователя и паролю, если клиент и сервер не являются членами одного домена или если применяется схожий механизм аутентификации.

    • Kerberos — для взаимной аутентификации между клиентом и сервером в домене Windows. Клиент и сервер должны быть членами одного домена.

    • SSL-сертификаты — для проверки легитимности сервера и клиента при использовании протокола HTTPS. Этот механизм аутентификации обеспечивает безопасность передаваемых данных посредством шифрования.

    • CredSSP — для делегирования учетных данных на сервер, который может их использовать для выполнения задач на удаленных компьютерах.

  • WinRM позволяет создать список доверенных узлов.

  • WinRM позволяет устанавливать продолжительные интерактивные сеансы с удаленным хостом, выполнять отдельные команды, скрипты, а также запросы WMI (CIM).

Выполнение PSRP, WinRS, CIM over WinRM

Перед тем как мы поговорим о том, какие артефакты могут нам помочь в расследовании инцидентов, хотелось бы рассказать об основных способах выполнения команд на хостах при помощи WinRM.

Как уже ранее говорилось, WinRM позволяет устанавливать интерактивные сессии и выполнять различные команды. При помощи штатных средств Windows это можно сделать несколькими способами:

  • PowerShell Remoting (PSRP)Например:Invoke-Command -ComputerName <RemoteComputer> -Scriptblock {EVIL.exe}Enter-PSSession -ComputerName <RemoteComputer> и др.

  • Windows Remote Shell (WinRS)Например:winrs -r: <RemoteComputer> EVIL.exe

  • WMI (CIM) over WinRM (начиная с PowerShell версии 3.0 добавлены командлеты CIM, работа которых осуществляется через WinRM).Например:Invoke-CimMethod -ClassName Win32_Process -MethodName “Create” -ComputerName <RemoteComputer> -Arguments @{CommandLine=’EVIL.exe’} и др.

Процессы, порождаемые PSRP, WinRS, CIM over WinRM

В зависимости от выбранного способа выполнения WinRM передаст управление DCOM-серверу (Distributed Component Object Model), который проведет запуск одного из трех провайдеров:

  1. %systemroot%\system32<b style=»box-sizing: border-box; outline: none; -webkit-tap-highlight-color: transparent; font-weight: bolder;»>wsmprovhost.exe (Microsoft Web Services Management Provider Host);

  2. %systemroot%\system32<b style=»box-sizing: border-box; outline: none; -webkit-tap-highlight-color: transparent; font-weight: bolder;»>winrshost.exe (Microsoft Windows Remote Shell Host);

  3. %systemroot%\system32<b style=»box-sizing: border-box; outline: none; -webkit-tap-highlight-color: transparent; font-weight: bolder;»>wmiprvse.exe (Windows Management Instrumentation Provider Host).

Таким образом, процесс того или иного провайдера будет запущен в контексте процесса svchost.exe -k -DcomLaunch -p, который, в свою очередь, станет родительским для порождаемой полезной нагрузки.

На рис. 1, 2 и 3 представлены цепочки процессов, возникающие при использовании PowerShell Remoting, Windows Remote Shell, а также при выполнении CIM-запросов.

Рис 1. Цепочка процессов при использовании PowerShell Remoting

Рис 1. Цепочка процессов при использовании PowerShell Remoting

Рис 2. Цепочка процессов при использовании WinRS

Рис 2. Цепочка процессов при использовании WinRS

Рис 3. Цепочка процессов при использовании CIM-запросов

Рис 3. Цепочка процессов при использовании CIM-запросов

Инструменты Red Team

При WinRM-перемещениях по хостам атакуемой инфраструктуры злоумышленники используют не только легитимные средства, но и различные инструменты или фреймворки, в которых реализована возможность взаимодействия с WinRM. Список некоторых инструментов и фреймворков представлен ниже.

Evil-WinRM

Evil-WinRM

Metasploit Framework

Metasploit Framework

Cobalt Strike

Cobalt Strike

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

Теперь рассмотрим небольшую эмуляцию, проделанную при помощи Evil-WinRM, и проведем реконструкцию активности на хосте по записям журналов событий.

В рамках данной эмуляции мы подключились к контроллеру домена, выполнили команды whoamihostname, загрузили в него файл evil.exe и запустили его (рис. 4).

Рис. 4. Действия с хоста атакующего

Рис. 4. Действия с хоста атакующего

В данном случае, при реконструкции действий атакующего, в журналах атакуемой ОС мы обнаружим список характерных событий, указывающих на использование PowerShell Remoting. Наиболее информативные из них, по моему мнению, представлены ниже.

Описание

ID события

1. События с назначенными привилегиями и нового входа с Logon ID, именем пользователя и адресом удаленного хоста

4672, 4624 (Security.evtx)

2. Событие запуска провайдера wsmprovhost.exe и оболочки WS-Man

4688 (Security.evtx)
91 (Microsoft-Windows-WinRM%4Operational.evtx)

3. События запуска процессов whoami.exe, hostname.exe, порождаемых от провайдера (оболочки) wsmprovhost.exe

4688 (Security.evtx)
400, 800 (Windows PowerShell.evtx)
4103, 4104 (Microsoft-Windows-PowerShell%4Operational.evtx)

4. Вызовы командлетов и создание блоков скрипта при доставке полезной нагрузки evil.exe

4103, 4104 (Microsoft-Windows-PowerShell%4Operational.evtx)

5. События запуска процесса evil.exe, порождаемого от провайдера (оболочки) wsmprovhost.exe

4688 (Security.evtx)
800 (Windows PowerShell.evtx)
4103, 4104 (Microsoft-Windows-PowerShell%4Operational.evtx)

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

Ни для кого не секрет, что атакующие для противодействия обнаружению и усложнения задач реагирующему специалисту довольно часто очищают журналы событий. Очистку журналов они могут осуществлять как штатными средствами ОС, так и с помощью функциональных возможностей, реализованных в используемых ими инструментах. И в этих условиях специалист будет вынужден погрузиться в более глубокий анализ различных источников криминалистических данных, таких как AmCache, ShimCache, SRUDB, $MFT и многих других. Но среди них не так много источников, которые позволят нам оттолкнуться и «пойти» в сторону точки входа.

Так, однажды погрузившись в исследование, нами был обнаружен параметр реестра WSManSafeClientList, который позволяет не только выявить технику продвижения, но и ряд потенциально эксплуатируемых атакующими узлов (рис. 5).

Рис.5. Список "безопасных" клиентов

Рис.5. Список «безопасных» клиентов

Список «безопасных» клиентов

Параметр реестра WSManSafeClientList появился в системах с момента появления Windows 8 и располагается по пути HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\SafeClientList. В него сохраняются IP-адреса успешно подключавшихся с помощью WinRM клиентов. А запись в него осуществляется слушателем службы WsmSvc.dll.

Проведенными исследованиями установлено, что:

  • параметр WSManSafeClientList отсутствует на хостах, к которым подключения не осуществлялись (в том числе когда служба WinRM сконфигурирована и запущена);

  • в параметр WSManSafeClientList записываются HEX-значения адресов IPv4 и IPv6, ранее подключавшихся при помощи WinRM;

  • максимальный размер параметра составляет 160 байт и может содержать до 10 уникальных IP-адресов;

  • размер каждой записи составляет 16 байт (рис. 6).

Рис. 6. Пример 10 записей параметра WSManSafeClientList и их интерпретация

Рис. 6. Пример 10 записей параметра WSManSafeClientList и их интерпретация

Запись адресов в параметр WSManSafeClientList осуществляется спустя 15 минут после успешного подключения с адреса, которого нет среди ранее записанных адресов, или в момент остановки службы.

В случае если адрес последнего подключившегося хоста уже имеется в списке, то порядок адресов в параметре не меняется и запись в него не производится.

При превышении количества записей в параметре первый адрес в списке будет удален, а новый — добавлен в конец списка (рис. 7).

Рис. 7. Пример 10 записей параметра WSManSafeClientList после превышения лимита записей

Рис. 7. Пример 10 записей параметра WSManSafeClientList после превышения лимита записей

Выводы и рекомендации

Несмотря на то, что WinRM — не самый часто используемый инструмент, возможности, предоставляемые атакующим службой WinRM и тривиальность детектирования традиционных методов продвижения по сети, обусловят все большее распространение данной техники.

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

  • Регулярно осуществляйте установку критических обновлений операционной системы и используемых программных продуктов.

  • Обеспечьте надежную защиту средств удаленного доступа в ИТ-инфраструктуру, в том числе с помощью мультифакторной аутентификации.

  • Глубина хранения журналов событий операционной системы и средств защиты информации должна быть не менее 3 месяцев.

  • Настройте сбор Windows событий:

    1. успешных и неуспешных попыток входа;

    2. включение/отключение учетных записей, их блокировка;

    3. создание локальных и доменных учетных записей;

    4. добавление пользователей в группы, особенно предоставляющие повышенные привилегии;

    5. создание служб, процессов и задач в планировщике;

    6. изменение доменных и локальных политик безопасности;

    7. выполнение команд, при помощи различных командных интерпретаторов;

    8. критические срабатывания встроенного защитника Windows (Windows Defender);

    9. доступа к объектам общей сетевой папки;

    10. очистки журналов событий.

  • Обеспечить защиту конечных устройств поможет решение F.A.C.C.T. Managed XDR, а  Attack Surface Management — позволит контролировать уровень информационной безопасности инфраструктуры организации.

  • Чтобы сформировать надежную, эффективную на практике защиту потребуются не только временные и материальные затраты, но и четкий список того, что необходимо улучшать или строить заново для успешного противостояния современным угрозам. Составить такой перечень поможет комплекс услуг Лаборатории компьютерной криминалистики компании F.A.C.C.T. по оценке готовности компании к реагированию на инциденты, а также проведение киберучений в формате Purple Teaming.

  • Windows remote server administration tool for windows 10
  • Windows remote management что это
  • Windows remote management как по русски
  • Windows remote desktop windows 10 home
  • Windows remote desktop client for windows