Provided by: sslsplit_0.4.11+dfsg-2_amd64 bug

NAME

       sslsplit -- transparent and scalable SSL/TLS interception

SYNOPSIS

       sslsplit [-kCKOPZdDgGsrReumjplLSFi] -c pem proxyspecs [...]
       sslsplit [-kCKOPZdDgGsrReumjplLSFi] -c pem -t dir proxyspecs [...]
       sslsplit [-OPZdDgGsrReumjplLSFi] -t dir proxyspecs [...]
       sslsplit -E
       sslsplit -V
       sslsplit -h

DESCRIPTION

       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.

       SSLsplit  supports  a  number  of  NAT  engines,  static  forwarding and SNI DNS lookups to determine the
       original destination of redirected connections (see NAT ENGINES and PROXY SPECIFICATIONS below).

       To actually implement an attack, you also need to redirect the traffic to the  system  running  sslsplit.
       Your  options  include running sslsplit on a legitimate router, ARP spoofing, ND spoofing, DNS poisoning,
       deploying  a  rogue  access  point  (e.g.  using  hostap  mode),  physical  recabling,   malicious   VLAN
       reconfiguration  or  route injection, /etc/hosts modification and so on.  SSLsplit does not implement the
       actual traffic redirection.

OPTIONS

       -c pemfile
              Use CA certificate from pemfile to sign certificates forged on-the-fly.  If pemfile also  contains
              the matching CA private key, it is also loaded, otherwise it must be provided with -k.  If pemfile
              also  contains  Diffie-Hellman  group  parameters,  they  are  also  loaded, otherwise they can be
              provided with -g.  If -t is also given, SSLsplit will only forge a  certificate  if  there  is  no
              matching certificate in the provided certificate directory.

       -C pemfile
              Use  CA  certificates from pemfile as extra certificates in the certificate chain.  This is needed
              if the CA given with -k and -c is a sub-CA, in which case any intermediate CA certificates and the
              root CA certificate must be included in the certificate chain.

       -d     Detach from TTY and run as a daemon, logging error messages to syslog instead of standard error.

       -D     Run in debug mode, log lots  of  debugging  information  to  standard  error.   This  also  forces
              foreground mode and cannot be used with -d.

       -e engine
              Use  engine  as  the  default  NAT  engine  for  proxyspecs  without  explicit  NAT engine, static
              destination address or SNI mode.  engine can be any of the NAT engines supported by the system, as
              returned by -E.

       -E     List all supported NAT engines available on the system and exit.  See NAT ENGINES for  a  list  of
              NAT engines currently supported by SSLsplit.

       -F logspec
              Log  connection  content  to  separate  log  files  with  the  given  path  specification (see LOG
              SPECIFICATIONS below).  For each connection, a log file will be written, which will  contain  both
              directions  of  data  as  transmitted.   Information about the connection will be contained in the
              filename only.  If -F is used with -j, logspec is relative to jaildir.  If -F  is  used  with  -u,
              logspec must be writable by user.

       -g pemfile
              Use  Diffie-Hellman  group  parameters from pemfile for Ephemereal Diffie-Hellman (EDH/DHE) cipher
              suites.  If -g is not given, SSLsplit first tries to load DH parameters from the PEM  files  given
              by  -K,  -k or -c.  If no DH parameters are found in the key files, built-in 512 or 1024 bit group
              parameters are automatically used iff a non-RSA private key is given with  -K.   This  is  because
              DSA/DSS private keys can by themselves only be used for signing and thus require DH to exchange an
              SSL/TLS  session  key.  If -g is given, the parameters from the given pemfile will always be used,
              even with RSA private keys (within the cipher suites available in OpenSSL).  The -g option is only
              available if SSLsplit was built against a version of OpenSSL which supports Diffie-Hellman  cipher
              suites.

       -G curve
              Use  the named curve for Ephemereal Elliptic Curve Diffie-Hellman (EECDH) cipher suites.  If -G is
              not given, a default curve (secp160r2) is used automatically iff a non-RSA private  key  is  given
              with  -K.  This is because ECDSA/ECDSS private keys can by themselves only be used for signing and
              thus require ECDH to exchange an SSL/TLS session key.  If -G is given, the named curve will always
              be used, even with RSA private keys (within the cipher  suites  available  in  OpenSSL).   The  -G
              option  is  only  available  if  SSLsplit  was  built  against a version of OpenSSL which supports
              Elliptic Curve Diffie-Hellman cipher suites.

       -h     Display help on usage and exit.

       -i     For each connection, find the local process owning the connection.  This makes process information
              such as pid, owner:group and executable path for connections originating on  the  same  system  as
              SSLsplit available to the connect log and enables the respective -F path specification directives.
              -i is available on Mac OS X and FreeBSD; support for other platforms has not been implemented yet.

       -j jaildir
              Change  the  root  directory  to  jaildir using chroot(2) after opening files.  Note that this has
              implications for -F, -S, and for sni proxyspecs.  The path given with -S or -F will be relative to
              jaildir since the log files  cannot  be  opened  before  calling  chroot(2).   Depending  on  your
              operating  system,  you  will  need to copy files such as /etc/resolv.conf to jaildir in order for
              name resolution to work.  Using sni proxyspecs depends on name resolution.  Some operating systems
              require special device nodes such as /dev/null to be present within the jail.  Check your system's
              documentation for details.

       -k pemfile
              Use CA private key from pemfile to sign certificates forged on-the-fly.  If pemfile also  contains
              the matching CA certificate, it is also loaded, otherwise it must be provided with -c.  If pemfile
              also  contains  Diffie-Hellman  group  parameters,  they  are  also  loaded, otherwise they can be
              provided with -g.  If -t is also given, SSLsplit will only forge a  certificate  if  there  is  no
              matching certificate in the provided certificate directory.

       -K pemfile
              Use  private  key  from  pemfile for certificates forged on-the-fly.  If -K is not given, SSLsplit
              will generate a random 1024-bit RSA key.

       -l logfile
              Log connections to logfile in a single line per connection format, including addresses  and  ports
              and some HTTP and SSL information, if available.

       -L logfile
              Log  connection  content  to  logfile.   The  content  log will contain a parsable log format with
              transmitted data, prepended with headers identifying the connection and the data  length  of  each
              logged segment.

       -m     When dropping privileges using -u, override the target primary group to be set to group.

       -O     Deny  all  Online  Certificate  Status Protocol (OCSP) requests on all proxyspecs and for all OCSP
              servers with an OCSP response of tryLater, causing OCSP clients to temporarily accept even revoked
              certificates.  HTTP requests are being treated as OCSP requests if the method is GET and  the  URI
              contains  a  syntactically valid OCSPRequest ASN.1 structure parsable by OpenSSL, or if the method
              is POST and the Content-Type is application/ocsp-request.  For this to be effective, SSLsplit must
              be handling traffic destined to the port used by the OCSP server.  In particular, SSLsplit must be
              configured to receive traffic to all ports used by OCSP servers of targetted  certificates  within
              the certdir specified by -t.

       -p pidfile
              Write  the  process  ID  to  pidfile and refuse to run if the pidfile is already in use by another
              process.

       -P     Passthrough SSL/TLS connections which cannot be  split  instead  of  dropping  them.   Connections
              cannot  be  split  if  -c  and -k are not given and the site does not match any certificate loaded
              using -t, or if the connection to the original server gives SSL/TLS  errors.   Specifically,  this
              happens  if  the site requests a client certificate.  Passthrough with -P results in uninterrupted
              service for the clients, while dropping is the more secure alternative if unmonitored  connections
              must be prevented.

       -r proto
              Force SSL/TLS protocol version on both client and server side to proto by selecting the respective
              OpenSSL  method  constructor  instead  of  the default SSLv23_method() which supports all protocol
              versions.  This is useful when analyzing traffic to a server that only supports a specific version
              of SSL/TLS and does not implement proper protocol negotiation.  Depending on build options and the
              version of OpenSSL that is used, the following values for proto are accepted: ssl2,  ssl3,  tls10,
              tls11  and tls12.  Note that SSL 2.0 support is not built in by default because some servers don't
              handle SSL 2.0 Client Hello messages gracefully.

       -R proto
              Disable the SSL/TLS protocol version proto on  both  client  and  server  side  by  disabling  the
              respective  protocols in OpenSSL.  To disable multiple protocol versions, -R can be given multiple
              times.  If -r is also given, there will  be  no  effect  in  disabling  other  protocol  versions.
              Disabling protocol versions is useful when analyzing traffic to a server that does not handle some
              protocol versions well, or to test behaviour with different protocol versions.  Depending on build
              options  and  the  version  of  OpenSSL that is used, the following values for proto are accepted:
              ssl2, ssl3, tls10, tls11 and tls12.  Note that SSL 2.0 support is not built in by default  because
              some servers don't handle SSL 2.0 Client Hello messages gracefully.

       -s ciphers
              Use  OpenSSL  ciphers  specification for both server and client SSL/TLS connections.  If -s is not
              given, a cipher list of ALL:-aNULL is used.  Normally, SSL/TLS  implementations  choose  the  most
              secure cipher suites, not the fastest ones.  By specifying an appropriate OpenSSL cipher list, the
              set of cipher suites can be limited to fast algorithms, or eNULL cipher suites can be added.  Note
              that for connections to be successful, the SSLsplit cipher suites must include at least one cipher
              suite  supported by both the client and the server of each connection.  See ciphers(1) for details
              on how to construct OpenSSL cipher lists.

       -S logdir
              Log connection content to separate log files under logdir.  For each connection, a log  file  will
              be  written,  which  will  contain  both directions of data as transmitted.  Information about the
              connection will be contained in the filename only.  If -S is used with -j, logdir is  relative  to
              jaildir.  If -S is used with -u, logdir must be writable by user.

       -t certdir
              Use  private  key,  certificate and certificate chain from PEM files in certdir for sites matching
              the respective common names, instead of using certificates forged on-the-fly.  A single  PEM  file
              must  contain  a  single private key, a single certificate and optionally intermediate and root CA
              certificates to use as certificate chain.  If -c and -k  are  also  given,  certificates  will  be
              forged  on-the-fly  for  sites  matching none of the certificates loaded from certdir.  Otherwise,
              connections matching no certificate will be dropped, or if -P is  given,  passed  through  without
              splitting SSL/TLS.

       -u     Drop privileges after opening sockets and files by setting the real, effective and stored user IDs
              to  user  and  loading the appropriate primary and ancillary groups.  If -u is not given, SSLsplit
              will drop privileges to the stored UID if EUID != UID (setuid  bit  scenario),  or  to  nobody  if
              running  with full root privileges (EUID == UID == 0) and -S is not used.  Due to an Apple bug, -u
              cannot be used with pf proxyspecs on Mac OS X.

       -V     Display version and compiled features information and exit.

       -Z     Disable SSL/TLS compression on all connections.  This is useful if your limiting  factor  is  CPU,
              not network bandwidth.  The -Z option is only available if SSLsplit was built against a version of
              OpenSSL which supports disabling compression.

PROXY SPECIFICATIONS

       Proxy  specifications  (proxyspecs)  consist  of  the  connection type, listen address and static forward
       address or address resolution mechanism (NAT engine, SNI DNS lookup):

       https listenaddr port [nat-engine|fwdaddr port|sni port]
       ssl   listenaddr port [nat-engine|fwdaddr port|sni port]
       http  listenaddr port [nat-engine|fwdaddr port]
       tcp   listenaddr port [nat-engine|fwdaddr port]

       https  SSL/TLS interception with HTTP  protocol  decoding,  including  the  removal  of  HPKP,  HSTS  and
              Alternate Protocol response headers.

       ssl    SSL/TLS  interception  without  any lower level protocol decoding; decrypted connection content is
              treated as opaque stream of bytes and not modified.

       http   Plain TCP connection without SSL/TLS, with HTTP protocol decoding, including the removal of  HPKP,
              HSTS and Alternate Protocol response headers.

       tcp    Plain  TCP  connection  without  SSL/TLS  and without any lower level protocol decoding; decrypted
              connection content is treated as opaque stream of bytes and not modified.

       listenaddr port
              IPv4 or IPv6 address and port or service name to listen on.  This is the address  and  port  where
              the NAT engine should redirect connections to.

       nat-engine
              NAT  engine  to  query  for determining the original destination address and port of transparently
              redirected connections.  If no engine is given, the default engine is used, unless overridden with
              -e.  When using a NAT engine, sslsplit  needs  to  run  on  the  same  system  as  the  NAT  rules
              redirecting the traffic to sslsplit.  See NAT ENGINES for a list of supported NAT engines.

       fwdaddr port
              Static  destination  address,  IPv4  or  IPv6,  with  port  or  service  name.  When this is used,
              connections are forwarded to the given server address and port.  If fwdaddr is a hostname, it will
              be resolved to an IP address.

       sni port
              Use the Server Name Indication (SNI) hostname sent  by  the  client  in  the  ClientHello  SSL/TLS
              message  to  determine  the  IP  address of the server to connect to.  This only works for ssl and
              https proxyspecs and needs a port or service name as  an  argument.   Because  this  requires  DNS
              lookups,  it  is  preferrable  to  use  NAT  engine  lookups  (see above), except when that is not
              possible, such as when there is no supported NAT engine or when running sslsplit  on  a  different
              system  than  the NAT rules redirecting the actual connections.  Note that when using -j with sni,
              you may need to prepare jaildir to make name resolution work from within the chroot directory.

LOG SPECIFICATIONS

       Log specifications are composed of zero or more printf-style directives; ordinary characters are included
       directly in the output path.  SSLsplit current supports the following directives:

       %T     The initial connection time as an ISO 8601 UTC timestamp.

       %d     The destination address and port.

       %s     The source address and port.

       %x     The name of the local process.  Requires -i to be used.  If process  information  is  unavailable,
              this directive will be omitted from the output path.

       %X     The  full  path  of  the  local  process.   Requires  -i  to  be  used.  If process information is
              unavailable, this directive will be omitted from the output path.

       %u     The username or numeric uid of the local process.  Requires -i to be used.  If process information
              is unavailable, this directive will be omitted from the output path.

       %g     The group name or numeric gid of  the  local  process.   Requires  -i  to  be  used.   If  process
              information is unavailable, this directive will be omitted from the output path.

       %%     A literal '%' character.

NAT ENGINES

       SSLsplit currently supports the following NAT engines:

       pf     OpenBSD  packet filter (pf) rdr/rdr-to NAT redirects, also available on FreeBSD, NetBSD and Mac OS
              X.  Fully supported, including IPv6.  Assuming inbound interface em0, first in old  (FreeBSD,  Mac
              OS X), then in new (OpenBSD 4.7+) syntax:

              rdr pass on em0 proto tcp from 2001:db8::/64 to any port  80 \
                       ->       ::1 port 10080
              rdr pass on em0 proto tcp from 2001:db8::/64 to any port 443 \
                       ->       ::1 port 10443
              rdr pass on em0 proto tcp from  192.0.2.0/24 to any port  80 \
                       -> 127.0.0.1 port 10080
              rdr pass on em0 proto tcp from  192.0.2.0/24 to any port 443 \
                       -> 127.0.0.1 port 10443

              pass in quick on em0 proto tcp from 2001:db8::/64 to any \
                       port  80 rdr-to       ::1 port 10080
              pass in quick on em0 proto tcp from 2001:db8::/64 to any \
                       port 443 rdr-to       ::1 port 10443
              pass in quick on em0 proto tcp from  192.0.2.0/24 to any \
                       port  80 rdr-to 127.0.0.1 port 10080
              pass in quick on em0 proto tcp from  192.0.2.0/24 to any \
                       port 443 rdr-to 127.0.0.1 port 10443

       ipfw   FreeBSD  IP  firewall (IPFW) divert sockets, also available on Mac OS X.  Available on FreeBSD and
              OpenBSD using pf divert-to.  Fully  supported  on  FreeBSD  and  OpenBSD,  including  IPv6.   Only
              supports  IPv4 on Mac OS X due to the ancient version of IPFW included.  First in IPFW, then in pf
              divert-to syntax:

              ipfw add fwd       ::1,10080 tcp from 2001:db8::/64 to any  80
              ipfw add fwd       ::1,10443 tcp from 2001:db8::/64 to any 443
              ipfw add fwd 127.0.0.1,10080 tcp from 192.0.2.0/24  to any  80
              ipfw add fwd 127.0.0.1,10443 tcp from 192.0.2.0/24  to any 443

              pass in quick on em0 proto tcp from 2001:db8::/64 to any \
                       port  80 divert-to       ::1 port 10080
              pass in quick on em0 proto tcp from 2001:db8::/64 to any \
                       port 443 divert-to       ::1 port 10443
              pass in quick on em0 proto tcp from  192.0.2.0/24 to any \
                       port  80 divert-to 127.0.0.1 port 10080
              pass in quick on em0 proto tcp from  192.0.2.0/24 to any \
                       port 443 divert-to 127.0.0.1 port 10443

       ipfilter
              IPFilter (ipfilter, ipf), available on many systems, including FreeBSD, NetBSD, Linux and Solaris.
              Only supports IPv4 due to limitations in  the  SIOCGNATL  ioctl(2)  interface.   Assuming  inbound
              interface bge0:

              rdr bge0 0.0.0.0/0 port  80 -> 127.0.0.1 port 10080
              rdr bge0 0.0.0.0/0 port 443 -> 127.0.0.1 port 10443

       netfilter
              Linux  netfilter using the iptables REDIRECT target.  Only supports IPv4 due to limitations in the
              SO_ORIGINAL_DST getsockopt(2) interface.

              iptables -t nat -A PREROUTING -s 192.0.2.0/24 \
                       -p tcp --dport  80 \
                       -j REDIRECT --to-ports 10080
              iptables -t nat -A PREROUTING -s 192.0.2.0/24 \
                       -p tcp --dport 443 \
                       -j REDIRECT --to-ports 10443

       tproxy Linux netfilter using the iptables TPROXY target together with routing table magic to  allow  non-
              local traffic to originate on local sockets.  Fully supported, including IPv6.

              ip -f inet6 rule add fwmark 1 lookup 100
              ip -f inet6 route add local default dev lo table 100
              ip6tables -t mangle -N DIVERT
              ip6tables -t mangle -A DIVERT -j MARK --set-mark 1
              ip6tables -t mangle -A DIVERT -j ACCEPT
              ip6tables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
              ip6tables -t mangle -A PREROUTING -s 2001:db8::/64 \
                        -p tcp --dport 80 \
                        -j TPROXY --tproxy-mark 0x1/0x1 --on-port 10080
              ip6tables -t mangle -A PREROUTING -s 2001:db8::/64 \
                        -p tcp --dport 443 \
                        -j TPROXY --tproxy-mark 0x1/0x1 --on-port 10443
              ip -f inet rule add fwmark 1 lookup 100
              ip -f inet route add local default dev lo table 100
              iptables -t mangle -N DIVERT
              iptables -t mangle -A DIVERT -j MARK --set-mark 1
              iptables -t mangle -A DIVERT -j ACCEPT
              iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
              iptables -t mangle -A PREROUTING -s 192.0.2.0/24 \
                       -p tcp --dport 80 \
                       -j TPROXY --tproxy-mark 0x1/0x1 --on-port 10080
              iptables -t mangle -A PREROUTING -s 192.0.2.0/24 \
                       -p tcp --dport 443 \
                       -j TPROXY --tproxy-mark 0x1/0x1 --on-port 10443

              Note  that  return path filtering (rp_filter) also needs to be disabled on interfaces which handle
              TPROXY redirected traffic.

EXAMPLES

       Matching the above NAT engine configuration samples, intercept HTTP and HTTPS over IPv4  and  IPv6  using
       forged certificates with CA private key ca.key and certificate ca.crt, logging connections to connect.log
       and connection data into separate files under /tmp (add -e nat-engine to select the appropriate engine if
       multiple engines are available on your system):

       sslsplit -k ca.key -c ca.crt -l connect.log -L /tmp \
                https ::1 10443  https 127.0.0.1 10443 \
                http  ::1 10080  http  127.0.0.1 10080

       Intercepting IMAP/IMAPS using the same settings:

       sslsplit -k ca.key -c ca.crt -l connect.log -L /tmp \
                ssl ::1 10993  ssl 127.0.0.1 10993 \
                tcp ::1 10143  tcp 127.0.0.1 10143

       A more targetted setup, HTTPS only, using certificate/chain/key files from /path/to/cert.d and statically
       redirecting to www.example.org instead of querying a NAT engine:

       sslsplit -t /path/to/cert.d -l connect.log -L /tmp \
                https ::1       10443 www.example.org 443 \
                https 127.0.0.1 10443 www.example.org 443

       The  original  example,  but using SSL options optimized for speed by disabling compression and selecting
       only fast block cipher cipher suites and  using  a  precomputed  private  key  leaf.key  for  the  forged
       certificates  (most  significant  speed increase is gained by choosing fast algorithms and small keysizes
       for the CA and leaf private keys; check openssl speed for algorithm performance on your system):

       sslsplit -Z -s NULL:RC4:AES128 -K leaf.key \
                -k ca.key -c ca.crt -l connect.log -L /tmp \
                https ::1 10443  https 127.0.0.1 10443 \
                http  ::1 10080  http  127.0.0.1 10080

       The original example, but running as a daemon under user sslsplit and writing a PID file:

       sslsplit -d -p /var/run/sslsplit.pid -u sslsplit \
                -k ca.key -c ca.crt -l connect.log -L /tmp \
                https ::1 10443  https 127.0.0.1 10443 \
                http  ::1 10080  http  127.0.0.1 10080

       To generate a CA private key ca.key  and certificate ca.crt using OpenSSL:

       cat >x509v3ca.cnf <<'EOF'
       [ req ]
       distinguished_name = reqdn

       [ reqdn ]

       [ v3_ca ]
       basicConstraints        = CA:TRUE
       subjectKeyIdentifier    = hash
       authorityKeyIdentifier  = keyid:always,issuer:always
       EOF

       openssl genrsa -out ca.key 1024
       openssl req -new -nodes -x509 -sha1 -out ca.crt -key ca.key \
               -config x509v3ca.cnf -extensions v3_ca \
               -subj '/O=SSLsplit Root CA/CN=SSLsplit Root CA/' \
               -set_serial 0 -days 3650

NOTES

       SSLsplit is able to handle a relatively high number of listeners and connections due to a  multithreaded,
       event  based  architecture based on libevent, taking advantage of platform specific select() replacements
       such as kqueue.  The main thread handles the listeners and signalling, while a number of  worker  threads
       equal  to  twice  the  number  of CPU cores is used for handling the actual connections in separate event
       bases, including the CPU-intensive SSL/TLS handling.

       Care has been taken to choose well-performing data structures for caching certificates and SSL  sessions.
       Logging is implemented in separate disk writer threads to ensure that socket event handling threads don't
       have to block on disk I/O.  DNS lookups are performed asynchroniously.  SSLsplit uses SSL session caching
       on  both  ends  to  minimize  the  amount  of  full SSL handshakes, but even then, the limiting factor in
       handling SSL connections are the actual bignum computations.

SEE ALSO

       openssl(1),  ciphers(1),  speed(1),  pf(4),  ipfw(8),  iptables(8),  ip6tables(8),   ip(8),   hostapd(8),
       arpspoof(8), parasite6(8), yersinia(8), https://www.roe.ch/SSLsplit

AUTHORS

       SSLsplit was written by Daniel Roethlisberger <daniel@roe.ch>.

       The  following  individuals  have  contributed  to  the  codebase,  in chronological order of their first
       contribution: Steve Wills, Landon Fuller and Wayne Jensen.

BUGS

       Use Github for submission of bug reports or patches:

              https://github.com/droe/sslsplit

                                                  1 April 2012                                       SSLSPLIT(1)