mitmproxy alternatives
Looking for an alternative tool to replace mitmproxy? During the review of mitmproxy we looked at other open source tools. Based on their category, tags, and text, these are the ones that have the best match.
Alternatives (by score)
SSH MITM
Introduction
This tool would most likely be used to intercept traffic during security assessments. Plaintext passwords and session data can be intercepted with it.
Project details
SSH MITM is written in Python.
Strengths and weaknesses
- + More than 1000 GitHub stars
- + The source code of this software is available
Typical usage
- Password discovery
- Security assessment
- Session hijacking
Seth
Introduction
Seth is a security tool to perform a man-in-the-middle (MitM) attack and extract clear text credentials from RDP connections.Project details
Seth is written in Python, shell script.
Strengths and weaknesses
- + The source code of this software is available
Typical usage
- Penetration testing
- Security assessment
SSLsplit
Introduction
SSLsplit is a tool for man-in-the-middle attacks against SSL/TLS encrypted network connections. Connections are transparently intercepted through a network address translation engine and redirected to SSLsplit. SSLsplit terminates SSL/TLS and initiates a new SSL/TLS connection to the original destination address, while logging all data transmitted. SSLsplit is intended to be useful for network forensics and penetration testing.
SSLsplit supports plain TCP, plain SSL, HTTP and HTTPS connections over both IPv4 and IPv6. For SSL and HTTPS connections, SSLsplit generates and signs forged X509v3 certificates on-the-fly, based on the original server certificate subject DN and subjectAltName extension. SSLsplit fully supports Server Name Indication (SNI) and is able to work with RSA, DSA and ECDSA keys and DHE and ECDHE cipher suites. Depending on the version of OpenSSL, SSLsplit supports SSL 3.0, TLS 1.0, TLS 1.1 and TLS 1.2, and optionally SSL 2.0 as well. SSLsplit can also use existing certificates of which the private key is available, instead of generating forged ones. SSLsplit supports NULL-prefix CN certificates and can deny OCSP requests in a generic way. For HTTP and HTTPS connections, SSLsplit removes response headers for HPKP in order to prevent public key pinning, for HSTS to allow the user to accept untrusted certificates, and Alternate Protocols to prevent switching to QUIC/SPDY. As an experimental feature, SSLsplit supports STARTTLS mechanisms in a generic manner.
Project details
SSLsplit is written in C.
Strengths and weaknesses
- + The source code of this software is available
Typical usage
- Learning
- Network analysis
- Penetration testing
- Security assessment
sslcaudit
Introduction
Sslcaudit is a tool that focuses on the niche of testing SSL/TLS clients.
Project details
sslcaudit is written in Python.
Strengths and weaknesses
- + The source code of this software is available
Typical usage
- Security assessment
- Software testing
Certificate Transparency
Introduction
HTTPS connections use cryptographic functions to provide confidentiality and integrity. It can provide features like domain validation, end-to-end encryption, and a trust chain from certificate authorities down to the end-user. Any flaws can endanger these goals, like the impersonation of a system, man-in-the-middle (MitM) attacks, and website spoofing. This project helps to find flaws and improve the overall security of our internet.
Project details
Lemur
Introduction
With Lemur you can provide a central portal for developers and administrators to issue TLS certificates with predefined defaults.
Lemur works on CPython 3.5 and uses the Flask framework. Another component it uses is cryptography to handle the creation of the certificates.
Netflix develops on macOS and deploys on Ubuntu servers.
Project details
Lemur is written in Python.
Strengths and weaknesses
- + More than 500 GitHub stars
- + The source code of this software is available
- + Supported by a large company
Typical usage
- Certificate management
MassBleed
Introduction
MassBleed is a SSL vulnerability scanner to check for several known vulnerabilities and attacks like DROWN, POODLE, and ShellShock.Project details
MassBleed is written in Perl, Python, shell script.
Strengths and weaknesses
- + The source code of this software is available
- - Full name of author is unknown
- - Unknown project license
Typical usage
- Application security
- Web application analysis
O-Saft
Introduction
O-Saft is the abbreviation for OWASP SSL advanced forensic tool.
Project details
O-Saft is written in Perl.
Strengths and weaknesses
- + The source code of this software is available
Typical usage
- Information gathering
- Penetration testing
- Security assessment
- Vulnerability scanning
- Web application analysis
OpenSSL
Introduction
This popular toolkit is used by many systems. It provides options like encryption and hashing of data, integrity testing, and digital certificates and signatures. Many software applications use the toolkit to provide support for these functions. OpenSSL also has a client utility that can be used on the command line to test, decrypt and encrypt data, and create certificates.
Project details
OpenSSL is written in C.
Strengths and weaknesses
- + The source code of this software is available
- + Well-known library
- - Major vulnerabilities in the past
Typical usage
- Certificate management
- Data encryption
SSLMap
Introduction
SSLMap uses its own SSL engine to avoid any dependencies or limitations with pre-installed libraries.
Project details
SSLyze
Introduction
SSLyze provides a library for scanning services that use SSL/TLS for encrypted communications. It can be used to test their implementation.Project details
cipherscan
Introduction
The tool is of great assistance to quickly perform a security audit and may be used during penetrating testing, or guiding system administrator for system hardening.
Project details
cipherscan is written in Python, shell script.
Strengths and weaknesses
- + Screen output is colored
- + More than 1000 GitHub stars
- + Very low number of dependencies
- + Supported by a large company
Typical usage
- Information gathering
- Security assessment
- System hardening
- Web application analysis
clinker
Introduction
Clinker is a tool to test SSL and TLS security for Firefox. It is an addon that shows the used cipher suites, certificates, and shows related security information of the connection itself.
Requirements: Firefox
Project details
pshtt
Introduction
Pshtt was developed to push organizations, including government departments, to adopt HTTPS across the enterprise.
Project details
pshtt is written in Python.
Strengths and weaknesses
- + More than 500 GitHub stars
- + The source code of this software is available
Typical usage
- Security assessment
- Web application analysis
ssldump
Introduction
ssldump is protocol analyzer for SSLv3/TLS network traffic. It identifies TCP connections on the chosen network interface and tries to interpret it.Project details
Strengths and weaknesses
- + The source code of this software is available
- - No updates for a while
Typical usage
- Network analysis
testssl.sh
Introduction
Key features of testssl.sh include:
- Clear output: you can tell easily whether anything is good or bad
- Ease of installation: It works for Linux, Darwin, FreeBSD, NetBSD and MSYS2/Cygwin out of the box: no need to install or configure something, no gems, CPAN, pip or the like.
- Flexibility: You can test any SSL/TLS enabled and STARTTLS service, not only webservers at port 443
- Toolbox: Several command line options help you to run YOUR test and configure YOUR output
- Reliability: features are tested thoroughly
- Verbosity: If a particular check cannot be performed because of a missing capability on your client side, you'll get a warning
- Privacy: It's only you who sees the result, not a third party
- Freedom: It's 100% open source. You can look at the code, see what's going on and you can change it.
Project details
testssl.sh is written in shell script.
Strengths and weaknesses
- + Used language is shell script
- + The source code of this software is available
Typical usage
- Application testing
- Configuration audit
ArpON
Introduction
ArpOn protects a system by running as a daemon and guard against a Man in the Middle (MitM) attack due to ARP spoofing, cache poisoning, or an ARP poison routing attack.
The tool works by using three types of inspection to detect a related attack.
- SARPI (Static ARP Inspection), statically configured networks (without DHCP)
- DARPI (Dynamic ARP Inspection), dynamically configured networks (with DHCP)
- HARPI (Hybrid ARP Inspection), statically and dynamically configured networks (with DHCP)
Project details
ArpON is written in C.
Strengths and weaknesses
- + The source code of this software is available
BetterCAP
Introduction
BetterCAP is often used by those who perform penetration testing and security assessments. This tool and framework is in particular useful for attempting man-in-the-middle attacks (MitM).
Project details
BetterCAP is written in Golang.
Strengths and weaknesses
- + More than 25 contributors
- + More than 2000 GitHub stars
- + The source code of this software is available
Typical usage
- Bypassing security measures
- Penetration testing
- Security assessment
DNSChef
Introduction
DNSChef is a DNS proxy that can be used terminate or intercept traffic for DNS traffic. This might be useful during a penetration test or when researching malware and manipulate the actual DNS responses.
Project details
Nili
Introduction
This tool performs multiple types of scanning and attacks, which can be useful during penetration tests and security assignments.
Project details
Nili is written in Python.
Strengths and weaknesses
- + The source code of this software is available
Typical usage
- Network scanning
- Penetration testing
- Security assessment
A2SV
Introduction
A2SV is short for Auto Scanning to SSL Vulnerability, a security tool to scan for SSL and TLS vulnerabilities. It can be used during security assessments.Project details
A2SV is written in Python.
Strengths and weaknesses
- + The source code of this software is available
- - Full name of author is unknown
Typical usage
- Vulnerability scanning
- Vulnerability testing
sslh
Introduction
A typical use case for multiplexing is to allow serving several services on one port. Port 443 is commonly used, as that is typically opened on firewalls to allow HTTPS traffic. By multiplexing it, you can also use SSH or other services on the same port.
Project details
ZGrab
Introduction
ZGrab is a stateful application-layer scanner. It works together with ZMap and is also part of the ZMap project. ZGrab is written in Go and supports multiple protocols, including:
- BACNET
- HTTP
- HTTPS
- FTP
- IMAP
- POP3
- Modbus
- Siemens S7
- SMTP
- SSH
- Telnet
- Tridium Fox
Project details
ZGrab is written in Golang.
Strengths and weaknesses
- + The source code of this software is available
Typical usage
- Penetration testing
- Security assessment
- Vulnerability scanning
tlsenum
Introduction
Tlsenum is a CLI tool to enumerate TLS protocol and TLS cipher support by a server. The tool lists then the output based on the order of priority. Tlsenum can be used to find the supported protocols and ciphers of a system and determine if it is properly hardened. This information can be useful to system administrators and pentesters doing a security assessment of the system.
Project details
tlsenum is written in Python.
Strengths and weaknesses
- + The source code of this software is available
Typical usage
- Information gathering
- Security assessment
- System enumeration
- System hardening
Maltrail
Introduction
Maltrail monitors for traffic on the network that might indicate system compromise or other bad behavior. It is great for intrusion detection and monitoring.Project details
Maltrail is written in Python.
Strengths and weaknesses
- + More than 10 contributors
- + More than 3000 GitHub stars
- + The source code of this software is available
Typical usage
- Intrusion detection
- Network analysis
- Security monitoring
Some relevant tool missing as an alternative to mitmproxy? Please contact us with your suggestion.