Una empresa de dos personas con contraseña 123456 filtra los datos de 8,8 millones de daneses

Una empresa de dos personas con contraseña 123456 filtra los datos de 8,8 millones de daneses

Seguridad de DatosGestión de PermisosGobernanza DigitalDinamarca

Fuentes:HN + web research

Una microempresa de dos personas con acceso a todo el censo nacional

A partir del 10 de septiembre de 2026, un atacante logró acceder a la base central de datos demográficos de Dinamarca utilizando una contraseña tan irrisoria como “123456”. Durante los siguientes 21 días y 17 horas, sustrajo de forma ininterrumpida cerca de 8,8 millones de registros de residentes. Dinamarca cuenta con una población total de unos 6 millones de habitantes, por lo que la filtración abarcó prácticamente a todos los ciudadanos vivos, además de expatriados y personas fallecidas.

Tras destaparse el incidente, casi un millón de ciudadanos daneses solicitaron de urgencia alertas de fraude ante las entidades crediticias para evitar posibles suplantaciones de identidad. La atención pública se concentró de inmediato en el absurdo de la clave “123456”, desatando burlas generales sobre la flagrante negligencia del equipo responsable. Sin embargo, el escarnio colectivo pasó por alto un hecho infinitamente más grave: esa cuenta jamás debió contar con privilegios para consultar los registros de toda la nación sin restricción alguna.

La puerta de entrada utilizada por el atacante fue Pays ApS, una empresa privada de desarrollo de software con sede en Odense. Según los registros mercantiles centrales de Dinamarca (CVR), en julio de 2026 la compañía contaba con solo dos empleados registrados. Fue precisamente esta diminuta microempresa la que disfrutaba de una interfaz directa y legalmente autorizada de consulta con el Registro Central de Personas de Dinamarca (Det Centrale Personregister, comúnmente conocido como CPR).

Dinamarca creó el sistema CPR en 1968 para asignar a cada residente un número de identidad único de por vida. Bajo el marco normativo danés, empresas privadas y asociaciones sectoriales pueden solicitar acceso directo para verificar domicilios de clientes u otros fines comerciales legítimos. Este planteamiento abrió una base de datos pública crítica al sector privado, pero depositó toda la carga de la seguridad en la disciplina técnica y voluntaria de pequeños proveedores externos.

丹麦全国人口登记系统(CPR)遭遇严重数据外泄,涉及约 880 万条居民档案 Figura: Extracción no autorizada de datos del registro civil danés, afectando tanto a ciudadanos vivos como a fallecidos. Fuente: SecurityWeek

21 días de extracción automatizada sin alertas en la API

De acuerdo con las credenciales sustraídas analizadas por el diario danés Politiken, al menos tres cuentas internas de Pays ApS utilizaban como contraseña “123456”, incluida la cuenta con los permisos de administración más elevados. Jens Myrup Pedersen, catedrático del Departamento de Ingeniería Eléctrica e Informática de la Universidad de Aarhus, valoró la configuración señalando que equivalía a dejar la puerta principal abierta de par en par: cualquier atacante que ejecutara un diccionario común de contraseñas débiles habría conseguido entrar en cuestión de segundos. Añadió que, desde una perspectiva profesional, resulta difícil concebir un nivel de seguridad más bajo, por lo que la vulneración del sistema era solo cuestión de tiempo.

La intrusión no requirió exploits complejos ni vulnerabilidades de día cero. El atacante obtuvo primero las claves de un exempleado a través de filtraciones previas de terceros y, tirando del hilo, localizó la cuenta de administrador desprotegida. Una vez dentro del backend, programó dos scripts de extracción automatizados y comenzó a descargar los registros por lotes metódicamente, enviándolos a un servidor en el extranjero.

El proceso de extracción se prolongó durante 21 días y 17 horas sin toparse con ninguna barrera defensiva. El hacker anónimo declaró a los medios que únicamente descargó y almacenó los datos, sin intenciones de venderlos ni hacerlos públicos. Sin embargo, para una interfaz que custodia la privacidad civil de un país entero, tres semanas de consultas masivas a alta velocidad no dispararon ninguna alarma de tráfico anómalo ni activaron límites de peticiones (Rate Limiting).

Este silencio puso de manifiesto un vacío absoluto en la auditoría de comportamiento. Cuando una API no implementa límites de velocidad ni detección de anomalías, apuesta toda su seguridad exclusivamente a la confidencialidad de las credenciales. Una vez que esas credenciales se filtran, el sistema pierde por completo la capacidad de distinguir una consulta legítima de un robo sistemático de datos.

La fijación con la contraseña débil oculta la verdadera falla: privilegios excesivos

La opinión pública suele atribuir la culpa al disparate de la contraseña, considerándolo un simple sainete de negligencia individual. Si el administrador hubiese configurado una clave robusta de 16 caracteres, este ataque concreto se habría neutralizado. No obstante, las contraseñas fuertes solo elevan la dificultad de acceso; mientras los privilegios asignados carezcan de límites estrictos, el riesgo estructural permanecerá latente en el núcleo del sistema.

Pays ApS obtuvo permiso para conectarse a la base de datos CPR con el único fin de comprobar cambios de domicilio de clientes y socios. Sin embargo, al configurar los permisos técnicos de la interfaz, el sistema facilitó a esta microempresa una capacidad de búsqueda prácticamente total. Conceder a un equipo de dos personas la potestad de consultar los datos confidenciales de millones de ciudadanos viola de plano el principio de mínimo privilegio.

El número CPR posee un valor vertebrador fundamental en la sociedad danesa. Es el identificador universal que vincula al ciudadano con todos los trámites públicos y privados: atención hospitalaria, apertura de cuentas bancarias, contratos de alquiler o gestiones en el ayuntamiento. Es esa misma ubicuidad la que llevó a casi un millón de residentes a solicitar bloqueos crediticios inmediatos, conscientes de que nadie puede asegurar que esa información no acabe circulando en mercados clandestinos.

丹麦居民日常使用的国民医疗卡,卡面关键位置印有公民 CPR 编号 Figura: Tarjeta física de salud sundhedskort danesa, donde figura el número CPR vitalicio del ciudadano. Fuente: Wikimedia Commons

Los obstáculos que frenaron la autenticación en dos pasos

La cuenta de administrador principal de la compañía no solo utilizaba una contraseña frágil, sino que prescindía por completo del doble factor de autenticación (2FA). Para los estándares consolidados de la industria, dejar sin verificación secundaria un acceso administrativo a activos estratégicos nacionales resulta una omisión inexcusable. Bastaba con disponer del usuario y la clave en texto plano para acceder sin ningún obstáculo.

El caso desató una intensa controversia en las comunidades tecnológicas. Numerosos ingenieros cuestionaron por qué las autoridades reguladoras no habían exigido la autenticación multifactor a todas las entidades externas conectadas al CPR. Por otro lado, se señalaron las fricciones reales de la administración pública: en Dinamarca existe todavía un sector vulnerable y personas de edad avanzada que no utilizan teléfonos inteligentes y dependen de los ordenadores de bibliotecas públicas para sus gestiones cotidianas.

La obligatoriedad universal de aplicaciones móviles o tokens físicos acarrea elevados costes formativos y fricción burocrática en la base. Ante esta realidad, diversas administraciones y organismos colaboradores aplazaron reiteradamente la adopción de medidas estrictas con el pretexto de que “exigía reciclar al personal”. Una consideración orientada en origen a la inclusión de colectivos desfavorecidos acabó desvirtuándose en la práctica, derivando en concesiones de seguridad para las integraciones comerciales externas.

La seguridad falla cuando los permisos se otorgan sin revisión continua

Sophie Laursen, directora y propietaria de Pays ApS, confirmó en declaraciones a la cadena danesa TV 2 que la empresa sufrió un ciberataque y que su acceso legítimo al registro CPR fue explotado por el intruso. Al tiempo que admitía lo ocurrido, subrayó que lo que se vulneró fue una autorización que la compañía ostentaba de manera plenamente reglamentaria. De hecho, auditorías de seguridad previas habían recomendado mejoras antes del incidente, pero esas sugerencias nunca llegaron a implementarse en el trabajo diario.

La gestión de accesos exige un ciclo de vida completo: solicitud, validación, monitorización constante y revocación oportuna. Cuando una institución pública cede interfaces de alta prioridad a actores comerciales sin establecer revisiones periódicas, la concesión se convierte en una puerta trasera permanente. Las credenciales de empleados desvinculados siguen activas, los permisos de administración huérfanos duermen bajo contraseñas endebles y la supervisión se evapora justo en el instante en que se concede el acceso.

Reducir las lecciones de este suceso a la consigna de “no usar 123456 como contraseña” enmascara los fallos estructurales de fondo. Si un país confía la seguridad de su censo a que pequeñas empresas adopten contraseñas seguras por propia iniciativa, y desatiende el control del tráfico de sus APIs, claves más complejas solo servirán para retrasar la inevitable brecha. Acotar con rigor el alcance de las consultas y exigir revisiones dinámicas de permisos son las únicas garantías para proteger la privacidad ciudadana.

Enlaces de referencia:

  • Cobertura de The Copenhagen Post
  • Reportaje de investigación de Politiken
  • Noticia de TV 2
  • Cobertura de SecurityWeek
  • Debate en HN (item?id=50031269)