




















Exactly one year since I pushed the first commit to evil-winrm-py.
It started as a simple idea: the legendary Evil-WinRM (the Ruby tool every pentester loves) was incredibly powerful, but slower command execution and canceling commands felt clunky.
I wanted a version that was faster, more responsive, and handled interrupts gracefully, and since Python is my go-to language, it made sense to rewrite it in Python. So I set out to rewrite it from scratch in Python, leveraging libraries like pypsrp for the heavy lifting of WinRM communication.
Today, evil-winrm-py has grown into a mature, actively used tool with over 340 stars, inclusion in Kali Linux, Parrot OS, BlachArch, and an AUR package, regular releases, and positive feedback from the community. Here’s the story of the past year, what we’ve built, and where we’re headed.

The original Evil-WinRM is fantastic - interactive shell, file transfers, in-memory execution, and great for Active Directory pentesting.
But:
Ctrl+C often left the session in a weird state.readline support, otherwise this feature will not work.I wanted a tool that solved these issues while maintaining all the core features and adding some new ones. Python’s rich ecosystem and my familiarity with it made it the perfect choice.
The project now supports:
Ctrl+C / Ctrl+D handling.loadps, runps, in-memory DLL loading (loaddll), EXE execution (runexe), and services listing.Includes support for:
NTLM, Pass-the-Hash, certificate-based auth, and Kerberos (with custom SPN/hostname).SSL/TLS, custom WSMan URIs, and custom User-Agent support.The tool is part of the standard repositories for Kali Linux, Parrot OS, and BlackArch, and has an AUR package for Arch Linux users. It’s also available on PyPI for easy installation with pip. Thanks to the community for packaging it and making it widely accessible!
Installation couldn’t be simpler:
pip install evil-winrm-py
For Kerberos on Linux:
sudo apt install gcc python3-dev libkrb5-dev krb5-pkinit
pip install evil-winrm-py[kerberos]
(Pro tip: Use pipx or uv for isolated installs to avoid conflicts.)
The project isn’t “done” - it’s actively maintained with 230+ commits and ongoing improvements.
Planned or possible directions:
If you’re doing Active Directory assessments, lateral movement, or just need reliable WinRM access, give evil-winrm-py a spin:
evil-winrm-py -i 192.168.1.100 -u Administrator -p P@ssw0rd --ssl
Check the full docs in the repo: Installation and Usage.
To everyone who starred, forked, reported issues, contributed code, packaged it for distros, or just tweeted about it! This project started as a learning exercise and became something genuinely useful thanks to the open-source community.
Special thanks to David Forsythe (0xdf) for being one of the first users, helping me debug early issues, and featuring it in his blog.
If you found this tool helpful, star the repo and share your experiences in the comments or on X. Feedback drives the next features!
What’s your favorite feature so far, or what would you like to see added? Let me know below.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。