Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
thermoptic — Um proxy HTTP furtivo de próxima geração que camufla perfeitamente as requisições como o navegador Chrome em todas as camadas da pilha. | Kitploit
Ferramentas/GitHubGitHub/mandatoryprogrammer/thermoptic
Proxies Web e InterceptaçãoFerramentas de ImpersonaçãoColeta de InformaçõesBypass de WAFRastreadorAnti-BotFalsificação de Impressão DigitalBypass de CAPTCHA
GitHubmandatoryprogrammer/thermoptic

thermoptic

Um proxy HTTP furtivo de próxima geração que camufla perfeitamente as requisições como o navegador Chrome em todas as camadas da pilha.

Ver Repositório
1.0k6640há 16 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

thermoptic

"Eu não acredito, camuflagem termo-óptica!"

O que é isso?

Este é um proxy HTTP projetado para contornar serviços que usam fingerprinting como JA4+ para bloquear determinados clientes HTTP. Usando este proxy, você pode usar seus clientes HTTP preferidos como curl e ainda ter fingerprints magicamente indistinguíveis de um navegador web real (Chrome/Chromium). O thermoptic também vem com alguns recursos divertidos para mitigar fingerprinting baseado em JavaScript. Ele também facilita a realização de scraping híbrido usando tanto um navegador web quanto clientes HTTP de baixo nível em conjunto.

Mesmo que você não esteja familiarizado com fingerprinting JA4+, se você já fez algum scraping provavelmente já foi bloqueado por ele antes. Serviços populares como o Cloudflare usam tais técnicas (e outros truques) para detectar o uso de clientes HTTP "não-humanos" para bloquear requisições. Esses serviços também podem usar esse fingerprinting para detectar se você inicia uma sessão com um navegador real e depois muda para um cliente de baixo nível como curl mais tarde. O thermoptic resolve todos esses problemas apresentando um fingerprint de navegador "real" unificado para todas as requisições de scraping.

Exemplo

Aqui está um exemplo de fingerprint JA4H (HTTP) do curl sem o proxy:

$ curl https://ja4db.com/id/ja4h/
ge11nn090000_b6a016211e8a_000000000000_e3b0c44298fc

Isso é bastante diferente da impressão digital que o Chrome produz quando você visita a URL diretamente:

ge11cn19enus_f2808f0d04cf_9a10d4221160_7068f58def6e

No entanto, quando usamos o proxy para fazer a requisição, nossa impressão digital JA4H é magicamente idêntica:

$ curl --proxy http://thermoptic:1234 https://ja4db.com/id/ja4h/
ge11cn19enus_f2808f0d04cf_9a10d4221160_7068f58def6e

(O mesmo vale para a nossa impressão digital JA4 TLS, etc).

Configuração

Para iniciar um proxy thermoptic que oculta o seu tráfego através de uma instância do Chrome em contentor no Ubuntu 22.04:

Configuração regular do Docker (funciona em hosts sem um runtime de GPU):

docker compose up --build

É isso, agora você pode fazer proxy de tráfego através dele:

curl --proxy http://127.0.0.1:1234 --insecure https://ja4db.com/id/ja4h/

Notas importantes:

  • Por padrão, o proxy é executado sem autenticação. Se você planeja expor o proxy externamente, certifique-se de definir a autenticação com as variáveis de ambiente PROXY_USERNAME e PROXY_PASSWORD.
  • Se você não quiser usar ---insecure, você precisa usar o arquivo CA gerado localizado em ./ssl/rootCA.crt. Este é gerado na primeira vez que você executa thermoptic.
  • Você pode conectar o thermoptic a qualquer instância do Chrome/Chromium iniciada com a flag --remote-debugging-port. Isso é essencial, pois você vai querer configurar e fazer proxy através de ambientes mais comumente usados para manter sua impressão digital o mais discreta possível (por exemplo, Chrome no Windows).
  • O override do compose para GPU é destinado a hosts NVIDIA que já possuem o runtime/toolkit NVIDIA do Docker instalado. Ele reserva o dispositivo GPU, monta /dev/dri e permite que o contêiner Chrome incluído mude para o caminho de renderização NVIDIA/Vulkan. Para usar isso, execute docker compose -f docker-compose.yml -f docker-compose.gpu.yml up --build.

Recursos

  • 🕵️ Proxy com paridade de navegador que reproduz requisições através de uma sessão real do Chrome para corresponder às impressões digitais JA4 byte a byte.
  • 🤝 Pouco ou nenhum código personalizado necessário para integrar seu cliente HTTP (por exemplo, curl, requests, etc) com o thermoptic, basta definir o proxy e suas impressões digitais são cuidadas.
  • 🪝 Framework de hooks para automação antes-da-requisição/depois-da-requisição/na-inicialização, para que você possa controlar o navegador completo para resolver desafios ou capturar artefatos.
    • 📘 Um exemplo de hook de resolução do Cloudflare turnstile pode ser visto em ./hooks/onstart.js.
  • 🖥️ UI de controle do navegador web (em http://127.0.0.1:14111) para controlar a janela do navegador Chrome em Docker. Útil para fazer login manualmente em sites e então usar perfeitamente o proxy para fazer requisições como sua sessão logada (e para depuração).
  • 🔌 Defina um URI de proxy HTTP ou SOCKS upstream através da variável de ambiente UPSTREAM_PROXY no docker-compose.yml.
  • 🛡️ Verificações de integridade integradas e loop de controle de reinicialização para detectar navegadores travados e se recuperar automaticamente sem supervisão do operador.
  • ⚡ Suporta HTTP/1.1 e HTTP/2, permitindo que o tráfego seja proxiado sobre qualquer um dos protocolos. (Observe que você pode falar HTTP/1.1 com o proxy, e o Chrome controlado pode negociar com o site final através de um protocolo diferente.)

Como exatamente funciona esse cloaking?

Exemplo de diagrama visual

  • Uma requisição HTTP é feita usando um cliente HTTP como curl com o thermoptic definido como proxy.
  • O thermoptic analisa a requisição para determinar da melhor forma que tipo de requisição de navegador ela deveria ser (por exemplo, visita manual a URL? Envio de formulário? Uma requisição fetch()?).
  • O thermoptic usa o Chrome Debugging Protocol (CDP) para controlar o navegador e configurar uma página que simula a requisição exatamente como ela normalmente ocorreria em um navegador web real.
  • O thermoptic dispara a requisição através do contexto simulado e captura a resposta HTTP.
  • O thermoptic envia a resposta HTTP de volta ao cliente.

Devido ao fato de que o navegador está realmente fazendo a requisição usando sua stack completa, as impressões digitais JA4 resultantes são idênticas.

NOTA: Devido a muitos WAFs empregarem fingerprinting em nível de JavaScript de navegadores web, o thermoptic também expõe hooks para utilizar o navegador em etapas-chave do processo de scraping. Veja esta seção para mais informações sobre isso.

Por que esta abordagem vs outras soluções?

Para ser direto: outras abordagens têm falhas fundamentais que as impedem de ser uma solução prática de longo prazo para o problema de fingerprinting de navegador.

Muitas outras tentativas de "vencer" o fingerprinting JA4+ de navegadores o fazem reimplementando as várias camadas da stack do navegador. Esta abordagem tem uma série de desvantagens sérias, tais como:

Baixar ferramenta