¿Qué es?
Los errores de criptografía ocurren cuando la encriptación se usa mal o ni siquiera se usa. Esto incluye algoritmos débiles, claves hardcodeadas, manejo débil de claves o información sensible sin encriptar.
¿Por qué importa?
Las aplicaciones web usan la criptografía en todos lados: para proteger el tráfico de red, para asegurar la información almacenada, verificar identidades y para guardar secretos. Cuando estos controles fallan, la información sensible puede ser expuesta conllevando tomas de posesión de cuentas o brechas de seguridad a gran escala.
Patrones Comunes
- Usar algoritmos débiles o deprecados como MD5, SHA-1 o ECB.
- Secretos hardcodeados en código o configuración.
- Prácticas pobres de rotación de claves.
- Falta de encriptación de datos sensibles ya sean guardados o en tránsito.
- Certificados TLS inválidos o autofirmados.
- Usar sistemas AI/ML sin manejo adecuado de secretos para inputs sensibles.
Cómo Prevenirlo
- Usa algoritmos modernos y fuertes como AES-GCM, ChaCha20-Poly1305, o TLS 1.3 con certificados válidos.
- Usa servicios de manejo de claves seguros como Azure Key Vault, AWS KMS o HashiCorp Vault.
- Rota los secretos y claves regularmente, siguiendo periodos crypto definidos.
- Documenta y refuerza políticas y procedimientos estándar para el manejo del ciclo de vida de las claves.
- Mantén un inventario completo de certificados, claves y sus propietarios.
- Asegúrate de que los modelos de IA y agentes de automatización no expongan secretos no encriptados o información sensible.
Reto
Navega hasta el puerto 5004 de la IP dada. ¿Puedes encontrar la clave para descifrar el archivo?
- Vamos a la página dada.

- Vamos a leer el código fuente.
Parece que hay un JavaScript para desencriptar el archivo: /static/js/decrypt.js. - Lo leemos.
Hemos encontrado la clave secreta. - Para desencriptarlo vamos a CyberChef.
- Añadimos lo encriptado en el input.

- Cargamos el módulo AES Decrypt y configuramos la clave, ECB y Raw tanto como input como output.
Esto ocurre porque el input no es Raw, sino base64. - Le añadimos From Base64.

- Añadimos lo encriptado en el input.
