Análisis de DNS Rebinding

0x01 Introducción al ataque

El reenlace de DNS también se denomina ataque de reenlace de DNS o ataque de redirección de DNS. En este ataque, una página web maliciosa hace que los visitantes ejecuten secuencias de comandos del lado del cliente que atacan las computadoras en otras partes de la red.

Antes de presentar el mecanismo de ataque DNS Rebinding, primero comprendamos la política del mismo origen web.

Política del mismo origen web

La política del mismo origen (Inglés: Política del mismo origen) se refiere a permitir que un script de página web acceda a los datos de otra página web en un navegador web, pero solo si las dos páginas web deben tener la misma URL, nombre de host y número de puerto. dos sitios web cumplen las condiciones anteriores, se considera que los dos sitios web tienen el mismo origen. Esta política evita que los scripts malintencionados de una página web accedan a datos confidenciales de otra página web a través del modelo de objeto de documento de esa página, como los XSS,XXE,SSRFataques basados ​​en scripts maliciosos en las páginas web.

**Definición del mismo origen:** Si los protocolos, los nombres de dominio y los puertos de las dos URL son iguales, entonces las dos URL tienen el mismo origen .

La política del mismo origen tiene un significado especial para las aplicaciones web, porque las aplicaciones web dependen ampliamente de las cookies HTTP para mantener las sesiones de usuario (sesión), por lo que los sitios web no relacionados deben estar estrictamente separados para evitar la pérdida de fugas de datos.

Vale la pena señalar que la política del mismo origen solo se aplica a los scripts, lo que significa que un sitio web puede acceder a recursos como imágenes, CSS y scripts cargados dinámicamente en sitios web de diferentes orígenes a través de las etiquetas HTML correspondientes. Y la falsificación de solicitud entre sitios (CSRF) es usar el defecto de que la política del mismo origen no se aplica a las etiquetas HTML.

Entonces, en teoría, la política del mismo origen puede garantizar efectivamente que los scripts del lado del cliente solo puedan acceder al contenido en el mismo host que brinda servicios para los scripts.

Hasta ahora, cómo eludir la política del mismo origen de la Web se ha convertido en un área de investigación para muchos piratas informáticos.

Principio de ataque 0x02:

Esto es lo que se usa el TTL:

TTL es la abreviatura del inglés Time-To-Live, que significa el tiempo de retención de un registro de resolución de nombre de dominio en el servidor DNS. Cuando los servidores DNS de todo el mundo reciben una solicitud de resolución, enviarán una solicitud de resolución al servidor NS especificado por el nombre de dominio para obtener un registro de resolución; después de obtener el registro, el registro se almacenará en el servidor DNS durante un período de tiempo.Cuando se recibe la solicitud de resolución de este nombre de dominio, el servidor DNS ya no enviará una solicitud al servidor NS, sino que devolverá directamente el registro obtenido en este momento; y el tiempo que se mantiene este registro en el servidor DNS es el valor TTL.

Es decir, cuanto menor sea el valor del TTL, más rápido tendrá efecto el impacto en el registro modificado.

Aquí podemos construir un caso de reenlace de DNS:

Por ejemplo, para cambiar entre 192.168.32.10 y 127.0.0.1, podemos codificarlos como dwords, usando la herramienta rbndr :

7f000001.c0a8200a.rbndr.us

A continuación, vamos a probarlo:

# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 127.0.0.1
# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 127.0.0.1
# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 127.0.0.1
# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 192.168.32.10
# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 127.0.0.1
# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 127.0.0.1
# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 192.168.32.10
# host 7f000001.c0a8200a.rbndr.us
7f000001.c0a8200a.rbndr.us has address 127.0.0.1                                                   

Esto logra el efecto de un reenlace de DNS.

Para ayudarlo a estudiar ciberseguridad, puede recibir un conjunto completo de información de forma gratuita:
① Mapa mental de la ruta de aprendizaje y crecimiento de la ciberseguridad
② Más de 60 kits de herramientas clásicas de ciberseguridad
③ Más de 100 informes de análisis SRC
④ Más de 150 libros electrónicos sobre técnicas de ataque y defensa de ciberseguridad
⑤ La guía de examen de certificación CISSP más autorizada + Banco de preguntas
⑥ Más de 1800 páginas del Manual de habilidades prácticas de CTF
⑦ Colección de las últimas preguntas de entrevistas de empresas de seguridad de redes (incluidas las respuestas)
⑧ Guía de pruebas de seguridad de clientes de aplicaciones (Android+IOS)

mecanismo de ataque 0x03

El atacante no tiene control sobre el portador de los servidores de nombres, todas las solicitudes para resolver nombres de host (o direcciones IP, que aún son nombres de host válidos) se redireccionan a servidores de nombres alternativos controlados y operados por el atacante. Por ejemplo, si tenemos un sitio web en www.example-a.com y queremos acceder a un servidor de correo de dominio interno privado u otro servicio al que solo se puede acceder a través de esa dirección IP privada específica, podemos usar un ataque de reenlace de DNS para falsificar una de estas direcciones.

imagen-20230404221756020

Ejemplo de ataque 0x04

  1. El atacante registra un nombre de dominio, como www.evil.com con la dirección IP 1.3.5.7, lo delega a su propio servidor DNS (1.3.5.4) y utiliza enlaces de phishing o correos electrónicos para obtener tráfico HTTP.
  2. En lugar de enviar un registro TTL normal, el servidor DNS envía un registro TTL muy corto (p. ej., 1 segundo), lo que evita que la respuesta DNS para la entrada [www.evil.com, 1.3.5.7] se almacene en la memoria caché de la víctima (192.168). .1.10) navegador.
  3. JavaScriptEl servidor del adversario primero responde a la víctima con un script malicioso que contiene la dirección IP del servidor (1.3.5.7) .
  4. El adversario usa XMLHttpRequest (XHR)para enviar solicitudes HTTP o HTTPS directamente al servidor del adversario y carga la respuesta.
  5. El script malicioso permite que el adversario vuelva a vincular el nombre de host a la dirección IP (192.168.1.2) del servidor de destino detrás del firewall.
  6. Luego, el servidor responde al objetivo real del adversario, que es una IP de host interna (192.168.1.2) en el mismo dominio que la víctima (192.168.1.10).
  7. Dado que el mismo nombre se resuelve en ambas direcciones IP, el navegador coloca las dos direcciones IP (1.3.5.7 y 192.168.1.2) en la misma zona de seguridad y permite que la información fluya entre las direcciones.
  8. Además, el atacante puede escanear y acceder a todos los hosts internos en la red local de la víctima (192.168.XX) mediante el envío de varias direcciones IP de corta duración.

0x05 peligro de ataque

DNS Rebinding puede interrumpir una red privada al hacer que el navegador web de la víctima acceda a la máquina en la dirección IP privada y devuelva los resultados al atacante. También se puede usar para usar la máquina de la víctima para enviar spam, ataques de denegación de servicio distribuido (DDOS) u otras actividades maliciosas, que es lo que a menudo escuchamos sobre las máquinas de carne y las máquinas zombie.

DDoS

0x04-1 Prueba de penetración de red a través de un ataque de reenlace de DNS:

En algunos casos, se engaña a los usuarios para que creen sitios de phishing utilizando estas redes (por ejemplo, servidores de correo electrónico privados). Dado que todo el tráfico enviado a la URL secuestrada ahora se envía de vuelta al servidor de origen, se vuelve completamente confuso y obliga a los usuarios a instalar la página de phishing. Con el fin de lograr la función de obtener información del usuario o permisos del usuario.

Suplantación de identidad

0x06 将DNS Rebinding应用到实际漏洞挖掘

CVE-2022-4096

漏洞描述:1.8.2 之前的 GitHub 存储库 appsmithorg/appsmith 中的服务器端请求伪造 (SSRF)

复现链接:https://infosecwriteups.com/ssrf-via-dns-rebinding-cve-2022-4096-b7bf75928bb2

CVE-2023-26492

漏洞描述:Directus 是用于管理 SQL 数据库内容的实时 API 和应用程序仪表板。当从远程 Web 服务器导入文件(POST 到 /files/import)时,Directus 容易受到服务器端请求伪造 (SSRF) 的攻击。攻击者可以通过执行 DNS 重新绑定攻击并查看来自内部服务器的敏感数据或执行本地端口扫描来绕过安全控制。攻击者可以利用此漏洞访问高度敏感的内部服务器并窃取敏感信息。此问题已在版本 9.23.0 中修复。

CVE链接:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-26492

CVE-2022-43548

漏洞描述:由于 IsAllowedHost 检查不充分,Node.js 版本 <14.21.1、<16.18.1、<18.12.1、<19.0.1 中存在操作系统命令注入漏洞,该漏洞很容易被绕过,因为 IsIPAddress 没有正确检查 IP在发出允许重新绑定攻击的 DBS 请求之前地址无效。https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-32212 中针对此问题的修复不完整,这个新的 CVE 是为了完成修复。

CVE链接:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-43548

Para CVE-2022-43548el CVE-2023-26492seguimiento, habrá un artículo completo sobre el proceso de reproducción, espéralo con ansias~

Supongo que te gusta

Origin blog.csdn.net/qq_38154820/article/details/130121294
Recomendado
Clasificación