evil-winrm-py

作者 adityatelange已验证

Execute commands interactively on remote Windows machines using the WinRM protocol (just faster)

391
Stars
37
Forks
Python
语言
2026/8/23
添加时间

⚠️ 第三方软件声明

本 Skill 为第三方开源软件,独立托管于 GitHub。SkillTip 仅为信息目录,不控制或维护底层仓库。所显示的安全检查为自动化且范围有限,安装前请自行审查源码。

阅读服务条款

安装

添加到你的 Claude Code skills 目录:

# Add to your Claude Code skills
git clone https://github.com/adityatelange/evil-winrm-py

快速入门

使用 evil-winrm-py 等 Skills 的指南。

安全报告

已验证

上次扫描:—

{
  "status": "PASSED",
  "issues": []
}

README.md

ewp-logo

evil-winrm-py

PyPI version Python License PyPI Downloads Github Wiki

evil-winrm-py is a python-based tool for executing commands on remote Windows machines using the WinRM (Windows Remote Management) protocol. It provides an interactive shell with enhanced features like file upload/download, command history, and colorized output. It supports various authentication methods including NTLM, Pass-the-Hash, Certificate, and Kerberos.

[!NOTE] This tool is designed strictly for educational, ethical use, and authorized penetration testing. Always ensure you have explicit authorization before accessing any system. Unauthorized access or misuse of this tool is both illegal and unethical.

Motivation

The original evil-winrm is written in Ruby, which can be a hurdle for some users. Rewriting it in Python makes it more accessible and easier to use, while also allowing us to leverage Python’s rich ecosystem for added features and flexibility.

I also wanted to learn more about winrm and its internals, so this project will also serve as a learning experience for me.

Features

  • Execute commands on remote Windows machines via an interactive shell.
  • Download files from the remote host to the local machine.
  • Upload files from the local machine to the remote host.
  • Progress bar for file transfers with speed and time estimation.
  • Stable and reliable file transfer including support for large files with MD5 checksum verification.
  • Auto-complete local and remote file paths (even those with spaces) with Tab completion.
  • Auto-complete PowerShell cmdlets/helpers with Tab completion. 🆕
  • Load PowerShell functions from local scripts into the interactive shell. 🆕
  • Run local PowerShell scripts on the remote host. 🆕
  • Load local DLLs (in-memory) as PowerShell modules on the remote host. 🆕
  • Upload and execute local EXEs (in-memory) on the remote host. 🆕
  • List the running services (except system services) on the remote host. 🆕
  • Optional MCP server mode to expose WinRM login/execute/logout as tools for MCP clients, with support for multiple concurrent sessions. 🆕
  • Enable logging and debugging for better traceability.
  • Navigate command history using up/down arrow keys.
  • Display colorized output for improved readability.
  • Lightweight and Python-based for ease of use.
  • Keyboard Interrupt (Ctrl+C / Ctrl+D) support to terminate long-running commands gracefully.

Includes support for:

  • NTLM authentication.
  • Pass-the-Hash authentication.
  • Certificate authentication.
  • Kerberos authentication with custom SPN prefix and hostname options.
  • SSL to secure communication with the remote host.
  • custom WSMan URIs.
  • custom user agent for the WinRM client.

Detailed documentation can be found in the docs directory.

Installation (Windows/Linux)

Installation of Kerberos prerequisites on Linux

sudo apt install gcc python3-dev libkrb5-dev krb5-pkinit
# Optional: krb5-user

Install evil-winrm-py

You may use pipx or uv instead of pip to install evil-winrm-py. pipx/uv is a tool to install and run Python applications in isolated environments, which helps prevent dependency conflicts by keeping the tool's dependencies separate from your system's Python packages.

pip install evil-winrm-py
pip install evil-winrm-py[kerberos] # for kerberos support on Linux

# Note: building gssapi and krb5 packages may take some time, so be patient.

or if you want to install with latest commit from the main branch you can do so by cloning the repository and installing it with pip/pipx/uv:

git clone https://github.com/adityatelange/evil-winrm-py
cd evil-winrm-py
pip install .
pip install .[mcp] # for optional MCP server support (requires Python 3.10+), not yet released on PyPI

Update

pip install --upgrade evil-winrm-py

Uninstall

pip uninstall evil-winrm-py

Check Installation Guide for more details.

Availability on Unix distributions

Packaging status

For above mentioned distributions, you can install evil-winrm-py directly from their package managers. Thanks to the package maintainers for packaging and maintaining evil-winrm-py in their respective distributions.

Usage

Details on how to use evil-winrm-py can be found in the Usage Guide.

usage: evil-winrm-py [-h] -i IP [-u USER] [-p PASSWORD] [-H HASH]
                     [--priv-key-pem PRIV_KEY_PEM] [--cert-pem CERT_PEM] [--uri URI]
                     [--ua UA] [--port PORT] [--spn-prefix SPN_PREFIX]
                     [--spn-hostname SPN_HOSTNAME] [-k] [--no-pass] [--ssl] [--log]
                     [--debug] [--no-colors] [--version] [--mcp] [--mcp-port MCP_PORT]
                     [--mcp-host MCP_HOST]

options:
  -h, --help            show this help message and exit
  -i, --ip IP           remote host IP or hostname
  -u, --user USER       username
  -p, --password PASSWORD
                        password
  -H, --hash HASH       nthash
  --priv-key-pem PRIV_KEY_PEM
                        local path to private key PEM file
  --cert-pem CERT_PEM   local path to certificate PEM file
  --uri URI             wsman URI (default: /wsman)
  --ua UA               user agent for the WinRM client (default: "Microsoft WinRM Client")
  --port PORT           remote host port (default 5985)
  --spn-prefix SPN_PREFIX
                        specify spn prefix
  --spn-hostname SPN_HOSTNAME
                        specify spn hostname
  -k, --kerberos        use kerberos authentication
  --no-pass             do not prompt for password
  --ssl                 use ssl
  --log                 log session to file
  --debug               enable debug logging
  --no-colors           disable colors
  --version             show version
  --mcp                 start in MCP server in streamable HTTP mode (experimental
                        feature, requires the `mcp` extra, use with --mcp-port
                        and --mcp-host to customize the server address and
                        port if needed)
  --mcp-port MCP_PORT   port for MCP streamable HTTP mode (default 8000)
  --mcp-host MCP_HOST   host for MCP streamable HTTP mode (default 127.0.0.1)

For more information about this project, visit https://github.com/adityatelange/evil-winrm-py
For user guide, visit https://github.com/adityatelange/evil-winrm-py/blob/main/docs/usage.md

Example:

evil-winrm-py -i 192.168.1.100 -u Administrator -p P@ssw0rd --ssl

MCP Server Mode

With the mcp extra installed, you can run evil-winrm-py as an MCP server, exposing WinRM login/execute/logout as tools for MCP-compatible clients (e.g. Claude, other AI agents) over streamable HTTP. It supports multiple concurrent WinRM sessions via a session_id.

evil-winrm-py --mcp
# or customize the address:
evil-winrm-py --mcp --mcp-host 0.0.0.0 --mcp-port 8000

[!NOTE] This is an experimental feature. Since it allows remote command execution on Windows hosts via MCP tools, only expose it on trusted networks and to trusted MCP clients.

Menu Commands (inside evil-winrm-py shell)

Menu:
[+] services                                                - Show the running services (except system services)
[+] upload <local_path> <remote_path>                       - Upload a file
[+] download <remote_path> <local_path>                     - Download a file
[+] loadps <local_path>.ps1                                 - Load PowerShell functions from a local script
[+] runps <local_path>.ps1                                  - Run a local PowerShell script on the remote host
[+] loaddll <local_path>.dll                                - Load a local DLL (in-memory) as a module on the remote host
[+] runexe <local_path>.exe [args]                          - Upload and execute (in-memory) a local EXE on the remote host
[+] menu                                                    - Show this menu
[+] clear, cls                                              - Clear the screen
[+] exit                                                    - Exit the shell
Note: Use absolute paths for upload/download for reliability.

Credits

常见问题

What is evil-winrm-py?

evil-winrm-py is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by adityatelange. Execute commands interactively on remote Windows machines using the WinRM protocol (just faster). It has 391 GitHub stars.

Is evil-winrm-py safe to use?

Yes. evil-winrm-py passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install evil-winrm-py?

Clone the repository with "git clone https://github.com/adityatelange/evil-winrm-py" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is evil-winrm-py written in?

evil-winrm-py is primarily written in Python. It is open-source under adityatelange on GitHub, so you can review or fork the full source.

Are there alternatives to evil-winrm-py?

Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh evil-winrm-py against similar tools.

评论 (0)

暂无评论,成为第一个分享想法的人!

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

Scrapling

by D4Vinci

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

75,9137,581Python
MCP 服务器
查看详情

TrendRadar

by sansan0

⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。

61,65224,883Python
MCP 服务器
查看详情

context7

by upstash

Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

61,0602,938TypeScript
MCP 服务器
查看详情

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

39,9393,219C
MCP 服务器
查看详情

开发者还喜欢

基于喜欢此 Skill 的开发者投票和收藏

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情