Mitmproxy, uma ferramenta de código aberto para análise HTTPS 

mitmproxy é um proxy HTTPS interativo gratuito e de código aberto.

Se em algum momento você ficou curioso para saber como interceptar o tráfego HTTP o saber como os aplicativos ou serviços respondem para servidores, ou modificar o tráfego para investigar como algo funciona, você terá interesse em conhecer o Mitmproxy.

Mitmproxy é uma ferramenta projetada para depuração, testes e análise de tráfego da web. É usado principalmente para interceptar, inspecionar, modificar e reproduzir o tráfego de protocolos como HTTP/1, HTTP/2, HTTP/3, WebSockets e outros protegidos por SSL/TLS.

Como tal, visa principalmente monitorizar o tráfego em sistemas corporativos, facilitando a identificação de problemas, como a análise de atividade em redes de aplicações ocultas.

Para analisar o tráfego HTTPS, Mitmproxy é colocado em um nó de trânsito, interceptando solicitações de clientes e encaminhá-los para o servidor de destino. Durante a sessão, ele estabelece uma conexão HTTPS legítima com o servidor, mas no lado do cliente cria uma conexão simulada usando um certificado SSL falso gerado dinamicamente. O tráfego recebido do cliente é redirecionado para o servidor real e as respostas do servidor são transmitidas de volta ao cliente.

O Mitmproxy pode ser configurado como um proxy HTTP no navegador, usado como um proxy SOCKS5 ou até mesmo como um proxy reverso em um servidor HTTP. Ele também permite que o tráfego seja encaminhado de forma transparente usando regras de roteamento de pacotes ou configurações de filtragem.

Mitmproxy também inclui mitmweb, uma interface gráfica que permite utilizar as principais funções do mitmproxy em um ambiente visual. O ambiente oferecido é semelhante às ferramentas de desenvolvimento do Chrome, mas com recursos adicionais como interceptação de solicitações e repetição de tráfego.

mitmweb

Mitmproxy não só suporta HTTP/2, HTTP/3 e Websockets, senão que Também permite que o tráfego seja manipulado em tempo real através de roteiros. Além disso, oferece outras ferramentas avançadas, como normalização de pacotes em um fluxo, geração de certificados TLS para sessões interceptadas e remoção de cabeçalhos que permitem o cache do cliente.

Outro recurso destaca que inclui é a possibilidade de bloquear certas solicitações com listas de bloqueio, redirecionar seletivamente o tráfego (até mesmo retornando arquivos locais) e modifique o conteúdo e os cabeçalhos usando expressões regulares. Além disso, o Mitmproxy fornece o mitmdump, uma ferramenta de linha de comando semelhante ao tcpdump, e uma interface web chamada mitmweb, para tornar a análise de tráfego ainda mais acessível.

Nova versão do Mitmproxy 11 com suporte para HTTP3

Atualmente Mitmproxy está em sua versão 11 e pela principal novidade desta versão é o cCompatibilidade total com HTTP/3, que usa o protocolo QUIC como transporte para HTTP/2. com eleo agora você pode interceptar o tráfego HTTP/3 de forma transparente ou use Mitmproxy como proxy reverso. Esta funcionalidade foi testada no Firefox, Chrome e em várias versões do cURL.

Além das melhorias no HTTP/3, esta versão também suporte DNS readicionado, particularmente para o Registros DNS para HTTPS e ECH. Nas versões anteriores, o Mitmproxy tratava de consultas DNS por meio da função getaddrinfo, o que era conveniente, pois a libc cuidava de todo o processo de resolução.

No entanto, esta API está limitada apenas a consultas de endereços IPv4 e IPv6 (registros A/AAAA). Mas Com a nova versão, agora ele suporta consultas de registros DNS diferentes de A/AAAA, como registros HTTPSSVC usados ​​em ECH para transmitir informações de chave de criptografia pública. Também foi adicionado um modo que permite limpar chaves ECH de registros HTTPS no DNS.

Por outro lado, para melhorar ainda mais a integração com o DNS, Mitmproxy migrou para a biblioteca Hickory, escrito em Rust e desenvolvido pelo projeto Let's Encrypt, permitindo melhor manuseio de DNS sobre TCP. Além disso, agora existe uma opção para desabilitar o processamento de configuração em /etc/hosts.

Por fim, se estiver interessado em saber mais sobre o assunto, pode consultar os detalhes no link a seguir

Para os interessado em poder instalar o Mitmproxy, Eles devem saber que os binários são oferecidos diretamente do site oficial. Embora algumas distribuições ofereçam pacotes Mitmproxy através de seus repositórios nativos, estes são mantidos pela comunidade.