PAGES
← all tools
◆ Post-Exploitation

evil-winrm

v4.1 open-source

Evil-WinRM is a WinRM shell for hacking/pentesting that connects to Windows servers via WinRM, supporting pass-the-hash, KerberosKerberosA network authentication protocol that uses tickets issued by a trusted service. Users and services can prove their identities without sending a password to each application., in-memory payload execution, and AMSI bypass.

Summary

evil-winrm is an open-source command-line shell, free to use, that connects to Windows machines over WinRM for post-exploitation work once valid credentials are in hand. It runs as a Ruby-based CLI on Linux or Windows clients and is aimed at red teamers and penetration testers rather than system administrators, though the README notes administrators could use it too. Its purpose is to replace a bare WinRM connection with something built for offensive use: it loads PowerShell scripts, DLLs, and C# assemblies into memory, supports pass-the-hash and Kerberos authentication including ccache and kirbi files, and includes a dynamic AMSI bypass. First committed in 2019, it remains actively maintained, with 24 contributors and a release just 30 days ago.

Evil-WinRM is a WinRM shell for hacking/pentesting that connects to Windows servers via WinRM, supporting pass-the-hash, Kerberos, in-memory payload execution, and AMSI bypass.

How evil-winrm helps

Which machines in this environment will let me in with just a hash or a ticket, no plaintext password needed?

opens an interactive PowerShell-style session over WinRM using pass-the-hash or Kerberos authentication, including ccache and kirbi ticket files, so credential material captured earlier is what gets you in

Can I run a script or tool on this host without it ever touching disk where an AV product might catch it?

loads PowerShell scripts, DLL files and C# assemblies straight into memory, with a dynamic AMSI bypass to keep those loads from being flagged

What services are running on a machine I've only got low-privilege access to?

lists the services on the remote machine over the same WinRM session without requiring elevated rights

Did I leave any trace of my commands or session on this box after I disconnect?

keeps command history stored locally per user and host rather than on the target, and clears the screen on request, but the session itself still runs as an interactive shell on the remote machine

all 10 features, with the evidence for each →

Languages

Not documented

Features

10 capabilities

Built from evil-winrm's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What evil-winrm offers you

  • Scripting language support3
  • Ticketing integration2
All capabilities 10 capabilities
Interactive session management (quit, Ctrl+D, keepalive) shipped Adds explicit exit commands ('quit'), alternative exit keys (Ctrl+D), and keepalive mechanisms to maintain idle sessions. 5 releases · 3 other sources · first seen Sep 2026

release

  • Adds keepalive to prevent Windows from disconnecting idle WinRM shells. v4.1 · Sep 2026 · source · release history
  • Adds Ctrl+D support as an alternative way to exit the shell session. v4.1 · Sep 2026 · source · release history
  • Adds quit command to explicitly exit the interactive shell v4.1 · Sep 2026 · source · release history
  • Adds quit command inside the shell as an explicit exit mechanism. v4.1 · Sep 2026 · source · release history
  • Adds Ctrl+D keybinding support to exit the interactive shell v4.1 · Sep 2026 · source · release history

docs

  • Commits on Sep 3, 2026 Merge pull request #83 from Hackplayers/dev Show description for 64d8e0f 64d8e0f Add automated RubyGems publishing workflow df4a9f2 Update changelog with WinRM handshake and keepalive fix a4a259d Fix false connected prompt and keep idle WinRM shells alive Show description for 97baa45 97baa45… docs update · Oct 2026 · source

example

  • Exit an active evil-winrm session cleanly via keyboard shortcut. <user presses Ctrl+D> v4.1 · Sep 2026 · source
  • Exit an active evil-winrm session using the new internal command. quit v4.1 · Sep 2026 · source
Ruby 4.0 support shipped Ensures compatibility with Ruby version 4.0 for execution and dependency resolution. 2 releases · 2 other sources · first seen Jan 2020

Also counts toward: Scripting language support

release

  • Adds Ruby 4.0 support. v4.1 · Sep 2026 · source · release history
  • Adds a visual progress bar for remote file uploads and downloads to improve user feedback during large transfers 2.2 · Jan 2020 · source · release history

example

  • Upload multiple files matching a pattern to the remote host. evil-winrm -i <target> -u <user> -p <pass> --upload '/local/path/*.log' 3.5 · Apr 2023 · source
  • Download all configuration files from the remote host. evil-winrm -i <target> -u <user> -p <pass> --download '/remote/path/*.conf' /local/dir/ 3.5 · Apr 2023 · source
Connection via Kerberos ccache ticket shipped Allows authentication and connection using a Kerberos credential cache file. 2 releases · 1 other source · first seen Mar 2021

Also counts toward: Ticketing integration

release

  • Adds -K flag to load Kerberos ticket files (ccache and kirbi formats) with automatic format detection/conversion and optional reverse DNS lookup for FQDN 3.8 · Dec 2025 · source · release history
  • Adds --spn flag to specify a custom Service Principal Name for Kerberos authentication 2.4 · Mar 2021 · source · release history

example

  • Connect using Kerberos ccache ticket evil-winrm -i hostname -r DOMAIN.COM -K /path/to/ticket.ccache
Connection via Docker container shipped Enables connecting to the target WinRM service by running the tool within a Docker container. 2 releases · 1 other source · first seen Apr 2023

release

example

  • Connect via Docker container docker run --rm -ti --name evil-winrm -v «home»/ps1_scripts:/ps1_scripts -v «home»/exe_files:/exe_files -v «home»/data:/data oscarakaelvis/evil-winrm -i 192.168.1.100 -u Administrator -p…
Remote path completion shipped Provides autocompletion for remote file paths during interactive sessions, requiring the readline-ext binding. 2 releases · first seen Dec 2025

release

  • Adds readline-ext as a required dependency to restore remote path completion compatibility with Ruby 3.3 and newer. v4.1 · Sep 2026 · source · release history
  • Adds clear, cls commands and Ctrl+L support for clearing screen 3.8 · Dec 2025 · source · release history
Connection via Kerberos kirbi ticket shipped Allows authentication and connection using a Kerberos kirbi ticket file. 1 release · 1 other source · first seen Dec 2025

Also counts toward: Ticketing integration

release

  • Adds -K flag to load Kerberos ticket files (ccache and kirbi formats) with automatic format detection/conversion and optional reverse DNS lookup for FQDN 3.8 · Dec 2025 · source · release history

example

  • Connect using Kerberos kirbi ticket evil-winrm -i hostname -r DOMAIN.COM -K /path/to/ticket.kirbi
Persistent command history shipped Stores previously executed commands per user and host in a local history file for later retrieval. 1 release · first seen Dec 2025

release

  • Adds persistent command history per user/host, stored in ~/.evil-winrm/history/ 3.8 · Dec 2025 · source · release history
AMSI bypass implementation shipped Provides internal mechanisms to bypass the Windows Script Host Anti-Malware Scan Interface. 1 release · first seen Oct 2024

release

Pass-the-hash authentication documented Supports authenticating to the WinRM service using hashed credentials for pass-the-hash attacks. 1 other source

Also counts toward: Scripting language support

docs

  • WinRM shell for pentesting that supports pass-the-hash, Kerberos auth, in-memory script/DLL/assembly loading, and file transfer.
Ruby script execution mode shipped Allows the tool to be connected to and operated directly via a Ruby script interface. 1 other source

Also counts toward: Scripting language support

example

  • Connect directly via Ruby script ruby evil-winrm.rb -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '«home»/ps1_scripts/' -e '«home»/exe_files/'

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for evil-winrm, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail evil-winrm puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

10 entries

  1. October 20261
  2. September 20263
  3. August 20261
  4. December 20251
  5. October 20241
  6. April 20231
  7. March 20211
  8. January 20201
    Show

    10 entries

    Project health

    Issue, contributor and maintainer activity in Hackplayers/evil-winrm, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 7 +1 vs prior 12 months
    2. Maintainers 3 +3 joined · −1 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed not measured of issues opened, last 12 months
    5. Median time to close not measured issues closed, last 12 months
    6. Open backlog not measured open issues today
    1. Issues opened / month not measured
    2. Open backlog not measured
    3. Contributors / month 2
    4. Commits / month 8
    5. Stars 5,504
    Issue themes, last 12 months not measured

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Articles

    4 articles · updated Nov 4, 2026

    Where evil-winrm turns up in what others publish: how-tos, attack reports that name it, and incident write-ups. A row says why it is here and quotes where the article names it; the link goes to the publisher.

    • A Detailed Guide on Evil-Winrm Hacking Articles
      Evil-winrm tool is originally written by the team Hackplayers.
      2 more quotes
      Evil-winrm works with PowerShell remoting protocol (PSRP).
      Using evil-winrm, we get a PowerShell session of the remote host.

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →