Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
browsertunnel — Exfiltrar sigilosamente datos del navegador mediante DNS | Kitploit
Herramientas/GitHubGitHub/veggiedefender/browsertunnel
Exfiltración de DatosSeguridad WebRed TeamingAnálisis de DNS
GitHubveggiedefender/browsertunnel

browsertunnel

Exfiltrar sigilosamente datos del navegador mediante DNS

Ver RepositorioSitio web
42230hace 6 añosRevisado 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

browsertunnel

CircleCI

Browsertunnel es una herramienta para exfiltrar datos del navegador utilizando el protocolo DNS. Lo logra abusando de dns-prefetch, una función diseñada para reducir la latencia percibida de los sitios web realizando consultas DNS en segundo plano para dominios específicos. El tráfico DNS no aparece en las herramientas de depuración del navegador, no está bloqueado por la Política de Seguridad del Contenido (CSP) de una página y, a menudo, no es inspeccionado por firewalls corporativos o proxies, lo que lo convierte en un medio ideal para el contrabando de datos en escenarios restringidos.

Es una técnica antigua: el túnel DNS en sí se remonta a los años 90, y Patrick Vananti escribió sobre su uso con dns-prefetch en 2016, pero hasta donde sé, browsertunnel es el primer cliente/servidor de código abierto y listo para producción que demuestra su uso. Dado que dns-prefetch no devuelve ningún dato al JavaScript del cliente, la comunicación a través de browsertunnel es solo unidireccional. Además, algunos navegadores deshabilitan dns-prefetch de forma predeterminada y, en esos casos, browsertunnel fallará silenciosamente.

El proyecto consta de dos partes:

  1. Un servidor, escrito en golang, que funciona como un servidor DNS autoritativo que recoge y decodifica los mensajes enviados por browsertunnel.
  2. Una pequeña biblioteca JavaScript, que se encuentra en la carpeta html/, que codifica y envía mensajes desde el lado del cliente.

Cómo funciona

Browsertunnel puede enviar cadenas de texto arbitrarias a través de DNS codificando la cadena en un subdominio, que se reenvía al servidor de browsertunnel cuando el navegador intenta resolver recursivamente el dominio.

Los mensajes más largos que no caben en un dominio (253 bytes) se dividen automáticamente en múltiples consultas, que son reensambladas y decodificadas por el servidor.

Configuración y uso

Primero, configure los registros DNS para delegar un subdominio a su servidor. Por ejemplo, si la IP de su servidor es 192.0.2.123 y desea tunelizar a través del subdominio t1.example.com, entonces su configuración DNS se verá así:

root@kitploit:~
t1		IN	NS	t1ns.example.com.
t1ns		IN	A	192.0.2.123

En su servidor, instale browsertunnel usando go get. Alternativamente, compile browsertunnel en su propia máquina y copie el binario a su servidor.

root@kitploit:~
go get github.com/veggiedefender/browsertunnel

A continuación, ejecute browsertunnel, especificando el subdominio a través del cual desea tunelizar.

root@kitploit:~
browsertunnel t1.example.com

Para ver el uso completo, ejecute browsertunnel -help:

root@kitploit:~
$ browsertunnel -help
Usage of browsertunnel:
  -deletionInterval int
    	seconds in between checks for expired messages (default 5)
  -expiration int
    	seconds an incomplete message is retained before it is deleted (default 60)
  -maxMessageSize int
    	maximum encoded size (in bytes) of a message (default 5000)
  -port int
    	port to run on (default 53)

Para descripciones más detalladas y la justificación de estos parámetros, también puede consultar el godoc.

Finalmente, ¡pruebe su túnel! Puede usar mi página de demostración aquí o clonar este repositorio y cargar html/index.html localmente. Si todo funciona, debería poder ver mensajes registrados en la salida estándar.

Para aplicaciones reales de este proyecto, es posible que desee bifurcar y modificar el código según sea necesario. Algunas ideas:

  • Escribir mensajes en una base de datos en lugar de imprimirlos en la salida estándar
  • Transpilar o reescribir el código del cliente para que funcione con navegadores más antiguos
  • Hacer que la parte de ID del dominio sea más grande o más pequeña, dependiendo de la cantidad de tráfico que reciba y las colisiones de ID que espera
  • Autenticar y cifrar los mensajes para garantizar la confidencialidad y la resistencia a manipulaciones (recuerde que DNS es un protocolo de texto plano)
Descargar herramienta