Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
thermoptic — Un proxy sigiloso HTTP de nueva generación que enmascara perfectamente las peticiones como el navegador Chrome en todas las capas de la pila. | Kitploit
Herramientas/GitHubGitHub/mandatoryprogrammer/thermoptic
Proxies Web e InterceptaciónHerramientas de SuplantaciónRecopilación de InformaciónEvasión de WAFCrawlerAnti-BotSuplantación de Huella DigitalBypass de CAPTCHA
GitHubmandatoryprogrammer/thermoptic

thermoptic

Un proxy sigiloso HTTP de nueva generación que enmascara perfectamente las peticiones como el navegador Chrome en todas las capas de la pila.

Ver Repositorio
1.0k6627hace 6 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

thermoptic

"¡No me lo creo, camuflaje termoóptico!"

¿Qué es?

Es un proxy HTTP diseñado para evadir servicios que utilizan huellas digitales como JA4+ para bloquear ciertos clientes HTTP. Con este proxy, puedes usar tus clientes HTTP preferidos como curl y aun así tener huellas digitales mágicamente indistinguibles de un navegador web real (Chrome/Chromium). thermoptic también incluye algunas funciones divertidas para mitigar la toma de huellas digitales basada en JavaScript. Además, facilita el scraping híbrido combinando un navegador web y clientes HTTP de bajo nivel.

Incluso si no estás familiarizado con la toma de huellas digitales JA4+, si has hecho scraping, probablemente te hayan bloqueado por ello antes. Servicios populares como Cloudflare usan estas técnicas (y otros trucos) para detectar el uso de clientes HTTP "no humanos" y bloquear solicitudes. Estos servicios también pueden usar esta toma de huellas digitales para detectar si inicias una sesión con un navegador real y luego cambias a un cliente de bajo nivel como curl más adelante. thermoptic resuelve todos estos problemas presentando una huella digital de navegador "real" unificada para todas las solicitudes de scraping.

Ejemplo

A continuación se muestra un ejemplo de la huella digital JA4H (HTTP) de curl sin el proxy:``` $ curl https://ja4db.com/id/ja4h/ ge11nn090000_b6a016211e8a_000000000000_e3b0c44298fc

Esto es bastante diferente de la huella que Chrome produce cuando visitas la URL directamente:```
ge11cn19enus_f2808f0d04cf_9a10d4221160_7068f58def6e

Sin embargo, cuando usamos el proxy para hacer la petición, nuestra huella JA4H es mágicamente idéntica:``` $ curl --proxy http://thermoptic:1234 https://ja4db.com/id/ja4h/ ge11cn19enus_f2808f0d04cf_9a10d4221160_7068f58def6e

(Lo mismo aplica para nuestra huella digital TLS JA4, etc.).

## Configuración

Para iniciar un proxy `thermoptic` que oculta tu tráfico a través de una instancia de Chrome contenerizada en Ubuntu 22.04:

Configuración normal de Docker (funciona en hosts sin runtime de GPU):```
docker compose up --build

Eso es todo, ahora puedes enrutar el tráfico a través de él:``` curl --proxy http://127.0.0.1:1234 --insecure https://ja4db.com/id/ja4h/

Notas importantes:
* Por defecto, el proxy se ejecuta sin autenticación. Si planeas exponer el proxy externamente, asegúrate de configurar la autenticación con las variables de entorno `PROXY_USERNAME` y `PROXY_PASSWORD`.
* Si no quieres usar `---insecure`, necesitas usar el archivo CA generado ubicado en `./ssl/rootCA.crt`. Este se genera la primera vez que ejecutas `thermoptic`.
* Puedes conectar `thermoptic` a cualquier instancia de Chrome/Chromium lanzada con el flag `--remote-debugging-port`. Esto es esencial, ya que querrás configurar y hacer proxy a través de entornos más comunes para mantener tu huella lo más discreta posible (p. ej., Chrome en Windows).
* La anulación de compose para GPU está pensada para hosts NVIDIA que ya tengan instalado el runtime/toolkit NVIDIA de Docker. Reserva el dispositivo GPU, monta `/dev/dri` y permite que el contenedor de Chrome incluido cambie a la ruta de renderizado NVIDIA/Vulkan. Para usar esto, ejecuta `docker compose -f docker-compose.yml -f docker-compose.gpu.yml up --build`.

## Features

- 🕵️ [Proxy con paridad de navegador](#how-does-this-cloaking-work-exactly) que reproduce las peticiones a través de una sesión real de Chrome para igualar las huellas JA4 byte por byte.
- 🤝 Se requiere poco o ningún código personalizado para integrar tu cliente HTTP (p. ej., `curl`, `requests`, etc.) con `thermoptic`; solo [configura el proxy](#setup) y tus huellas quedarán gestionadas.
- 🪝 [Framework de hooks](#handling-browser-javascript-fingerprinting-with-thermoptic-hooks) para automatización antes de la petición, después de la petición o al inicio, de modo que puedas controlar el navegador completo para resolver desafíos o capturar artefactos.
  - 📘 Un ejemplo de hook para resolver Cloudflare Turnstile se puede ver en [`./hooks/onstart.js`](https://github.com/mandatoryprogrammer/thermoptic/blob/main/hooks/onstart.js).
- 🖥️ [Interfaz de control del navegador web](#control-the-dockerized-chrome-browser-via-web-ui-xpra) (en `http://127.0.0.1:14111`) para controlar la ventana del navegador Chrome en Docker. Útil para iniciar sesión manualmente en sitios y luego usar el proxy sin problemas para hacer peticiones como tu sesión iniciada (y para depuración).
- 🔌 Establece una URI de proxy HTTP o SOCKS ascendente mediante la variable de entorno `UPSTREAM_PROXY` en `docker-compose.yml`.
- 🛡️ Comprobaciones de salud integradas y bucle de control de reinicio para detectar navegadores congelados y recuperarse automáticamente sin necesidad de supervisión manual.
- ⚡ Compatible con HTTP/1.1 y HTTP/2, lo que permite realizar proxy del tráfico sobre cualquiera de los dos protocolos. (_Ten en cuenta que puedes hablar HTTP/1.1 con el proxy, y el Chrome manipulado puede negociar con el sitio final mediante un protocolo diferente._)

## ¿Cómo funciona exactamente este camuflaje?

![Visual diagram example](https://assets.kitploit.com/production/public/readmes/49068/f95c08eccfdbfce1b14513f2a5ad2a33a9b0fb0bd6851a2d005aedf4ff196338.png)

* Se realiza una petición HTTP usando un cliente HTTP como `curl` con `thermoptic` configurado como proxy.
* `thermoptic` analiza la petición para determinar lo mejor posible qué tipo de petición de navegador se *supone* que es (p. ej., ¿visita manual de URL? ¿Envío de formulario? ¿Una petición `fetch()`?).
* `thermoptic` utiliza el [Protocolo de Depuración de Chrome (CDP)](https://chromedevtools.github.io/devtools-protocol/) para manipular el navegador y preparar una página que simula la petición exactamente como ocurriría normalmente en un navegador web real.
* `thermoptic` dispara la petición a través del contexto simulado y captura la respuesta HTTP.
* `thermoptic` envía la respuesta HTTP de vuelta al cliente.

Debido a que el navegador es quien realiza realmente la petición usando su pila completa, las huellas JA4 resultantes son idénticas.

NOTA: Debido a que muchos WAF emplean fingerprinting a nivel de JavaScript de los navegadores web, `thermoptic` también expone hooks para utilizar el navegador en pasos clave del proceso de scraping. Consulta [esta sección](#handling-browser-javascript-fingerprinting-with-thermoptic-hooks) para más información al respecto.

## ¿Por qué *este* enfoque frente a otras soluciones?

Siendo francos: otros enfoques tienen fallos fundamentales que les impiden ser una solución práctica a largo plazo para el problema del fingerprinting de navegador.

Muchos otros intentos de "vencer" el fingerprinting JA4+ del navegador lo hacen reimplementando las distintas capas de la pila del navegador. Este enfoque tiene varios inconvenientes graves, como:
Descargar herramienta