
O shell WinRM definitivo para hacking/pentesting
O shell WinRM definitivo para hacking/pentesting

Este shell é o shell WinRM definitivo para hacking/pentesting.
WinRM (Windows Remote Management) é a implementação da Microsoft do Protocolo WS-Management. Um protocolo padrão baseado em SOAP que permite que hardware e sistemas operacionais de diferentes fornecedores interoperem. A Microsoft o incluiu em seus sistemas operacionais para facilitar a vida dos administradores de sistemas.
Este programa pode ser usado em qualquer Microsoft Windows Server com esse recurso habilitado (geralmente na porta 5985), claro, apenas se você tiver credenciais e permissões para usá-lo. Então podemos dizer que ele poderia ser usado em uma fase de pós-exploração de hacking/pentesting. O propósito deste programa é fornecer recursos agradáveis e fáceis de usar para hacking. Ele também pode ser usado com propósitos legítimos por administradores de sistemas, mas a maioria de seus recursos é focada em coisas de hacking/pentesting.
Ele é baseado principalmente na biblioteca WinRM Ruby, que mudou sua forma de funcionar desde sua versão 2.0. Agora, em vez de usar o protocolo WinRM, ele usa PSRP (Powershell Remoting Protocol) para inicializar runspace pools, bem como criar e processar pipelines.
Usage: evil-winrm -i IP -u USER [-s SCRIPTS_PATH] [-e EXES_PATH] [-P PORT] [-a USERAGENT] [-p PASS] [-H HASH] [-U URL] [-S] [-c PUBLIC_KEY_PATH ] [-k PRIVATE_KEY_PATH ] [-r REALM] [-K TICKET_FILE] [--spn SPN_PREFIX] [-l] -S, --ssl Enable ssl -c, --pub-key PUBLIC_KEY_PATH Local path to public key certificate -k, --priv-key PRIVATE_KEY_PATH Local path to private key certificate -r, --realm DOMAIN Kerberos auth, it has to be set also in /etc/krb5.conf file using this format -> CONTOSO.COM = { kdc = fooserver.contoso.com } -K, --ccache TICKET_FILE Path to Kerberos ticket file (ccache or kirbi format, auto-detected) -s, --scripts PS_SCRIPTS_PATH Powershell scripts local path --spn SPN_PREFIX SPN prefix for Kerberos auth (default HTTP) -e, --executables EXES_PATH C# executables local path -i, --ip IP Remote host IP or hostname. FQDN for Kerberos auth (required) -U, --url URL Remote url endpoint (default /wsman) -u, --user USER Username (required if not using kerberos) -p, --password PASS Password -H, --hash HASH NTHash -P, --port PORT Remote host port (default 5985) -a, --user-agent Specify connection user-agent (default Microsoft WinRM Client) -V, --version Show version -n, --no-colors Disable colors -N, --no-rpath-completion Disable remote path completion -l, --log Log the WinRM session -h, --help Display this help message
## Requisitos
É necessário Ruby 2.3 ou superior. Algumas gems do Ruby também são necessárias: `winrm >=2.3.7`, `winrm-fs >=1.3.2`, `stringio >=0.0.2`, `logger >= 1.4.3`, `fileutils >= 0.7.2`, `readline ~> 0.0.4`, `readline-ext ~> 0.2.0`.
Dependendo do seu método de instalação (4 disponíveis), a instalação delas pode precisar ser feita manualmente.
Outro requisito importante, usado apenas para autenticação Kerberos, é instalar o pacote Kerberos utilizado para autenticação de rede.
Para alguns Linux baseados em Debian (Kali, Parrot, etc.), ele é chamado de `krb5-user`. Para BlackArch, ele é chamado de `krb5` e provavelmente pode ter um nome diferente em outras distribuições Linux.
O recurso de preenchimento automático de caminhos remotos requer o binding nativo `readline-ext`, que é instalado automaticamente como dependência do Evil-WinRM. Alguns sistemas exigem pacotes de desenvolvimento adicionais para compilá-lo. Consulte [a seção abaixo](#Remote-path-completion) para mais informações.
## Instalação e Início Rápido (4 métodos)
### Método 1. Instalação diretamente como gem do ruby (as dependências serão instaladas automaticamente no seu sistema)
- Passo 1. Instale-o (as dependências serão instaladas automaticamente): ```gem install evil-winrm```
- Passo 2. Pronto. Basta iniciá-lo!```
evil-winrm -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/home/foo/ps1_scripts/' -e '/home/foo/exe_files/'
sudo gem install winrm winrm-fs stringio logger fileutils readline readline-extgit clone https://github.com/Hackplayers/evil-winrm.git### Método 3. Usando bundler (as dependências não serão instaladas no seu sistema, apenas para usar o evil-winrm)
- Passo 1. Instale o bundler: `gem install bundler`
- Passo 2. Clone o repositório: `git clone https://github.com/Hackplayers/evil-winrm.git`
- Passo 3. Instale as dependências com o bundler: `cd evil-winrm && bundle install --path vendor/bundle`
- Passo 4. Inicie-o com o bundler:```
bundle exec evil-winrm.rb -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/home/foo/ps1_scripts/' -e '/home/foo/exe_files/'
## Documentação
### Senha em texto claro
Se você não quiser colocar a senha em texto claro, pode opcionalmente evitar definir o argumento `-p` e a senha será solicitada, impedindo que seja exibida.
### IPv6
Para usar IPv6, o endereço deve ser adicionado ao /etc/hosts. Basta colocar o nome do host já definido após o argumento `-i` em vez de um endereço IP.