Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Resolución de nombres y direcciones internas

4 tareas · 40 min · Principiante

Cundiamor aprueba sus destinos por nombre: una lista de aliados que mantiene soporte y se amplía por ticket. Pero quien decide a qué máquina se conecta el servidor no es la lista, es la resolución del nombre, y eso lo controla quien sea dueño del dominio. En esta sala se leen la lista de aliados, la consulta de nombres que guardó plataforma, el mapa de red y el punto exacto del código donde se comprueba una cosa y se pide otra.

0 de 4 · 0%

Objetivo de la sala

Cundiamor aprueba sus destinos por nombre: una lista de aliados que mantiene soporte y se amplía por ticket. Pero quien decide a qué máquina se conecta el servidor no es la lista, es la resolución del nombre, y eso lo controla quien sea dueño del dominio. En esta sala se leen la lista de aliados, la consulta de nombres que guardó plataforma, el mapa de red y el punto exacto del código donde se comprueba una cosa y se pide otra.

Un nombre de dominio es una etiqueta que su dueño apunta a donde quiera, y puede cambiarla cuando quiera. Si la comprobación del servidor pregunta «¿está este nombre en mi lista?» y después el cliente HTTP vuelve a resolverlo por su cuenta para conectarse, la comprobación y la conexión están mirando dos cosas distintas: una miró una cadena de texto y la otra se fue a donde dijera la respuesta del momento.

De ahí salen dos problemas que conviene no mezclar. Uno es sencillo: un nombre aprobado que, sin más, apunta a una dirección interna. El otro es el que la guía de prevención de OWASP llama reasignación de nombres, y consiste en que la respuesta cambie entre la comprobación y la conexión. Los dos se cierran igual: comprobando direcciones, no nombres, y conectando a la dirección ya validada.

Responde para continuar

¿Por qué comprobar el nombre contra la lista de aliados no fija el destino de la petición?

Ver pista de ayuda

¿Quién controla la respuesta de la consulta de nombres?

Abre el laboratorio. aliados-aprobados.yml tiene los cinco nombres que soporte aprobó por ticket; resolucion.txt guarda lo que devolvió cada uno al consultarlos desde el propio servidor del portal, y mapa-red.txt dice qué rango es cada cosa.

Uno de los aliados aprobados resuelve dentro de la red de bases de datos y servicios internos del portal.

Responde para continuar

¿Qué nombre de la lista de aliados resuelve a una dirección de la red de bases de datos y servicios internos? Escríbelo tal como aparece en la lista.

Ver pista de ayuda

Dos nombres no devuelven direcciones de internet, pero solo uno cae en ese rango.

La recomendación que irá al informe no es «quitar un nombre»: es revisar el alta de todos los que no apuntan a internet, porque cada uno de ellos convierte la lista de permitidos en una puerta. Cuenta los nombres de la lista de aliados cuya resolución devuelve una dirección privada, sea de la red que sea.

Responde para continuar

¿Cuántos nombres de la lista de aliados resuelven a una dirección privada? Escribe solo el número.

Ver pista de ayuda

El mapa de red marca tres rangos privados; mira si algún nombre cae en cualquiera de ellos.

Vuelve al laboratorio y lee ClienteSalida.php. La función extrae el nombre, lo busca en la lista y, si está, entrega la dirección completa al cliente HTTP. Entre esas dos líneas hay una consulta de nombres que el código no ve y no controla.

Responde para continuar

¿Qué corrección cierra el hueco que deja esa función?

Ver pista de ayuda

La comprobación tiene que caer sobre lo mismo a lo que se conecta.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad