Есть легальный способ удаленного запуска скриптов на других тачках (как psexec, но разрешено системой)
Включено по умолчанию, начиная с Windows Server 2012
Возможно, понадобиться включить удаленное исполнение (Enable-PSRemoting) на Win Desktop машине (привилегии админа для этого необходимы)
Мы получим shell с повышенными правами на удаленной системе, если admin creds используются для аутентификации (это настройки по умолчаний).
PowerShell Remoting
PSSession
- Интерактивная
- Запускается в новом процессе (wsmprovhost)
- Stateful
Использует cmdlets:
- New-PSSession
- Enter-PSSession
One-to-Many (Fan-out)
не интерактивна
команды запускаются параллельно
Использует cmdlets:
- Invoke-Command
Запускает команды и скрипты:
- на нескольких удаленных компьютерах
- in disconnected sessions (v3)
- как фоновая служба и многое др
Лучшая штука в PowerShell для передачи хешей, использования кредов и запуска команд на множестве удаленных компьютеров
Для передачи username/password использовать параметр -Credential
Подключение с использованием логина и пароля
При соединении с удаленным сервером будет импортирован Invoke-Mimikatz.ps1