Obtención automatizada de información en NIC Chile

NIC Chile es la entidad encargada de la gestión de dominios .cl, a cargo de la Universidad de Chile. Actualmente, para realizar la compra de un dominio es necesario entregar una serie de información personal como el rut, nombre, dirección, ciudad, entre otros. Es obvio que esos datos ingresados quedan almacenados en algún lugar y lo que tambien es obvio, acceder a dicha información de una u otra forma.

NIC ha puesto a disposición de todos nosotros algunos datos de esas personas, de manera tal que podamos hacer la relación rut-nombre. La forma en que NIC facilita el registro de dominios es que, al escribir el rut del registrante, automáticamente rellena los campos del nombre de la persona, sin verificación ni ningún tipo de validación.

Los pasos a seguir son:

Entramos a https://www.nic.cl y llenamos el formulario “Inscriba su dominio” con un dominio dummy que sepamos que no existe, por ejemplo “iuhxfuzenfier” y presionamos el boton “Ir”.

Inscripción de dominio
Inscripción de dominio

Nos enviará a la siguiente pantalla

Formulario de inscripción

Si completamos el campo rut con el número (por ejemplo) 6.692.949-3, encontrado en google. Al presionar el botón Siguiente, nos mostrará una pantalla con el nombre de la persona a la cual corresponde ese rut.

nicrut

Si vemos el código fuente de esa pantalla, podremos ver el html y armar un bot-spider que se dedique a capturar los datos e ir almacenandolos.

Para pasar del paso 1 al 2, no existe ningún tipo de validación de que realmente es un humano quien está detrás de la máquina (captcha), por lo que perfectamente un bot bien programado puede encargarse de obtener toda la información.
En el paso 1, podemos ver abajo del formulario un mensaje que dice:

ADVERTENCIA: Los datos entregados para la inscripción de su dominio son información pública.
NIC Chile almacena esta información en su base de datos la cual no se entrega, vende, cede o transfiere a ninguna persona o institución y a ningún título.

Lo que no nos ayuda en nada al momento de la protección de datos.

Si vamos a la parte técnica, podemos empezar a escribir unos pequeños ejemplos de cómo explotar esta debilidad. Si nos damos cuenta, los datos del rut son pasados mediante POST al destino /cgi-bin/ingresa-solicitud, pasando los parámetros del rut, digito verificador y email mediante rut, dv y emailr respectivamente. Usando curl y ejecutando la siguiente orden en linea de comandos:

curl "https://www.nic.cl/cgi-bin/ingresa-solicitud?dominio=adsasdasdsa&opcode=C&pantalla=2&rut=6692949&dv=3&emailr=lalalala@lalalala.cl"

Veremos que nos escupirá un html con el dato que nos interesa, el nombre. Debemos buscar una (o varias) expresiones regulares que nos permitan obtener solo la información que nos interesa e ir almacenandola.

Con las personas que estuve trabajando la explotación y análisis de esta vulnerabilidad, nos dimos el trabajo de comunicarselo a la gente de NIC obteniendo la siguiente respuesta, por parte de uno de los encargados:

No es efectivo que exista una falla o vulnerabilidad a la que usted hace referencia en su mensaje.

La información que NIC Chile usa en su práctica de registro es
información que está disponible en la base de datos pública del SII

[…]

La situación descrita en su mensaje consiste en un procedimiento
automático que permite cotejar el nombre que el solicitante de un
dominio informa en su solicitud.

El procedimiento anterior, establecido desde 19 de noviembre de 2002, ha
permitido mejorar la calidad de la información asociada a cada registro,
en función de los requerimientos de todos los procesos que NIC Chile
administra.

Atte.,

Luis Arancibia Medina
NIC Chile

Dejando claro que lo que para nosotros es una vulnerabilidad para ellos es una caracteristica. En ningún momento se les dice a NIC que es una falla del sistema o que la aplicación de ellos está mal diseñada, simplemente se les da a conocer como es de fácil capturar la información de los Chilenos (personas y empresas) para tenerlas toda en una base de datos y en un último correo diciendoles que eso simplemente se corrige con un captcha, sin obtener respuesta.

Yendo más allá de si esta información es pública o privada, creo que vale la pena destacar que de todas formas hay que protegerlas.

Para finalizar quiero mostrar el resultado de un script spider que capturó 100 datos automaticamente en menos de 20 segundos:

+———-+————————————-+
| rut      | nombre                              |
+———-+————————————-+
| 17***737 | leon silva annie karina             |
| 1*47*9*7 | escobar umaÑa emanuel               |
| 13*92*0* | soto valenzuela julio               |
| 1*84291* | pozo briones carolina               |
| 10834140 | trucco saez matias                  |
| 1*3**383 | pizarro rojas angela                |
| 10212078 | russi delrio sebastian              |
| 1420813* | veas torres pilar                   |
| 17*020*2 | burgos leiva karla                  |
| 1323428* | blanco casals andres                |
| 1*209*24 | casar leturia maricarmen            |
| 1*032432 | riveros montecino nicolas           |
| 1*280*14 | hermosilla valenzuela alejandro     |
| 177298*2 | jerez pardo juan jerez              |
| 99*399*  | guajardo diaz eduardo               |
| 1**43431 | flores videla claudia               |
| 18743*42 | pilorget santander benedicte        |
| 10391332 | palma jimenez patricio              |
| 17**70*7 | castro chavarriga daniela francisca |
| 1**42213 | cortes bastias jorge                |
| 1*209482 | awad nabzo daniela                  |
| 1201*949 | navarro gutierrez cristobal         |
| 1*3*24*3 | jerez arrue leticia haydee          |
| 1*1*2778 | carreÑo parra gustavo               |
| 1012220* | huerta bau antonia                  |
| 1*0148** | aqueveque muÑoz keila               |
| 1*73830* | ibarra orellana marco               |
| 1*0*7**8 | gajardo alarcon orlando             |
| 1*211092 | quintana pacheco angelo             |
| 17784*14 | neira riveros natalia andrea        |
| 1*014007 | hernandez del valle maria           |
| 142*9273 | fernandez salazar patricio          |
| 13***20* | valdes ruiz juan                    |
| 1770*11* | sotomayor saavedra luis alejandro   |
| 14003**8 | sepulveda lara eva                  |
| 1*322174 | saez  alvaro                        |
| 1*3*8402 | carvajal gonzalez carolina          |
| 1***348* | saavedra rosas rocio                |
| 1*898098 | perez serrano francisca             |
| 1*99*094 | dintrans silva barbara              |
| 1*199*87 | alcalde olave alonso                |
| 1*072810 | vallejos medina juan                |
| 1*318218 | soto muÑoz veronica                 |
| 1*313843 | merino cuevas karen                 |
| 1*31*822 | lagos levancini matias              |
| 1*38*323 | huerta bohus carlos                 |
| 1**411*3 | bonta aguilera pilar                |
| 1*021401 | rojo segovia jonathan               |
| 1*47783* | marquez marquez daniela             |
| 1*143980 | espejo gomez luisa                  |
| 1*899**3 | cancino navarrete carolina          |
| 1*34*127 | castro muÑoz luis                   |
| 1**37740 | eberle polanco ricardo              |
| 1*77*9*1 | castro yevenes miguel               |
| 14*09004 | eisele hernandez rodolfo            |
| 1*780809 | covarrubias aliaga daniela          |
| 1*019080 | valdivieso lolic catalina           |
| 1**40414 | steil vega nicolas                  |
| 1*939124 | peralta abarca falon                |
| 1*93399* | torres navarro felipe               |
| 1*42*1*3 | vargas paredes natalia              |
| 1*84*494 | alegre yanten carolina              |
| 1*1999*1 | gonzalez rojas andres               |
| 1*933099 | arrieta sanhueza enrique            |
| 1*4784*9 | zamudio salazar cesar               |
| 1*78418* | maturana alcaino loretto            |
| 1*782**4 | pinto anwandter loreto              |
| 1**37300 | cruz peigneguy maria                |
| 1*0149*2 | lohaus reyes maria                  |
| 1*3*0349 | winter donoso francisco             |
| 1*34*4** | robles ansaldo mariel               |
| 134920*9 | ramirez quezada enzo                |
| 1*3140*0 | gonzalez carvajal jonathan          |
| 1*213*1* | canto muÑoz ana                     |
| 1*382482 | rojas ugarte daniela                |
| 14131*81 | miranda soto david                  |
| 13*89014 | matus espinoza juan                 |
| 1*77*043 | arriagada torrealba pablo           |
| 147*4*87 | lemon colubriale luciana            |
| 1**41282 | mazu fuenzalida denisse             |
| 13*84823 | roa roables juan                    |
| 1**78*48 | cofre olmos raul                    |
| 1**70400 | vicencio gonzalez jose              |
| 1*338948 | pozo montero pablo                  |
| 1*83811* | muÑoz lizana gisselle               |
| 1**087*8 | araya arriagada samuel              |
| 17707294 | ramirez ramirez danisa              |
| 1*3*8**7 | ramirez navarro angela              |
| 14**7779 | smerkin bustos enrique              |
| 17*80*8* | perez moreno leonardo francisco     |
| 14*4942* | quintana rivera elizabeth           |
| 1*29*79* | vargas gomez july                   |
| 1**3*210 | pizarro  javiera                    |
| 1*381**7 | osben  carolina                     |
| 17429044 | arancibia espinoza felipe jaime     |
| 147*1*30 | rasoarimalala  marcelline           |
| 13904420 | camus landa albert                  |
| 1****937 | garber sepulveda javiera            |
| 1*4090*8 | navarro tapia gabriel               |
| 1*07*7** | navarrete peralta drago             |
+———-+————————————-+

los * son para “proteger” la información.

12 comentarios

  1. Ojo con tu listado, reemplazaste el 5 por un *. Reemplazando los últimos 3 números por * incluyendo será suficiente 🙂

    Buen artículo.

    Saludos!!

  2. me imagino a don Luis Arancibia Medina leyendo este blog y diciendo “D’OH!”

  3. @Alvaro shhht, que quede piola

  4. Zerial

    junio 25, 2009 a las 12:10 am

    Alvaro Olavarria: Fueron dos digitos los que cambie por un *, el 5 y otro mas ..

    @chulini: xD

  5. la incompetencia hecha persona en nic.cl, buenisimo aporte mi estimado Zerial continue así saludos

  6. u.u
    sé que me creerás…
    hoy iba a hacer un script en PHP para sacar la información y enviarla a IRC, esto como dices tú NIC no lo vé como una vulnerabilidad si no una caracteristica.
    en fin, yo lo iba a usar por una buena causa jajja
    ahora nosé que pondré en mi blog… pensarán que te copiee xDD
    en fin, buen articulo… sigue asi

  7. Alvaro Olavarria

    junio 25, 2009 a las 2:32 am

    @Zerial: ok! 😛

  8. encontre a mi hermano “castro muÑoz luis” !

    cada dia pienso mas ke la seguraiad en este pais no existe

  9. O.O Recién descubro esto y aparece en la lista el nombre y rut de una persona muy cercana.

  10. Jorge Rodriguez

    enero 2, 2013 a las 7:50 pm

    el otro digito es el 6

  11. Esto no es una vulnerabilidad, 5 años atrás cuando era un lammer como tú también lo pensé, hoy me doy cuenta que en realidad no lo es, simplemente es un cgi que conecta con SII y tu puedes obtener esa información igual en la misma página del SII o en el servel.
    Pelotudo

  12. Existe una cuenta de twitter que muestra los últimos dominios registrados a partir de lo que comentas, https://twitter.com/puuntocl

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Esto sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.