Saltar al contenido
>_ITDITDPlataforma de seguridad web

Incidentes y vulnerabilidades

Filtración de datos de Takufile-bin (2019) — por qué guardar contraseñas en texto plano es fatal, y la defensa del hashing

En enero de 2019, el servicio japonés Takufile-bin (Ogis-Research Institute) sufrió una brecha y se filtraron ~4,8 millones de registros. El fallo decisivo: las contraseñas de acceso se guardaban sin cifrar, en texto plano. Defiéndete con hash de un solo sentido y sal (bcrypt/Argon2id).

Publicado 2026-07-07 Actualizado 2026-07-07 10 min de lectura

Leemos brechas reales y públicas no como noticias repetidas, sino con la pregunta «¿cómo te defiendes de esto?» Este artículo se basa en el registro público (declaraciones de la empresa, reportajes de medios de referencia). Las fuentes se listan al final, y no se incluye ningún manual de ataque.

~4,8 millones
Registros filtrados (incl. usuarios dados de baja)
Texto plano
Contraseñas de acceso guardadas sin cifrar
Cierre
Descartado por el coste/tiempo de reconstruirlo
Riesgo de reutilización
Robo de cuentas en otros sitios
Ficha del caso
Objetivo
Usuarios del servicio de transferencia de archivos «Takufile-bin» (operador: Ogis-Research Institute)
Detección
22–25 de enero de 2019 (se detecta un archivo sospechoso → servicio detenido → divulgado)
Patrón
Acceso no autorizado a través de una vulnerabilidad del servidor → robo de datos de clientes (contraseñas de acceso guardadas en texto plano)
Alcance
~4,8 millones de registros (nombres, correos, contraseñas de acceso, fechas de nacimiento, sexo; incluidos clientes dados de baja)
Causa raíz
Contraseñas guardadas en texto plano (forma reversible) + una vulnerabilidad del servidor + conservar datos innecesarios, incluidos usuarios dados de baja
Solución real
Hash de un solo sentido + sal (bcrypt/Argon2id); no conserves datos que no necesitas / minimiza la retención; gestión de vulnerabilidades; prepárate para la reutilización (2FA)

Qué pasó (en términos sencillos)

A un servicio se le confían las contraseñas de sus usuarios. La cuestión es cómo las guarda. Guarda una contraseña en texto plano (legible tal cual), o solo con cifrado reversible, y en el momento en que los datos se filtran su contenido es directamente usable.

En Takufile-bin, se explotó una vulnerabilidad del servidor para lograr acceso no autorizado y se filtraron datos de clientes. Un informe posterior reveló entonces que las contraseñas de acceso filtradas no estaban cifradas — estaban en texto plano. Como mucha gente reutiliza la misma contraseña entre servicios, una filtración en texto plano permite a un atacante probarla en otros lugares para el robo de cuentas. Más que la intrusión en sí, el almacenamiento en texto plano es lo que amplió el daño.

'Cifrado' y 'hashing' no son lo mismo

Un error común en el almacenamiento de contraseñas es creer que el cifrado las hace seguras. El cifrado es reversible con una clave, así que si la clave también se filtra no es mejor que el texto plano. El enfoque correcto es un hash de un solo sentido que no se puede revertir, más una sal por usuario, usando un algoritmo deliberadamente lento (bcrypt / Argon2id). Al iniciar sesión aplicas el hash a lo introducido de la misma forma y comparas — así no hay necesidad de guardar el texto plano en absoluto.

La cadena del ataque es también un mapa de defensa

Esta fue una cadena con un punto para detenerla en cada paso. Léela como dónde podría haberse roto, no como un manual.

1. Acceso no autorizado a través de una vulnerabilidad del servidor

Una debilidad conocida y descuidada se convierte en la vía de entrada.

Parada: gestión de vulnerabilidades; disciplina de parcheo; minimizar la superficie de ataque

2. Se roban los datos de clientes y las contraseñas de acceso

Se conservaba un gran almacén de datos, incluidos clientes dados de baja.

Parada: no conserves datos que no necesitas; minimiza la retención

3. Contraseñas en texto plano = usables de inmediato

No cifradas, así que usables en el momento en que se filtraron.

Parada: hash de un solo sentido + sal (bcrypt/Argon2id) = no directamente usable si se filtra

4. Daño secundario por reutilización (robo de cuentas)

Otros servicios que comparten la misma contraseña quedan expuestos.

Parada: deja de reutilizar contraseñas; 2FA; restablecimiento forzoso e inmediato tras una filtración

Cada paso tenía un punto de parada. La defensa en profundidad significa sostener varios de estos puntos, no un único muro.

Cronología publicada

  1. 2019-01-22

    Se encuentra en un servidor un archivo que la empresa no reconoce (una señal de acceso no autorizado).
  2. 2019-01-23

    El servicio se detiene como precaución.
  3. 2019-01-25

    Se divulgan el acceso no autorizado y la filtración de datos (~4,8 millones de registros, incluidos usuarios dados de baja).
  4. 2019-01-30

    Un informe posterior revela que las contraseñas de acceso filtradas no estaban cifradas (texto plano).
  5. 2019-03

    Se reportan hallazgos detallados de una firma de seguridad externa; el servicio sigue suspendido.
  6. 2020-01-14

    Se anuncia la discontinuación (dado el coste/tiempo de una reconstrucción segura); el servicio termina ese año.

La causa raíz no fue solo «sufrir una brecha»

Despachar esto como «los hackearon» pierde el punto. La intrusión puede ocurrir; lo que importa es si el almacenamiento minimiza el daño cuando los datos se filtran.

La configuración que falló

  • Contraseñas de acceso guardadas en texto plano (usables en el momento en que se filtran)
  • Un gran almacén de datos, incluidos usuarios dados de baja, conservado
  • Una vulnerabilidad del servidor se convirtió en la vía de entrada
  • Difícil detener el robo de cuentas en sitios de reutilización tras la filtración

La configuración que aguanta

  • Contraseñas guardadas como un hash de un solo sentido + sal (bcrypt/Argon2id)
  • No conserves datos que no necesitas; minimiza la retención (borra tras la baja)
  • La gestión de vulnerabilidades / disciplina de parcheo cierra la vía de entrada
  • 2FA y restablecimiento forzoso e inmediato tras una filtración limitan el daño secundario

La factura posterior empequeñece la inversión de diseño previa

Takufile-bin permaneció suspendido y finalmente fue cerrado por completo (dado el coste y el tiempo de una reconstrucción segura). Aplicar hash a las contraseñas correctamente es barato, mientras que el coste de la confianza perdida, las bajas y el daño secundario del almacenamiento en texto plano es mucho mayor. Diseña cómo guardas las contraseñas correctamente cuando lo construyes, no después.

Cómo te defiendes de esto

Si se te confía la contraseña aunque sea de un solo usuario, esto es tuyo. En orden de prioridad:

1

Guarda las contraseñas como un hash de un solo sentido con sal

No guardes texto plano ni 'cifrado reversible'. Usa un hash de un solo sentido con una sal por usuario, mediante un algoritmo deliberadamente lento como bcrypt o Argon2id. Para el manual completo, consulta cómo guardar contraseñas con seguridad.

2

No conserves datos que no necesitas

Recoge el mínimo de campos, y borra los datos en cuanto un usuario se da de baja o dejan de ser necesarios. Los datos que no conservas no pueden filtrarse. No acumules registros de usuarios dados de baja.

3

Cierra la vía de entrada — gestiona las vulnerabilidades

Parchea las vulnerabilidades del servidor y de las bibliotecas y minimiza la superficie de ataque expuesta. Asume que la intrusión es posible, y reduce las vías de entrada.

4

Limita el daño aunque se filtre (2FA, defensa contra reutilización)

Ofrece autenticación de dos factores, y fuerza un restablecimiento inmediato tras una filtración. Anima a los usuarios a apartarse de la reutilización. Junto con el hashing, apunta a un estado en el que una filtración no sea directamente usable.

En qué se solapa esto con cómo está construido este sitio

En su núcleo, este incidente mantuvo el secreto más importante — la contraseña — en una forma usable tal cual si se filtra (texto plano). Esa es la imagen invertida de los propios principios de este sitio — maneja los secretos en una forma irreversible, no conserves nada que no necesites, y reduce el radio de explosión. «Lo ciframos, así que está seguro» es una suposición peligrosa; las contraseñas van en un hash de un solo sentido + sal. «No conservar texto plano, no conservar datos innecesarios, hacer que una filtración sea inusable» es una defensa que cualquiera puede implementar a cualquier escala.

Fuentes (registro público)

Los hechos aquí se basan en la siguiente información pública. No se incluye ningún manual de ataque — solo las lecciones defensivas.

  • Declaraciones oficiales de Ogis-Research Institute («Sobre el acceso no autorizado al servicio Takufile-bin» / disculpa e informe, 2019–2020) — ogis-ri.co.jp
  • Reportajes de la época (suspensión del servicio, hallazgos detallados y discontinuación, 2019–2020), basados en las divulgaciones primarias

Sigue leyendo

FAQ

Q¿Cuál fue el problema más grave en el incidente de Takufile-bin?
A

Que las contraseñas de acceso filtradas se guardaban sin cifrar, en texto plano. El desencadenante fue un acceso no autorizado a través de una vulnerabilidad del servidor, pero como las contraseñas estaban en texto plano, eran usables de inmediato en el momento en que se filtraron. Si las contraseñas se hubieran guardado como un hash de un solo sentido (con una sal), una filtración no habría expuesto contraseñas usables, y el daño habría sido mucho menor.

Q¿Basta con 'cifrar' las contraseñas para que estén seguras?
A

'Cifrado' y 'hashing' son cosas distintas. El cifrado es reversible con una clave, así que si la clave también se filtra no es mejor que el texto plano. El enfoque correcto es un <strong>hash</strong> de un solo sentido que no se puede revertir, más una <strong>sal</strong> por usuario, usando un algoritmo deliberadamente lento como bcrypt o Argon2id. Al iniciar sesión aplicas el hash a lo introducido de la misma forma y comparas — así no hay necesidad de guardar el texto plano en absoluto.

QComo usuario individual, ¿qué puedo hacer?
A

Sí: (1) nunca reutilices una contraseña entre servicios (así, incluso una filtración en texto plano no puede llevar al robo de cuentas en otro sitio); (2) usa un gestor de contraseñas para valores largos y aleatorios; (3) activa la autenticación de dos factores o una passkey donde se ofrezca. Aunque el operador guarde mal las contraseñas, no reutilizarlas rompe la cadena de daños secundarios.