Varias semanas atrás estuvimos averigüando la forma en que Dan Kaminsky determinaba cúando un DNS era vulnerable a su famoso hallazgo, al usar el DNS CHECKER en Doxpara.com.
Inicialmente pensamos en la posibilidad de recrear el DNS CHECKER vía un viejo y útil programa llamado, tcpreplay, bajo la premisa que a Kaminsky se la había fugado parte o toda la cadena de explotación, pero no fue así.
Luego de montar un DNS vulnerable en nuestro lab, descubrimos que los paquetes eran muy inofensivos, pero no quisimos dejar tanto esfuerzo en un simple, no se puede. Quisimos ir más allá, y no despreciar el análisis de los paquetes capturados, contra nuestro DNS vulnerable. Sugerimos que lleve el curso SEC503 si desea aprender cómo hacer esto.
Al analizar los paquetes, observamos renuencia de paquetes. Ellos no eran otra cosa que un prolongado juego de acertijos (por eso el título arriba) en el que estuvo entretenido nuestro DNS. Los acertijos a que nos referimos eran (como puede ver abajo) varias respuestas CNAME sucesivas para una consulta de un registro tipo A, aquí una representación cinematográfica de lo visto:
Interprete el escenario así:
[192.168.1.19] como Batman (nuestro DNS vulnerable)
[209.200.168.66] como El Acertijo (el servidor DNS de Kaminsky)
[190.232.39.215] como El público de la película (PC que hace click en el DNS Checker)
La técnica, que hemos bautizado aquí como “la técnica del acertijo”, es muy interesante. Si bien acá es usada para diagnosticar la vulnerabilidad descubierta por Kamisky, esta, puede ser usada para otros fines futuros. Observe, que la técnica de responder con acertijos, es una forma muy útil de provocar más de una (seudo) sesión (seuda por lo de UDP) a fin de aprender más del host que inicia la sesión. Por otro lado, si piensa por un momento que las respuestas con acertijos son agotadoras (como lo pueden ser las preguntas repetidas de un infante), entonces entenderá -también- que esta técnica puede ser usada para intentar agotar los recursos de un servidor DNS (tarea para los researchers que quieran crackear un BIND-acertijo)
En suma, Kaminsky no sólo nos ha mostrado (BlackHat 2008) su vulnerabilidad, también nos ha dejado algo más (doxpara.com), sólo hacía falta un poco de análisis.
Staff
JaCkSecurity
Conocimiento, conciencia, consultoría