Envenenamiento de caché de DNS

2

Estoy en un proceso de aprendizaje sobre cómo realizar un ataque de envenenamiento de caché de DNS.
Corro todo en un entorno de VM aislado, solo para fines educativos.

La configuración es una máquina Linux con Unbound DNS Server configurado como un sistema de resolución recursivo, que trato de envenenar.

Por simplicidad, me permito ser MITM (para paquetes de entrada y salida).
Utilizo dig para consultar al resolutor de un nombre de dominio, por ejemplo, www.google.com .

El resolutor consulta a algunos servidores DNS para obtener una respuesta.
Luego, utilizando scapy y python-nfqueue, detecto el paquete del resultado final y cambio la respuesta para que solo contenga un nombre de NS (ns1.google.com, sometimes ns2 etc) como registro de NS y un registro adicional de ns1.google.com con una IP de 6.6.6.6 .

Aquí hay una pantalla de impresión de Wireshark (del paquete de respuesta final que modifiqué):

Y aquí hay una prueba de que el caché está envenenado:

Ahora, detengo la secuencia de comandos de envenenamiento, y espero que la próxima vez que consulte un subdominio como www.images.google.com , el resolvedor envenenado reconocerá a www.images.google.com como un subdominio de google.com , por lo tanto, intentará consultar a ns1.google.com at 6.6.6.6 usando el registro en caché.

Sin embargo, esto no está sucediendo, y el sistema de resolución intenta consultar un servidor DNS externo en lugar de usar el caché.

¿Alguna idea de qué me estoy perdiendo?

    
pregunta Jjang 27.06.2017 - 21:21
fuente

0 respuestas

Lea otras preguntas en las etiquetas