WinRM

O WinRM é a implementação do WS-Management da Microsoft no Windows, que permite aos sistemas acessar ou trocar informações de gerenciamento em uma rede comum. O acesso é feito via terminal, de forma semelhante ao SSH.

Configurando o Server

Modo GUI - Modo Manual

  1. Iniciar > Executar > services.msc

  2. Ative o serviço Windows Remote Management (WS-Management)

  3. Iniciar > Executar > gpedit.msc

  4. Computer Configuration > Administrative Templates > Windows Components > Windows Remote Management (WinRM) > WinRM Service

  5. Dê 2 cliques em Allow remote server management through WinRM

  6. Ao abrir o popup, marque a opção Enabled

  7. No campo IP Filter, coloque os IP's que podem se conectar no host, ou se preferir, adicione um * para liberar acesso a todos os hosts

Em alguns casos, será preciso adicionar uma regra de excessão no firewall, então siga os passos a seguir, caso seja necessário:

  1. Iniciar > Executar > wf.msc

  2. No menu esquerdo, clique em Inbound Rules

  3. Clique com o botão direito em Windows Remote Management (HTTP-In) e depois selecione Enable Rule

Feito isso, basta adicionar (ou criar caso não exista) o usuário que deseja utilizar para acessar via WinRM e adicioná-lo no grupo Remote Management Users.

Modo GUI - Modo Prático

Semelhante a forma apresentada acima, incluindo as regras de firewall, porém de uma forma mais rápida.

Modo CLI (Powershell)

Iniciando o serviço

Adicionando o usuário que irá acessar via WinRM

Verificando a Configuração

Configurações completa

Retornando apenas a configuração do serviço

Configurando o Client

Modo GUI

Primeiro vá em Iniciar > Executar > gpedit.msc, depois em Computer Configuration > Administrative Templates > Windows Components > Windows Remote Management (WinRM) > WinRM Client. Dê 2 cliques em Trusted Hosts e ao abrir o popup, marque a opção Enabled e em TrustedHostsList, coloque os IP's dos hosts que você irá se conectar, ou se preferir, adicione um * para liberar acesso a todos os hosts.

Modo CLI (Powershell)

Para verificar quais hosts estão na lista de hosts confiáveis, utilize o comando:

Acessando WinRM

Inserindo comando no SO via WinRM sem deixar o shell interativo. Por padrão irá utilizar a porta 5985, então utilize o parâmetro -Port <port> para utilizar outra porta.

Powershell

Em alguns momentos esse acesso precisa ser realizado em uma movimentação lateral, pois alguns módulos de execução de comando irão falhar (ex Metasploit), isso devido a acessos administrativos ou a necessidade de uma autenticação Kerberos. Então a partir de um host Windows, utilize os comandos abaixo para realizar um RCE:

ou

winrs.exe

winrm (Linux)

Evil-WinRm (Linux)

Conectando com usuário e senha

Conectando com hash NTLM (Pass the Hash)

Verificando a versão do SO

Realizando download e upload de arquivos

Pegando todos os hashes NTLM com Evil-WinRM e Mimikatz.

Pegando todos os hashes com Evil-WinRM, SMBServer e Mimikatz.

Executando o Seatbelt.exe

PWSH (Linux)

Executando Comandos em Host Remoto

Sites

Last updated

Was this helpful?