惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CERT Recently Published Vulnerability Notes
K
Kaspersky official blog
S
Schneier on Security
Latest news
Latest news
Cisco Talos Blog
Cisco Talos Blog
T
Threatpost
T
Tor Project blog
T
Tenable Blog
The Register - Security
The Register - Security
T
Threat Research - Cisco Blogs
阮一峰的网络日志
阮一峰的网络日志
F
Fortinet All Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
H
Help Net Security
博客园_首页
I
Intezer
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
Project Zero
Project Zero
Recorded Future
Recorded Future
C
Cybersecurity and Infrastructure Security Agency CISA
Vercel News
Vercel News
A
Arctic Wolf
P
Palo Alto Networks Blog
The Hacker News
The Hacker News
博客园 - 三生石上(FineUI控件)
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
S
SegmentFault 最新的问题
Know Your Adversary
Know Your Adversary
P
Privacy & Cybersecurity Law Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Proofpoint News Feed
P
Privacy International News Feed
G
GRAHAM CLULEY
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
罗磊的独立博客
Simon Willison's Weblog
Simon Willison's Weblog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Scott Helme
Scott Helme
T
The Exploit Database - CXSecurity.com
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Security Latest
Security Latest
Cyberwarzone
Cyberwarzone
L
Lohrmann on Cybersecurity
C
Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
AWS News Blog
AWS News Blog

Homepage on Aditya Telange

Bypassing LinkedIn's Connection Privacy with a Simple Search Filter Making Dynamic Instrumentation Accessible with Frida UI Breaking Payload Encryption in Web Applications HackTheBox (HTB) - Escape HackTheBox (HTB) - Resolute HackTheBox (HTB) - Certified State of VMWare Workstation (Pro?) on Linux Android App Security Testing Lab with MobSleuth Android phone as a Webcam on Linux Breaking down Reverse shell commands HackTheBox (HTB) - Photobomb Merging AOSP Security Patches into Custom ROMs Primer on HTTP Security Headers Image Zoom-In effect with HUGO HackTheBox (HTB) - Legacy HackTheBox (HTB) - Lame Cryptohack - Keyed Permutations [5 pts] Cryptohack - Resisting Bruteforce [10 pts] Cryptohack - RSA Starter 1 [10 pts] Cryptohack - Base64 [10 pts] Cryptohack - Bytes and Big Integers [10 pts] Cryptohack - Hex [5 pts] Cryptohack- XOR Starter [10 pts] HackTheBox (HTB) - Horizontall HackTheBox (HTB) - Forge HackTheBox (HTB) - Previse HackTheBox (HTB) - BountyHunter HackTheBox (HTB) - Explore HackTheBox (HTB) - Cap HackTheBox (HTB) - Pit HackTheBox (HTB) - Knife HackTheBox (HTB) - Love HackTheBox (HTB) - Tenet HackTheBox (HTB) - Ready Watermarking images with HUGO My Github Project went viral! Cryptohack - ASCII [5 pts] Cryptohack - Finding Flags [2 pts] Cryptohack - Great Snakes [3 pts] Cryptohack - JWT Sessions [10 pts] Cryptohack - Network Attacks [5 pts] Cryptohack - Token Appreciation [5 pts] CAF's Android for MSM Basic Website Analytics with Vercel Github Actions as Temporary File Sharing Platform Addition of prebuilt APK - AOSP Rom Development External Link With target='_blank' in Hugo Markdown Setting Up Build Environment - AOSP Rom Development Getting Started - AOSP Rom Development Using Secure HTTP Headers with Vercel/Zeit Education and Certifications Link Tree ↟ | Aditya Telange Personal Projects Resume - Aditya Telange Security Acknowledgements About Me Graph View License Privacy Policy
One Year with evil-winrm-py - A Retrospective
[Aditya Telange](https://x.com/adityatelange) · 2026-04-13 · via Homepage on Aditya Telange

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.

alt text

The Motivation: Why rewrite evil-winrm?

The original Evil-WinRM is fantastic - interactive shell, file transfers, in-memory execution, and great for Active Directory pentesting.

But:

  • Ruby isn’t pre-installed everywhere (especially in minimal environments). Gem dependencies can be painful.
  • Command execution felt sluggish, especially for quick commands or when canceling long-running ones.
  • Interrupting commands with Ctrl+C often left the session in a weird state.
  • File transfers were extremely slow, especially for larger files.
  • And most importantly, remote path completion may be unavailable depending on the Ruby build: ruby itself must be compiled with 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.

Key Milestones Over the Past Year

The project now supports:

  • Interactive remote shell with command history, colorized output, and graceful Ctrl+C / Ctrl+D handling.
  • Fast, reliable upload/download with progress bars, speed/ETA, large-file support, and MD5 verification. Speed tests show significant improvements over the original.
  • Tab completion for local/remote paths (including spaces) and PowerShell cmdlets.
  • PowerShell tooling: loadps, runps, in-memory DLL loading (loaddll), EXE execution (runexe), and services listing.
  • Logging/debug mode plus lightweight Python-based usability.

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

Looking Ahead: Year Two and Beyond

The project isn’t “done” - it’s actively maintained with 230+ commits and ongoing improvements.

Planned or possible directions:

  • Inline Obfuscation: Adding options to obfuscate PowerShell commands on the fly for stealthier engagements.
  • Interactive Logon Type Execution: Support for running commands in different logon contexts for evasion.

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.

Thank You!

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.