5985,5986 - Pentesting WinRM
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Join HackenProof Discord server to communicate with experienced hackers and bug bounty hunters!
Hacking Insights Engage with content that delves into the thrill and challenges of hacking
Real-Time Hack News Keep up-to-date with fast-paced hacking world through real-time news and insights
Latest Announcements Stay informed with the newest bug bounties launching and crucial platform updates
Join us on Discord and start collaborating with top hackers today!
Windows Remote Management (WinRM) é destacado como um protocolo da Microsoft que permite a gerência remota de sistemas Windows através de HTTP(S), aproveitando o SOAP no processo. É fundamentalmente alimentado pelo WMI, apresentando-se como uma interface baseada em HTTP para operações WMI.
A presença do WinRM em uma máquina permite uma administração remota simples via PowerShell, semelhante ao funcionamento do SSH para outros sistemas operacionais. Para determinar se o WinRM está operacional, é recomendável verificar a abertura de portas específicas:
5985/tcp (HTTP)
5986/tcp (HTTPS)
Uma porta aberta da lista acima significa que o WinRM foi configurado, permitindo assim tentativas de iniciar uma sessão remota.
Para configurar o PowerShell para WinRM, o cmdlet Enable-PSRemoting
da Microsoft entra em cena, configurando o computador para aceitar comandos remotos do PowerShell. Com acesso elevado ao PowerShell, os seguintes comandos podem ser executados para habilitar essa funcionalidade e designar qualquer host como confiável:
Esta abordagem envolve adicionar um caractere curinga à configuração trustedhosts
, um passo que requer consideração cautelosa devido às suas implicações. Também é observado que alterar o tipo de rede de "Público" para "Trabalho" pode ser necessário na máquina do atacante.
Além disso, o WinRM pode ser ativado remotamente usando o comando wmic
, demonstrado da seguinte forma:
Este método permite a configuração remota do WinRM, aumentando a flexibilidade na gestão de máquinas Windows à distância.
Para verificar a configuração da sua máquina de ataque, o comando Test-WSMan
é utilizado para checar se o alvo tem o WinRM configurado corretamente. Ao executar este comando, você deve esperar receber detalhes sobre a versão do protocolo e wsmid, indicando uma configuração bem-sucedida. Abaixo estão exemplos demonstrando a saída esperada para um alvo configurado em comparação a um não configurado:
Para um alvo que está corretamente configurado, a saída será semelhante a isto:
A resposta deve conter informações sobre a versão do protocolo e wsmid, significando que o WinRM está configurado corretamente.
Por outro lado, para um alvo não configurado para WinRM, isso resultaria na ausência de informações detalhadas, destacando a falta de uma configuração adequada do WinRM.
Para executar ipconfig
remotamente em uma máquina alvo e visualizar sua saída, faça:
Você também pode executar um comando do seu console PS atual via Invoke-Command. Suponha que você tenha localmente uma função chamada enumeration e você queira executá-la em um computador remoto, você pode fazer:
Para obter um shell PowerShell interativo, use Enter-PSSession
:
A sessão será executada em um novo processo (wsmprovhost) dentro do "vítima"
Para usar PS Remoting e WinRM, mas o computador não está configurado, você pode habilitá-lo com:
Isso não funcionará se o idioma estiver constrangido no computador remoto.
Dentro dessas sessões, você pode carregar scripts PS usando Invoke-Command
Se você encontrar o seguinte erro:
enter-pssession : Connecting to remote server 10.10.10.175 failed with the following error message : The WinRM client cannot process the request. If the authentication scheme is different from Kerberos, or if the client computer is not joined to a domain, then HTTPS transport must be used or the destination machine must be added to the TrustedHosts configuration setting. Use winrm.cmd to configure TrustedHosts. Note that computers in the TrustedHosts list might not be authenticated. You can get more information about that by running the following command: winrm help config. For more information, see the about_Remote_Troubleshooting Help topic.
A tentativa no cliente (informações de aqui):
Junte-se ao HackenProof Discord para se comunicar com hackers experientes e caçadores de bugs!
Insights de Hacking Engaje-se com conteúdo que mergulha na emoção e nos desafios do hacking
Notícias de Hack em Tempo Real Mantenha-se atualizado com o mundo do hacking em ritmo acelerado através de notícias e insights em tempo real
Últimos Anúncios Fique informado sobre os novos programas de recompensas por bugs que estão sendo lançados e atualizações cruciais da plataforma
Junte-se a nós no Discord e comece a colaborar com os melhores hackers hoje!
Tenha cuidado, forçar a entrada no winrm pode bloquear usuários.
Leia a documentação em seu github: https://github.com/Hackplayers/evil-winrm
Para usar evil-winrm para se conectar a um endereço IPv6, crie uma entrada dentro de /etc/hosts definindo um nome de domínio para o endereço IPv6 e conecte-se a esse domínio.
Código extraído daqui: https://alamot.github.io/winrm_shell/
port:5985 Microsoft-HTTPAPI
Junte-se ao HackenProof Discord para se comunicar com hackers experientes e caçadores de bugs!
Insights de Hacking Engaje-se com conteúdo que mergulha na emoção e nos desafios do hacking
Notícias de Hack em Tempo Real Mantenha-se atualizado com o mundo acelerado do hacking através de notícias e insights em tempo real
Últimos Anúncios Fique informado sobre os novos programas de recompensas por bugs que estão sendo lançados e atualizações cruciais da plataforma
Junte-se a nós no Discord e comece a colaborar com os melhores hackers hoje!
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)