SSHole: The Hole to your Secure Sockets in
SSL Man-in-the-Middle Tool
SSHole is a small proggy that can be useful for debugging SSL-encrypted
protocols. When run, it listens for client connections on a specified
port. As soon as a connection is received, it connects to the remote
host and operates transparently as a proxy, with the only difference
that all the traffic is copied to the local stdout. Sshole can serve
many connections at once.
SSHole was written as an illustration of OpenSSL functionality for an
article in Software2.0
magazine. SSHole can either be built against OpenSSL, SSLeay or GnuTLS.
SSHole requires a certificate file in order to run. This one can be
generated easily by running the following command:
$ openssl req -x509 -nodes -newkey rsa:1024 -keyout server.pem -out server.pem
You can specify the path to the certificate explicitely by using -c
parameter. If the parameter isn't used, the program looks for server.pem
in the current work directory.