
Un framework de ataque de reenlace DNS.
Actualizaciones recientes:
NUEVO (2025-11-25): Chrome lanzó la versión 142 con Local Network Access (LNA), que impide las técnicas de ataque de DNS rebinding implementadas en Singularity. La rama LNA-from-Non-Secure-Contexts de Singularity of Origin implementa soporte para Trial for Local Network Access from Non-Secure Contexts. Esto permite temporalmente el acceso a recursos en redes locales desde contextos no seguros, permitiéndote así experimentar con ataques de DNS rebinding un poco más (hasta el 18 de mayo de 2026) al usar Chrome.
NUEVO (2025-05-19): Nuestro sitio de demostración, rebind.it, se ha actualizado para soportar IPv6 (commit 3c5ee9a). Este es un cambio drástico para consultas manuales (fuera de la interfaz de Singularity Manager) porque el formato de consulta DNS se ha modificado. Consulta How to Create Manual DNS Requests to Singularity of Origin para obtener instrucciones detalladas. Además, periódicamente agregamos nuevas cargas de ataque; asegúrate de revisarlas.
(2023-04-27) Consulta nuestra publicación de blog que documenta el estado del DNS rebinding para abril de 2023. Describimos Local Network Access, una nueva especificación del W3C en borrador actualmente implementada en algunos navegadores que busca prevenir el DNS rebinding, y mostramos dos formas de eludir estas restricciones. También discutimos los efectos de la mitigación de filtración de direcciones IP de WebRTC y el DNS Bit 0x20 en los ataques de DNS rebinding.
(2020-03-30) Nueva publicación de blog investigando el impacto de DoH en los ataques de DNS rebinding. TL;DR: DoH (DNS sobre HTTPS) no tiene efecto en los ataques de rebinding y las protecciones anunciadas por los proveedores pueden eludirse.
Consulta nuestro video de DEF CON 27 y la presentación de BSidesLV en State of DNS Rebinding: Attack & Prevention Techniques and the Singularity of Origin.
Singularity of Origin es una herramienta para realizar ataques de DNS rebinding.
Incluye los componentes necesarios para reenlazar la dirección IP del nombre DNS del servidor de ataque a la dirección IP de la máquina objetivo y servir cargas de ataque para explotar software vulnerable en la máquina objetivo.
También incluye cargas de muestra para explotar varias versiones de software vulnerable, desde la simple captura de una página de inicio hasta la ejecución remota de código. Su objetivo es proporcionar un marco de trabajo para facilitar la explotación de software vulnerable a ataques de DNS rebinding y aumentar la conciencia sobre cómo funcionan y cómo protegerse de ellos.
La documentación detallada está en las páginas wiki.



Configurar Singularity requiere un nombre de dominio DNS donde puedas editar tus propios registros DNS para tu dominio y un servidor Linux para ejecutarlo. Consulta la página wiki de configuración de Singularity para obtener instrucciones detalladas.
La documentación está en las páginas wiki. Aquí hay algunos puntos de partida:
Hay una instancia de prueba disponible para fines de demostración en http://rebind.it:8080/manager.html.
Singularity ha sido probado para funcionar con los siguientes navegadores en condiciones óptimas en menos de 3 segundos:
Singularity soporta las siguientes cargas de ataque:
simple-fetch-get.js): Esta carga de muestra
realiza una solicitud GET al directorio raíz ('/') y muestra la respuesta del servidor
usando la API fetch.
El objetivo de esta carga es servir como ejemplo de solicitud para facilitar al máximo
las contribuciones adicionales.exposed-chrome-devtools.js): Esta carga
demuestra una vulnerabilidad de ejecución remota de código (RCE) en Microsoft VS Code corregida en la versión 1.19.3.
Esta carga puede adaptarse para explotar cualquier software que exponga Chrome Dev Tools en localhost.etcd.js): Esta carga recupera las claves y valores del
almacén clave-valor etcd.pyethapp.js): Explota la implementación Python del
cliente Ethereum Pyethapp para obtener la
lista de direcciones eth propiedad y recuperar el saldo de la primera dirección eth.rails-console-rce.js): Realiza un ataque de ejecución
remota de código (RCE) en la Rails Web Console.| Navegador | Sistema Operativo | Tiempo de Explotación | Estrategia de Reenlace | Intervalo de Solicitud | Especificación del Objetivo |
|---|
Multiple answers (fast) | |||||
Multiple answers (fast) | |||||
| Firefox | Windows 10 | ~3s | Multiple answers (fast) | 1s | 127.0.0.1 |
| Chromium | Ubuntu | ~3s | Multiple answers (fast) | 1s | 0.0.0.0 |
| Firefox | Ubuntu | ~3s | Multiple answers (fast) | 1s | 0.0.0.0 |
| Chrome | macOS | ~3s | Multiple answers (fast) | 1s | 0.0.0.0 |
| Firefox | macOS | ~3s | Multiple answers (fast) | 1s | 0.0.0.0 |
| Safari | macOS | ~3s | Multiple answers (fast) | 1s | 0.0.0.0 |
aws-metadata-exfil.jsduplicati-rce.js): Esta carga explota el
cliente de respaldo Duplicati y realiza un ataque de ejecución remota de código (RCE).
Para que este ataque funcione, el parámetro targetURL en el archivo payload-duplicati-rce.html debe actualizarse para
apuntar a una copia de seguridad de Duplicati válida que contenga la carga RCE real,
un script de shell.webpdb.js): Una carga RCE genérica para explotar PDB,
un depurador de Python expuesto a través de websockets.hook-and-control.js): Secuestra navegadores objetivo y úsalos para acceder a recursos inaccesibles desde tu propio navegador u otros clientes HTTP. Puedes recuperar la lista de navegadores secuestrados en el subdominio "soohooked" del host de Singularity Manager en el puerto 3129 por defecto, por ejemplo, http://soohooked.rebinder.tu.dominio:3129/. Para autenticarte, envía el valor secreto que el servidor Singularity muestra en la consola al iniciarse.jenkins-script-console.js): Esta carga explota la
Consola de Scripts de Jenkins
y muestra las credenciales almacenadas.docker-api.js): Esta carga explota la
API de Docker
y muestra el archivo /etc/shadow del host Docker.ollama-exfil.js): Exfiltra archivos de hosts que ejecutan Ollama, un sistema de código abierto para ejecutar y gestionar modelos de lenguaje grandes (LLMs). Consulta la publicación de blog técnica.html/payloads).