WINRM Exploit

WINRM - Windows Remote Management é a implementação do protocolo WS-Management e usa SOAP (Simple Object Access Protocol) e HTTP para a comunicação com serviços remotos. Por padrão, o WINRM não é habilitado, e quando está habilitado usa as portas 5985 e 5986 (HTTPS). 

Geralmente, o WINRM é usado da seguinte forma:

  • Acesso remoto e interação com hosts windows na rede local
  • Acesso remoto e execução de comandos remotamente
  • Gerenciamento e configuração de hosts windows remotamente

O WINRM implementa autenticação para o acesso remoto, e durante o pentest ou ataque, caso não tenha uma credencial válida para acesso com o WINRM, é necessário realizar um brute-force. 

Crackmapexec Brute-Force

Crackmapexec é uma excelente ferramenta para interação com hosts windows (mas não se limita a este), oferencendo suporte para os protocolos LDAP, SMB, SSH, MYSQL e WINRM 

Durante o scan inicial, o resultado do nmap não revela o uso do WINRM explicitamente com o banner do serviço na porta 5985, conforme é mostrado abaixo. 


No entanto, sabendo que essa porta é usada pelo WINRM, seguimos com o crackmapexec para executar o brute-force. O alvo do brute-force é a conta de administrador local pois essa é a conta padrão em qualquer instalação do Windows. 

crackmapexec winrm [IP] -u administrator -p /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt


O crackmapexec permite a execução remota de código. 

crackmapexec winrm 10.4.26.131 -u Administrator -p tinkerbell -x "systeminfo"   


Evil-WINRM

Outra ferramenta para explorar o WINRM é o script evil-winrm e o download pode ser feito AQUI

Depois do brute-force e após conseguir a credencial de acesso, o Evil-WINRM pode ser usado para acesso. 

evil-winrm.rb -u administrator -p 'tinkerbell' -i [IP] 


O Evil-WINRM abre uma instância do power-shell através do protocolo WINRM. 

MSF exploit WINRM 

O Metasploit também possui o módulo winrm_script_exec para acesso ao WINRM, conforme mostrado abaixo. 

/exploit/windows/winrm/winrm_script_exec

Esse módulo faz uma shell-reversa para a máquina do atacante. Além dos parâmetros LHOSTS, LPORT, RHOSTS e RPORT, é necessário configurar o parâmetro FORCE_VBS pois o módulo usa VBS para executar o exploit. 



Uma instância do meterpreter é iniciada no host remoto através do WINRM 



Neste artigo, mostrei três formas de explorar o WINRM para acesso não autorizado a máquinas windows, a partir de uma credencial descoberta através de brute-force. 


Referências:

[+] WINRM - Documentação da Microsoft 

https://docs.microsoft.com/pt-br/windows/win32/winrm/portal

[+] Crackmapexec 

https://www.kali.org/tools/crackmapexec/

[+] Evil-WINRM

https://github.com/Hackplayers/evil-winrm


Comentários

Postagens mais visitadas