# ssh-mitm/ssh-mitm

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ssh-mitm-ssh-mitm).**

1,457 stars · 155 forks · Python · GPL-3.0

## Links

- GitHub: https://github.com/ssh-mitm/ssh-mitm
- Homepage: https://docs.ssh-mitm.at
- awesome-repositories: https://awesome-repositories.com/repository/ssh-mitm-ssh-mitm.md

## Topics

`mitm` `mitm-attacks` `mitm-server` `mitmproxy` `proxy` `scp` `security` `security-audit` `security-tools` `sftp` `ssh` `ssh-client` `ssh-mitm` `ssh-server`

## Description

This project is a transparent proxy framework designed for the interception, analysis, and manipulation of secure shell traffic. By terminating client and server connections independently, it provides full visibility into encrypted sessions, allowing for the monitoring of authentication flows, file transfers, and command execution in real time.

The tool distinguishes itself through a modular, plugin-based architecture that enables users to inject custom interception logic into the proxy workflow. It supports the creation of ephemeral environments and mock agents in memory, facilitating the simulation of security scenarios and the testing of authentication robustness without requiring external infrastructure.

The framework covers a broad capability surface, including the auditing of client security behavior, the capture of authentication credentials, and the inspection of encapsulated network protocols such as tunnels and remote management operations. It also provides operational controls for managing concurrent sessions and maintaining session parity through terminal signal forwarding.

## Tags

### Networking & Communication

- [Transparent Interception Proxies](https://awesome-repositories.com/f/networking-communication/transparent-interception-proxies.md) — Terminates client and server connections independently to provide full visibility into encrypted session data and authentication flows. ([source](https://docs.ssh-mitm.at/))
- [Traffic Protocol Inspection](https://awesome-repositories.com/f/networking-communication/traffic-protocol-inspection.md) — Parses and manipulates encapsulated data streams including network tunnels, file transfers, and terminal output during active sessions.
- [Application-Layer Protocol Inspections](https://awesome-repositories.com/f/networking-communication/traffic-protocol-inspection/application-layer-protocol-inspections.md) — Captures and parses encapsulated traffic like NETCONF, SOCKS tunnels, and file transfers within secure shell connections.

### Security & Cryptography

- [Man-in-the-Middle Frameworks](https://awesome-repositories.com/f/security-cryptography/man-in-the-middle-frameworks.md) — Terminates client and server connections independently to provide full visibility into encrypted session data and authentication flows.
- [Proxy Security Auditors](https://awesome-repositories.com/f/security-cryptography/secure-ssh-access/protocol-proxies/ssh/proxy-security-auditors.md) — Serves as a transparent proxy for auditing authentication flows and client security behavior in real time.
- [Interception Proxies](https://awesome-repositories.com/f/security-cryptography/ssh-authentication/interception-proxies.md) — Inspects and manipulates authentication flows to capture credentials or force interactive fallbacks. ([source](https://github.com/ssh-mitm/ssh-mitm/tree/master/tests))
- [Authentication Credential Captures](https://awesome-repositories.com/f/security-cryptography/authentication-clients/credential-authentication/authentication-credential-captures.md) — Intercepts passwords and public key authentication attempts to audit how sensitive credentials are handled. ([source](https://github.com/ssh-mitm/ssh-mitm#readme))
- [Bypass Testing](https://awesome-repositories.com/f/security-cryptography/hardware-authentication/bypass-testing.md) — Exploits authentication negotiation vulnerabilities to circumvent hardware-based security requirements during testing. ([source](https://docs.ssh-mitm.at/))
- [Authentication Method Auditing](https://awesome-repositories.com/f/security-cryptography/identity-authentication/authentication-method-auditing.md) — Probes remote servers for supported authentication methods and validates public keys to identify security misconfigurations. ([source](https://github.com/ssh-mitm/ssh-mitm/blob/master/CHANGELOG.md))
- [Client Behavior Auditing](https://awesome-repositories.com/f/security-cryptography/identity-authentication/authentication-method-auditing/authentication-process-auditing/client-behavior-auditing.md) — Identifies potential vulnerabilities in authentication handling by analyzing how clients respond to manipulated server responses. ([source](https://docs.ssh-mitm.at/vulnerabilities/findings.html))
- [Multi-Factor Authentication Bypass Testing](https://awesome-repositories.com/f/security-cryptography/multi-factor-authentication-bypass-testing.md) — Intercepts authentication requests to establish sessions using basic credentials, bypassing hardware-based multi-factor confirmations. ([source](https://docs.ssh-mitm.at/trivialauth.html))
- [Encapsulated Traffic Inspection](https://awesome-repositories.com/f/security-cryptography/network-infrastructure-security/web-network-security/network-security/network-routing-access-control/ssh-tunneling/tunnel-connection-monitoring/encapsulated-traffic-inspection.md) — Captures and inspects TCP tunnels, SOCKS forwarding, and remote command sessions to monitor encapsulated communications. ([source](https://github.com/ssh-mitm/ssh-mitm/blob/master/README.md))
- [Session Auditing](https://awesome-repositories.com/f/security-cryptography/session-auditing.md) — Decrypts and displays live terminal output while logging command execution and state transitions for security auditing. ([source](https://github.com/ssh-mitm/ssh-mitm/blob/master/README.md))
- [SSH Agent Forwarding](https://awesome-repositories.com/f/security-cryptography/ssh-agent-forwarding.md) — Utilizes forwarded authentication agents to establish connections to remote servers after session interception. ([source](https://docs.ssh-mitm.at/trivialauth.html))
- [Host Key Auto-Generators](https://awesome-repositories.com/f/security-cryptography/ssh-key-management/host-key-auto-generators.md) — Supports multiple host key algorithms and persists generated keys to maintain consistent server identity. ([source](https://github.com/ssh-mitm/ssh-mitm/blob/master/CHANGELOG.md))
- [Vulnerability Analysis](https://awesome-repositories.com/f/security-cryptography/vulnerability-analysis.md) — Evaluates connecting software security by observing key negotiation and protocol behaviors to detect implementation weaknesses. ([source](https://github.com/ssh-mitm/ssh-mitm/blob/master/README.md))
- [Security Testing and Auditing](https://awesome-repositories.com/f/security-cryptography/vulnerability-assessment-testing/security-testing-auditing.md) — Examines negotiation behavior during connection attempts to identify known vulnerabilities and security weaknesses in remote session software. ([source](https://github.com/ssh-mitm/ssh-mitm#readme))

### Part of an Awesome List

- [Traffic Proxying and Interception](https://awesome-repositories.com/f/awesome-lists/security/traffic-proxying-and-interception.md) — Acts as a modular tool for intercepting and modifying secure shell traffic, including file transfers and network tunnels.
- [Authentication Testing](https://awesome-repositories.com/f/awesome-lists/security/authentication-testing.md) — Probes remote servers and simulates client responses to evaluate the robustness of authentication methods and multi-factor security.
- [SSH Security Tools](https://awesome-repositories.com/f/awesome-lists/security/ssh-security-tools.md) — Analyzes client and server authentication behavior to identify vulnerabilities and weak configurations in remote access implementations.
- [Tunneling and Proxying](https://awesome-repositories.com/f/awesome-lists/security/tunneling-and-proxying.md) — Enables remote port forwarding and proxy jump capabilities to facilitate complex network traversal. ([source](https://github.com/ssh-mitm/ssh-mitm/blob/master/CHANGELOG.md))

### Data & Databases

- [NETCONF Subsystem Interceptions](https://awesome-repositories.com/f/data-databases/data-loading-optimizations/loading-interception/browser-resource-interceptions/proxy-api-interceptions/netconf-subsystem-interceptions.md) — Provides real-time inspection and modification of NETCONF operations within secure shell tunnels. ([source](https://github.com/ssh-mitm/ssh-mitm/blob/master/CHANGELOG.md))

### Development Tools & Productivity

- [SSH Session Simulations](https://awesome-repositories.com/f/development-tools-productivity/external-service-integrations/in-memory-service-mocks/ssh-session-simulations.md) — Facilitates testing of authentication robustness by simulating SSH environments entirely in memory.

### DevOps & Infrastructure

- [Interception Proxies](https://awesome-repositories.com/f/devops-infrastructure/secure-file-transfer/interception-proxies.md) — Intercepts file transfers to store copies or replace files on the fly during active sessions. ([source](https://github.com/ssh-mitm/ssh-mitm#readme))

### Software Engineering & Architecture

- [Asynchronous Session Management](https://awesome-repositories.com/f/software-engineering-architecture/concurrency-models/asynchronous-task-execution/asynchronous-session-management.md) — Manages concurrent sessions as asynchronous coroutines to ensure stable performance during high-volume traffic analysis.
- [Plugin-Based Extensibility](https://awesome-repositories.com/f/software-engineering-architecture/plugin-based-extensibility.md) — Enables developers to inject custom interception logic and automated responses into the proxy workflow through modular plugins.

### System Administration & Monitoring

- [Live User Session Mirroring](https://awesome-repositories.com/f/system-administration-monitoring/live-user-session-mirroring.md) — Mirrors active sessions to enable real-time monitoring and command injection while remaining transparent to the user. ([source](https://docs.ssh-mitm.at/))
