El caso de cómo, buscando RCE por US$20, terminaron siendo administradores de .mobi
(labs.watchtowr.com)- watchTowr Labs registró por unos US$20 el dominio vencido dotmobiregistry.net, con lo que tomó control del antiguo hostname del servidor WHOIS de
.mobi, y comprobó que clientes WHOIS antiguos y flujos de validación de certificados TLS/SSL todavía confiaban en esa dirección - Aunque el servidor WHOIS oficial de
.mobise había trasladado awhois.nic.mobi, muchas herramientas seguían consultando la dirección antigua,whois.dotmobiregistry.net, con el valor hardcodeado - Tras desplegar un servidor WHOIS temporal el 30 de agosto de 2024, hasta el 4 de septiembre recibieron consultas de más de 135,000 sistemas únicos y 2.5 millones de consultas, lo que dejó en evidencia que un dominio legacy abandonado seguía ampliamente conectado con infraestructura real de Internet
- Algunas autoridades certificadoras TLS/SSL usaban validación por correo basada en WHOIS para verificar la propiedad de dominios
.mobi, y en una prueba con GlobalSign apareciówhois@watchtowr.comcomo candidato de correo de verificación paramicrosoft.mobi - Los investigadores no emitieron realmente un certificado malicioso; posteriormente, el NCSC del Reino Unido y ShadowServer conectaron el dominio a un sinkhole para que proxyara respuestas WHOIS legítimas de
.mobi
Un dominio vencido de US$20 resucita como infraestructura WHOIS
- El objetivo original de watchTowr Labs era encontrar una RCE explotable en la práctica en el proceso con el que los clientes WHOIS parsean las respuestas del servidor
- En los experimentos iniciales, se hicieron pasar por un servidor WHOIS y devolvieron cadenas largas, confirmando que algunos clientes crasheaban con facilidad
- Sin embargo, para que un atacante controle una respuesta WHOIS, normalmente necesitaba una de estas condiciones
- Un MITM que intercepte el tráfico WHOIS en la capa de red
- Acceso al servidor WHOIS real
- Un referral WHOIS que apunte a un servidor controlado por el atacante
- Estos prerrequisitos son una barrera alta para ataques reales, pero la situación cambió cuando venció el dominio del antiguo servidor WHOIS de
.mobi - El servidor WHOIS de
.mobise había movido dewhois.dotmobiregistry.netawhois.nic.mobi, y el dominio anterior,dotmobiregistry.net, estaba vencido desde alrededor de diciembre de 2023 - Tras registrar ese dominio, watchTowr colocó un servidor WHOIS detrás de
whois.dotmobiregistry.netpara comprobar si los clientes WHOIS que tenían hardcodeada la dirección antigua seguían consultándolo
La superficie de ataque creada por hardcodear direcciones de servidores WHOIS
- WHOIS usa servidores separados por cada TLD, pero no cuenta con un mecanismo estandarizado sólido para que los clientes descubran ese servidor en tiempo real
- En la práctica, es común que las herramientas WHOIS tomen como referencia una lista de texto publicada por IANA y hardcodeen en tiempo de desarrollo las direcciones de los servidores
- Cuando las direcciones de servidores no cambian con frecuencia, el problema se nota menos, pero si una dirección cambia y el dominio antiguo vence, los clientes obsoletos pueden seguir consultando la dirección abandonada
- watchTowr respondió a las solicitudes WHOIS entrantes con el servidor
lglassy devolvió información WHOIS falsa que hacía parecer que watchTowr era el propietario de todos los objetivos consultados - La respuesta también incluía ASCII art y una solicitud para que dejaran de consultar
Volumen y origen de las consultas observadas
- Tras desplegar el servidor WHOIS el 30 de agosto de 2024, en cuestión de horas consultaron más de 76,000 IP de origen únicas
- En unos dos días, la base SQLite acumuló 1.3 millones de consultas, y para el 4 de septiembre de 2024 se confirmaron 2.5 millones de consultas y más de 135,000 sistemas únicos
- Entre los orígenes de las consultas había grandes registradores de dominios y sitios que ofrecen funciones WHOIS
domain.comgodaddy.comwho.iswhois.rusmallseo.toolsseocheki.netcentralops.netname.comwebchart.org
- Servicios de análisis de seguridad también usaban el antiguo servidor WHOIS de
.mobi- urlscan.io usaba esos resultados WHOIS en páginas de dominios
.mobi - VirusTotal consultaba el servidor WHOIS temporal de watchTowr y mostraba los resultados
- urlscan.io usaba esos resultados WHOIS en páginas de dominios
- También se identificaron numerosos servidores de correo y filtros antispam
- Los filtros antispam pueden realizar búsquedas WHOIS sobre el dominio del remitente
- Los casos iban desde
cheapsender.emailhasta hosts que parecían infraestructura gubernamental de Bangladesh, comomail.bdcustoms.gov.bd
- Se observaron direcciones relacionadas con
.goven varios países- Argentina, Pakistán, India, Bangladesh, Indonesia, Bután, Filipinas, Israel, Etiopía, Ucrania, EE. UU.
- Como ejemplos relacionados con Brasil se incluyeron
antispam.ap.gov.brymaster.aneel.gov.br
- Entre los orígenes
.milapareció como ejemplo Swedish Armed Forces - También se identificaron orígenes
.eduy de empresas de seguridad, con menciones a Group-IB, Detectify y Censys - Si direcciones
.govy servidores de correo consultan el servidor WHOIS cada vez que reciben emails desde dominios.mobi, surge la posibilidad de observar pasivamente quién se comunica con quién
Vulnerabilidades en clientes WHOIS antiguos y posibilidad de RCE
- watchTowr buscó precedentes de vulnerabilidades en el parseo de respuestas WHOIS y resumió que, de 26 resultados de CVE relacionados, solo quedaban 3 bugs activables mediante una respuesta WHOIS malformada
- Una posible razón de que haya tan pocos casos es la percepción de que la explotación real requiere prerrequisitos difíciles, como controlar el servidor WHOIS de un TLD
- phpWHOIS CVE-2015-5243 es una vulnerabilidad que permite RCE porque ejecuta con
evalde PHP los datos recibidos desde el servidor WHOIS- El código vulnerable escapaba de forma incompleta solo
"en la cadena de respuesta WHOIS antes de pasarla aeval - El análisis de Netitude presentaba un payload de ejemplo como
”;phpinfo();// - Las versiones vulnerables de phpWHOIS tenían hardcodeado
whois.dotmobiregistry.net
- El código vulnerable escapaba de forma incompleta solo
- Fail2Ban CVE-2021-32749 es una vulnerabilidad de inyección de comandos porque la salida WHOIS se pasaba sin sanitización adecuada a la herramienta
mail- Fail2Ban puede consultar por WHOIS la información del propietario de una IP bloqueada e incluirla en un correo al administrador
- Sin embargo, esta vulnerabilidad ocurre en consultas WHOIS sobre direcciones IP, por lo que no se alcanza directamente solo con el control del servidor WHOIS de dominios
.mobique obtuvo watchTowr
- Para lograr ejecución real de código, sigue siendo necesario que coincidan un cliente que todavía consulte el antiguo servidor WHOIS de
.mobiy una implementación vulnerable del cliente
Impacto incluso en flujos de validación de certificados TLS/SSL
- Algunas autoridades certificadoras TLS/SSL soportan un método en el que parsean el correo de contacto administrativo desde los datos WHOIS para confirmar la propiedad del dominio y envían un enlace de verificación a ese correo
- Los ejemplos listados por watchTowr de autoridades certificadoras o revendedores que soportan validación de propiedad basada en WHOIS son
- Trustico
- Comodo
- SSLS
- GoGetSSL
- GlobalSign
- DigiSign
- Sectigo
- En una prueba con GoGetSSL, al subir un CSR ficticio de
watchTowr.mobi, no apareció elwhois@watchtowr.comconfigurado por watchTowr, sino solo un correo placeholder que indicaba que WHOIS no había tenido éxito - En una prueba con Entrust, se parseó el registro WHOIS legítimo de
microsoft.mobiy solo aparecieron como candidatos de verificación correos del dominiomicrosoft.com;watchTowr.mobino fue parseado - En una prueba con GlobalSign, al principio parecía que no podía parsear el registro WHOIS de
microsoft.mobi, pero el resultado cambió cuando watchTowr copió el formato de salida demicrosoft.mobidel servidor WHOIS legítimo y lo adaptó para servirlo desde su propio servidor WHOIS - GlobalSign consultó el servidor WHOIS de watchTowr y parseó
whois@watchtowr.comdesde la respuesta, proponiéndolo como correo de verificación paramicrosoft.mobi - watchTowr se detuvo en ese punto y no emitió realmente un certificado TLS/SSL malicioso
- En teoría, el flujo de ataque sería el siguiente
- Colocar un servidor WHOIS malicioso en el antiguo hostname autoritativo
- Intentar comprar un certificado TLS/SSL para un dominio
.mobiobjetivo - La autoridad certificadora consulta WHOIS y envía el correo de verificación a una dirección del atacante, no al propietario real
- Si el atacante hace clic en el enlace, puede obtener un certificado TLS/SSL para el dominio objetivo
- Con esa capacidad, ataques como interceptar tráfico o suplantar el servidor objetivo serían teóricamente posibles
Medidas posteriores y problemas pendientes
- Antes de la publicación, el NCSC del Reino Unido y la ShadowServer Foundation respondieron en conjunto
- El dominio
dotmobiregistry.nety el hostnamewhois.dotmobiregistry.netfueron conectados a un sistema de sinkhole proporcionado por ShadowServer - Ese sinkhole proxya respuestas WHOIS legítimas para dominios
.mobi - También se estableció un proceso para notificar a las partes afectadas
- Este caso muestra una falla estructural que aparece cuando interactúan infraestructura legacy, dominios abandonados, procesamiento basado en WHOIS y procedimientos de validación de autoridades certificadoras TLS/SSL
- Un actor con capacidad de MITM también podría falsificar datos WHOIS e intentar el mismo tipo de ataque; e incluso con mecanismos como la transparencia de certificados, siguen existiendo barreras operativas para ataques a gran escala
1 comentarios
Opiniones de Hacker News
Para que se llegara a esta situación seguramente se combinaron errores de varias personas, pero hay algo claro que habría podido evitar este ataque en particular: nunca dejar que un dominio expire
El servidor WHOIS del dominio de nivel superior .MOBI se trasladó hace unos años de
whois.dotmobiregistry.netawhois.nic.mobi, y parece que el dominiodotmobiregistry.netquedó abandonado tras expirar alrededor de diciembre de 2023Cuando una empresa empieza a usar un dominio nuevo porque cuesta 10 dólares al año, ese dominio se convierte, en la práctica, en un activo por el que deberá pagar 10 dólares al año para siempre. Una vez que un dominio queda asociado a un negocio, esa asociación no se puede cortar por completo
https://money.cnn.com/2016/01/29/technology/google-domain-pu...
Al final, creo que el valor calculado en sí no era tan importante, porque es más probable olvidar el pago por perder un aviso de renovación debido a una tarjeta de crédito vencida o a filtros de spam
¿Cómo hacen las grandes empresas para no olvidar pagar los costos de sus dominios? ¿Le encargan a un registrador caro renovaciones por un período cercano al “infinito”? Parece un problema de operaciones de negocio bastante difícil
Tengo la sensación de que un día voy a despertarme y ver la noticia de que, desde una habitación de hotel en un lugar remoto, alguien hizo algo con una Raspberry Pi conectada al hotspot Wi-Fi de un café cercano y desapareció todo Internet
.mobi[0] https://xkcd.com/2347/
[1] https://en.wikipedia.org/wiki/ARPANET#Debate_about_design_go...
[1] https://news.ycombinator.com/item?id=41482087
¿Por qué las herramientas usan listas de servidores WHOIS hardcodeadas?
Parece que hay una forma estándar de registrarlos en DNS, pero una prueba rápida muestra que a muchos dominios de nivel superior les faltan esos registros. Un ejemplo que sí funciona es
dig _nicname._tcp.fr SRV +noall +answer, que devuelve_nicname._tcp.fr. 3588 IN SRV 0 0 43 whois.nic.fr.Además, existe un borrador de Internet vencido sobre esto: https://datatracker.ietf.org/doc/html/draft-sanz-whois-srv-0...
mobi.whois.arpa. CNAME whois.nic.mobiya se habría podido resolver el problema. El problema es lograr que todos se pongan de acuerdo y adopten esa formaComo dijo fanf2 más abajo, parece que también se podría consultar primero al servidor WHOIS de IANA. Si consultas
mobien https://www.iana.org/whois, parte de la respuesta incluyewhois: whois.nic.mobiLa falta de capacidad de los desarrolladores ya es un problema, pero las alucinaciones de IA van a empeorar aún más esta situación
He visto demasiados equipos que no se dan cuenta de que, cuando empiezas a usar un dominio de forma significativa, en la práctica tienes que renovarlo hasta la muerte térmica del universo o, al menos, hasta la muerte térmica del equipo
Ya sea un caso como este, una URL vieja pero importante que quedó en algún lado, o que un integrante del equipo se haya registrado en un servicio con un correo del dominio antiguo, es muy difícil saber cuándo realmente puedes soltar un dominio viejo
La superficie de ataque que aparece con solo comprar un dominio expirado de un servidor WHOIS antiguo es realmente enorme
La verdadera solución para WHOIS es RDAP
Lamentablemente, no es obligatorio para los dominios de nivel superior de código de país, y entre los dominios de nivel superior que no son de código de país también hay muchos donde no funciona correctamente
https://en.wikipedia.org/wiki/Registration_Data_Access_Proto...
https://resolve.rs/domains/rdap-missing.html
Un trabajo excelente.
El dominio
dotmobiregistry.nety el hostnamewhois.dotmobiregisry.netahora apuntan a un sistema sinkhole proporcionado por ShadowServer, y se indica que este sistema hace de proxy para las respuestas WHOIS legítimas de los dominios.mobi.Si esos dominios iban a quedar en desuso, habría sido mejor devolver una respuesta tipo 404. Si se les permite seguir funcionando como si fueran normales, disminuye el incentivo para migrar al dominio oficial.
Domain not found.>>> Please update your code or tell your system administrator to use whois.nic.mobi, the authoritative WHOIS server for this domain. <<<Creo que el enfoque general de la computación está condenado al fracaso. Depende de una seguridad perfecta, y se asume que esa seguridad se logra con revisiones de SBOM y actualizaciones frecuentes.
Pero eso nunca ocurre. Incluso con log4j, el 40% de todas las descargas corresponde a versiones vulnerables. Ni hablar de cuando un proveedor dentro de la cadena de suministro cierra o deja de mantener un componente.
Igual que nuestro cuerpo es siempre un campo de batalla contra microorganismos, todo inevitablemente estará siempre lleno de bugs y agujeros.
Probablemente tome décadas, pero el camino parece bastante claro. Hay que dedicarle esfuerzo, aplicar el conocimiento obtenido de cada “lección” y no detenerse.
En general, me gustó el tono de “no queríamos hacer esto, pero la situación siguió creciendo y en cada paso obtuvimos algo más grande de lo esperado”.
Si quienes se oponían hubieran escuchado y corregido el parsing, quizá los autores se habrían ahorrado todo ese trabajo.
Si le damos la vuelta a esto, ¿se supone que debemos confiar en que todos los servidores WHOIS del mundo son siempre auténticos y seguros?
Especialmente desde el punto de vista de una autoridad certificadora que realiza validación TLS, no querría enterarme de que al ejecutar
whois somethingarbitrary.ruquedo expuesto a ejecución remota de código por culpa de un servidor ruso.