
Um proxy man-in-the-middle transparente com suporte a STARTTLS
starttls-mitm é um proxy mitm que realiza proxy de forma transparente e despeja tráfego tanto em texto simples quanto em TLS. Ele usa um arquivo de chave e um arquivo de certificado fornecidos pelo usuário para se passar por servidores remotos. O usuário deve instruir explicitamente o dispositivo que está sofrendo man-in-the-middle a confiar nessa autoridade certificadora -- portanto, isso não é um comprometimento de segurança.
Ele começa retransmitindo em texto simples, inspecionando cada pacote em busca de um cabeçalho ClientHello, momento em que converte os sockets para TLS. Isso o torna adequado para fazer proxy de protocolos que usam STARTTLS (handshake em texto simples + upgrade SSL). Até agora, ele só foi testado em XMPP, mas teoricamente deveria funcionar também para IMAP e outros.