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
Iniciar>Executar>services.mscAtive o serviço
Windows Remote Management (WS-Management)Iniciar>Executar>gpedit.mscComputer Configuration>Administrative Templates>Windows Components>Windows Remote Management (WinRM)>WinRM ServiceDê 2 cliques em
Allow remote server management through WinRMAo abrir o popup, marque a opção
EnabledNo 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:
Iniciar>Executar>wf.mscNo menu esquerdo, clique em
Inbound RulesClique com o botão direito em
Windows Remote Management (HTTP-In)e depois selecioneEnable 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)
DICA: Sempre que puder chamar um comando sem deixar a shell interativa, chame o powershell.exe ou cmd.exe, assim irá ficar interativo.
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
DICA: Caso o antivírus barre algum tipo de execução, como por exemplo no caso do SeatBelt, utilize o comando Bypass-4MSI no Evil-WinRM para fazer bypass no AV.
PWSH (Linux)
Executando Comandos em Host Remoto
Sites
Last updated
Was this helpful?