
La shell WinRM definitiva per hacking/pentesting
La shell WinRM definitiva per hacking/pentesting

Questa shell è la shell WinRM definitiva per hacking/pentesting.
WinRM (Windows Remote Management) è l'implementazione Microsoft del protocollo WS-Management. Un protocollo standard basato su SOAP che consente l'interoperabilità tra hardware e sistemi operativi di diversi fornitori. Microsoft lo ha incluso nei propri sistemi operativi per semplificare la vita agli amministratori di sistema.
Questo programma può essere utilizzato su qualsiasi server Microsoft Windows con questa funzionalità abilitata (di solito sulla porta 5985), ovviamente solo se si dispone di credenziali e permessi per usarlo. Quindi possiamo dire che potrebbe essere utilizzato in una fase di post-exploitation di hacking/pentesting. Lo scopo di questo programma è fornire funzionalità comode e facili da usare per l'hacking. Può essere utilizzato anche per scopi legittimi dagli amministratori di sistema, ma la maggior parte delle sue funzionalità è focalizzata su attività di hacking/pentesting.
Si basa principalmente sulla libreria Ruby WinRM, che ha cambiato il suo modo di funzionare dalla versione 2.0. Ora, invece di utilizzare il protocollo WinRM, usa PSRP (Powershell Remoting Protocol) per inizializzare i runspace pool e creare ed elaborare pipeline.
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
## Requisiti
È richiesto Ruby 2.3 o superiore. Sono necessari anche alcuni gem 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`.
A seconda del metodo di installazione scelto (4 disponibili), potrebbe essere necessario installarli manualmente.
Un altro requisito importante, utilizzato solo per l'autenticazione Kerberos, è installare il pacchetto Kerberos usato per l'autenticazione di rete.
Per alcune distribuzioni Linux basate su Debian (Kali, Parrot, ecc.) si chiama `krb5-user`. Per BlackArch si chiama `krb5` e probabilmente potrebbe avere un nome diverso per altre distribuzioni Linux.
La funzionalità di completamento automatico dei percorsi remoti richiede il binding nativo `readline-ext`, che viene installato automaticamente come dipendenza di Evil-WinRM. Alcuni sistemi richiedono pacchetti di sviluppo aggiuntivi per compilarlo. Consulta [la sezione seguente](#Remote-path-completion) per maggiori informazioni.
## Installazione e Avvio Rapido (4 metodi)
### Metodo 1. Installazione diretta come gem Ruby (le dipendenze verranno installate automaticamente sul tuo sistema)
- Passo 1. Installalo (installerà automaticamente le dipendenze): ```gem install evil-winrm```
- Passo 2. Fatto. Basta avviarlo!```
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### Metodo 3. Utilizzo di bundler (le dipendenze non verranno installate sul tuo sistema, solo per usare evil-winrm)
- Passo 1. Installa bundler: `gem install bundler`
- Passo 2. Clona il repository: `git clone https://github.com/Hackplayers/evil-winrm.git`
- Passo 3. Installa le dipendenze con bundler: `cd evil-winrm && bundle install --path vendor/bundle`
- Passo 4. Avvialo 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/'
## Documentazione
### Password in chiaro
Se non vuoi inserire la password in chiaro, puoi opzionalmente evitare di impostare l'argomento `-p` e la password verrà richiesta in modo interattivo, evitando che venga visualizzata.