
La shell WinRM definitiva para hacking/pentesting
El shell WinRM definitivo para hacking/pentesting

Este shell es el shell WinRM definitivo para hacking/pentesting.
WinRM (Windows Remote Management) es la implementación de Microsoft del protocolo WS-Management. Un protocolo estándar basado en SOAP que permite la interoperabilidad entre hardware y sistemas operativos de diferentes fabricantes. Microsoft lo incluyó en sus sistemas operativos para facilitar la vida a los administradores de sistemas.
Este programa puede usarse en cualquier servidor Microsoft Windows con esta función habilitada (normalmente en el puerto 5985), por supuesto solo si tienes credenciales y permisos para usarlo. Así que podemos decir que podría usarse en una fase de post-explotación de hacking/pentesting. El propósito de este programa es proporcionar funciones agradables y fáciles de usar para el hacking. También puede usarse con fines legítimos por administradores de sistemas, pero la mayoría de sus funciones están enfocadas en temas de hacking/pentesting.
Se basa principalmente en la librería Ruby WinRM, que cambió su forma de funcionar desde su versión 2.0. Ahora, en lugar de usar el protocolo WinRM, utiliza PSRP (Powershell Remoting Protocol) para inicializar pools de runspace, así como para crear y procesar 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
Se necesita Ruby 2.3 o superior. También se requieren algunas gemas de Ruby: `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`.
Dependiendo de tu método de instalación (4 disponibles), la instalación de estas podría requerirse de forma manual.
Otro requisito importante, utilizado solo para la autenticación Kerberos, es instalar el paquete Kerberos usado para la autenticación de red.
Para algunos Linux basados en Debian (Kali, Parrot, etc.) se llama `krb5-user`. Para BlackArch se llama `krb5` y probablemente podría llamarse de otra manera en otras distribuciones de Linux.
La función de autocompletado de rutas remotas requiere el enlace nativo `readline-ext`, que se instala automáticamente como dependencia de Evil-WinRM. Algunos sistemas requieren paquetes de desarrollo adicionales para compilarlo. Consulta [la sección siguiente](#Remote-path-completion) para más información.
## Instalación e inicio rápido (4 métodos)
### Método 1. Instalación directa como gema de ruby (las dependencias se instalarán automáticamente en tu sistema)
- Paso 1. Instálala (instalará automáticamente las dependencias): ```gem install evil-winrm```
- Paso 2. Listo. ¡Solo ejecútala!```
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 (las dependencias no se instalarán en tu sistema, solo para usar evil-winrm)
- Paso 1. Instala bundler: `gem install bundler`
- Paso 2. Clona el repositorio: `git clone https://github.com/Hackplayers/evil-winrm.git`
- Paso 3. Instala las dependencias con bundler: `cd evil-winrm && bundle install --path vendor/bundle`
- Paso 4. Ejecútalo con 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/'
## Documentación
### Contraseña en texto claro
Si no quieres poner la contraseña en texto claro, puedes evitar opcionalmente establecer el argumento `-p` y la contraseña se solicitará de forma interactiva evitando que se muestre.