Hola hacketones! Bienvenidos a un nuevo CTF para la Certificación SEC1 de la ruta Cyber Security 101 de TryHackMe – OWASP Top 10 2025: Application Design Flaws
Top 10 de OWASP 2025: Defectos de diseño de aplicaciones
Obtenga información sobre A02, A03, A06 y A10 y cómo se relacionan con fallas de diseño en la aplicación.
Esta sala desglosa las cuatro categorías del Top 10 de OWASP 2025. En ella, aprenderá sobre las categorías relacionadas con fallas en la arquitectura y el diseño de sistemas. Pondrá en práctica la teoría completando desafíos de apoyo. En esta sala se cubren las siguientes categorías:
- AS02: Configuraciones de seguridad incorrectas
- AS03: Fallos en la cadena de suministro de software
- AS04: Fallos criptográficos
- AS06: Diseño inseguro
Implementar la práctica
Antes de comenzar, implemente la máquina virtual práctica haciendo clic en el botón verde «Iniciar máquina» al comienzo de esta tarea. Tenga en cuenta que necesitará usar TryHackMe AttackBox o su propia máquina de hacking conectada a la VPN de TryHackMe para acceder a cada práctica
AS02: Configuraciones de seguridad incorrectas
Configuraciones incorrectas de seguridad
Qué es.
Las configuraciones incorrectas de seguridad ocurren cuando los sistemas, servidores o aplicaciones se implementan con valores predeterminados inseguros, configuraciones incompletas o servicios expuestos. Estos no son errores de código, sino errores en la configuración del entorno, el software o la red. Crean puntos de entrada fáciles para los atacantes
Por qué es importante.
Incluso pequeñas configuraciones incorrectas pueden exponer datos confidenciales, permitir la escalada de privilegios o dar a los atacantes una vía de acceso al sistema. Las aplicaciones modernas dependen de pilas complejas, servicios en la nube y API de terceros. Un solo panel de administración expuesto, un contenedor de almacenamiento abierto o permisos mal configurados pueden comprometer todo el sistema.
Ejemplo:
En 2017, Uber expuso un bucket de AWS S3 de respaldo con datos confidenciales de usuarios, incluyendo información de conductores y pasajeros, debido a que el bucket era de acceso público. Los atacantes podían descargar los datos directamente sin necesidad de credenciales. Esto demuestra cómo un error de implementación puede provocar una vulneración importante.
Patrones comunes
- Credenciales predeterminadas o contraseñas débiles que no se modifican
- Servicios o puntos finales innecesarios expuestos a Internet
- Almacenamiento en la nube o permisos mal configurados ( S3 , Azure Blob, depósitos de GCP)
- Acceso a API sin restricciones o falta de autenticación/autorización
- Mensajes de error detallados que exponen seguimientos de pila o detalles del sistema
- Software, marcos o contenedores obsoletos con vulnerabilidades conocidas
- Puntos finales de IA / ML expuestos sin controles de acceso adecuados
Cómo prevenirlo
- Reforzar las configuraciones predeterminadas y eliminar funciones o servicios no utilizados
- Imponer una autenticación fuerte y el mínimo privilegio en todos los sistemas
- Limite la exposición de la red y segmente los recursos sensibles
- Mantenga el software, los marcos y los contenedores actualizados con parches
- Ocultar los seguimientos de pila y la información del sistema de los mensajes de error
- Auditar periódicamente las configuraciones y permisos de la nube
- Proteja los puntos finales de IA y los servicios de automatización con controles de acceso y supervisión adecuados
- Integre revisiones de configuración y controles de seguridad automatizados en su canal de implementación
Desafío
Navega a MACHINE_IP:5002. Parece que los desarrolladores dejaron demasiados rastros en sus API de administración de usuarios
Responda las preguntas a continuación
¿Cual es la bandera?
THM{V3RB0S3_3RR0R_L34K}


AS03: Fallos en la cadena de suministro de software
Fallos en la cadena de suministro de software
fallas en la cadena de suministro de software ocurren cuando las aplicaciones dependen de componentes, bibliotecas, servicios o modelos comprometidos, obsoletos o verificados incorrectamente. Estas debilidades no son inherentes a su código, sino al software y las herramientas de las que depende. Los atacantes aprovechan estas debilidades para inyectar código malicioso, eludir la seguridad o robar datos confidenciales.
Por qué es importante:
Las aplicaciones modernas se crean a partir de numerosos paquetes, API y modelos de IA
de terceros . Una sola dependencia comprometida puede comprometer todo el sistema, permitiendo a los atacantes acceder sin siquiera tocar el código. Los ataques a la cadena de suministro pueden automatizarse y distribuirse, lo que dificulta su detección y los hace muy dañinos.
Ejemplo:
En 2021, la vulnerabilidad de SolarWinds Orion puso de manifiesto el peligro de los ataques a la cadena de suministro. Los atacantes insertaron código malicioso en una actualización de confianza, lo que afectó a miles de organizaciones que la instalaron automáticamente. No se trató de un error en la lógica central de SolarWinds, sino de una falla en el proceso de creación, verificación y distribución de actualizaciones de software.
Con IA , podemos observar esto al usar modelos de terceros no verificados o conjuntos de datos ajustados que pueden incorporar comportamientos ocultos, puertas traseras o resultados sesgados, comprometiendo sistemas o filtrando datos.
Patrones comunes
- Uso de bibliotecas y dependencias no verificadas o sin mantenimiento
- Instalar actualizaciones automáticamente sin verificación
- Dependencia excesiva de modelos de IA de terceros sin supervisión ni auditoría
- Canalizaciones de compilación inseguras o procesos CI / CD que permiten la manipulación
- Mal seguimiento de la licencia o procedencia de los componentes
- Falta de monitoreo de vulnerabilidades en las dependencias después de la implementación
Cómo proteger la cadena de suministro
- Verifique todos los componentes, bibliotecas y modelos de IA de terceros antes de usarlos
- Supervisar y aplicar parches a las dependencias periódicamente
- Firmar, verificar y auditar actualizaciones y paquetes de software
- Bloquee las canalizaciones de CI / CD y los procesos de compilación para evitar manipulaciones
- Seguimiento de procedencia y licencias para todas las dependencias
- Implementar la supervisión del tiempo de ejecución para detectar comportamientos inusuales de dependencias o componentes de IA
- Integrar el modelado de amenazas de la cadena de suministro en el SDLC , incluidos los flujos de trabajo de prueba, implementación y actualización.
Desafío
Vaya a 10.64.178.189:5003. El código está desactualizado e importa un lib/vulnerable_utils.pycomponente antiguo. ¿Puede depurarlo ?
Responda las preguntas a continuación
¿Cual es la bandera?
THM{SUPPLY_CH41N_VULN3R4B1L1TY}

AS04: Fallos criptográficos
Qué es.
Los fallos criptográficos ocurren cuando el cifrado se utiliza incorrectamente o no se utiliza en absoluto. Esto incluye algoritmos débiles, claves codificadas, manejo deficiente de claves o datos confidenciales sin cifrar. Estas fallas permiten a los atacantes acceder a información que debería ser privada
Por qué es importante:
Las aplicaciones web dependen de la criptografía en todas partes: para proteger el tráfico de red, asegurar los datos almacenados, verificar identidades y salvaguardar secretos. Cuando estos controles fallan, datos confidenciales como contraseñas, tokens o información personal pueden quedar expuestos, lo que puede provocar robos de cuentas o vulneraciones a gran escala.
Los atacantes pueden explotar estas fallas a través de ataques de intermediario, ataques de fuerza bruta sobre claves débiles o simplemente descubriendo secretos que nunca estuvieron protegidos adecuadamente.
Patrones comunes
- Uso de algoritmos obsoletos o débiles como MD5 , SHA-1 o el modo ECB
- Secretos codificados de forma rígida en el código o la configuración
- Malas prácticas de rotación o gestión de claves
- Falta de cifrado para datos confidenciales en reposo o en tránsito
- Certificados TLS autofirmados o no válidos
- Uso de sistemas de IA / ML sin un manejo adecuado de secretos para parámetros del modelo o entradas sensibles
Cómo prevenirlo
- Utilice algoritmos modernos y sólidos como AES -GCM, ChaCha20-Poly1305 o aplique TLS 1.3 con certificados válidos
- Utilice servicios de administración de claves seguras como Azure Key Vault, AWS KMS o HashiCorp Vault
- Rotar secretos y claves periódicamente, siguiendo períodos de cifrado definidos
- Documentar y hacer cumplir políticas y procedimientos operativos estándar para la gestión del ciclo de vida de las claves.
- Mantener un inventario completo de certificados, claves y sus propietarios.
- Asegúrese de que los modelos de IA y los agentes de automatización nunca expongan secretos no cifrados ni datos confidenciales.
- La aplicación web en esta sala contiene una debilidad de este tipo para que la explores.
Desafío
Navega a 10.64.178.189:5004. ¿Puedes encontrar la clave para descifrar el archivo?
Responda las preguntas a continuación
¿Cual es la bandera?
THM{CRYPTO_FAILURE_H4RDCOD3D_K3Y}

AS06: Diseño inseguro
Qué es
El diseño inseguro ocurre cuando se integra una lógica o arquitectura defectuosa en un sistema desde el principio. Estos fallos se deben a la omisión del modelado de amenazas, la falta de requisitos o revisiones de diseño, o errores accidentales
Además, con la introducción de asistentes de IA , los sistemas de IA agravan la inseguridad del diseño. Los desarrolladores suelen asumir que los modelos son seguros, correctos o predecibles, o que el código que producen está libre de fallos. Cuando un sistema de IA puede generar consultas, escribir código o clasificar usuarios sin límites, el riesgo está integrado en el diseño, lo que da lugar a patrones arquitectónicos deficientes.
Un buen ejemplo
es Clubhouse . Su diseño inicial suponía que los usuarios solo interactuarían a través de la aplicación móvil, pero la API de backend carecía de la autenticación adecuada. Cualquiera podía consultar directamente los datos de los usuarios, la información de la sala e incluso las conversaciones privadas. Cuando los investigadores la probaron, la premisa de «conversación privada» se desmoronó.
Por qué es importante:
No se puede corregir un diseño inseguro. Está integrado en el flujo de trabajo, la lógica y los límites de confianza. Solucionarlo implica replantear cómo los sistemas, y ahora la IA , toman decisiones.
Diseños inseguros comunes en 2025
- Controles de lógica empresarial débiles, como flujos de recuperación o aprobación
- Supuestos erróneos sobre el comportamiento del usuario o del modelo
- Componentes de IA con autoridad o acceso sin control
- Barandillas faltantes para LLM y agentes de automatización
- Pruebas o depuraciones que quedan en producción
- No existe una revisión consistente de casos de abuso ni modelos de amenazas de IA
Diseño inseguro en la era de la IA
La IA introduce nuevos tipos de fallos de diseño. Por ejemplo, la inyección de indicaciones ocurre cuando la entrada del usuario se combina con las indicaciones del sistema, lo que permite a los atacantes secuestrar el contexto o extraer datos ocultos. La confianza ciega en los resultados del modelo crea sistemas frágiles que actúan según las decisiones de la IA sin validación ni supervisión, por lo que la revisión humana sigue siendo necesaria. Cuando se trata de modelos contaminados, extraídos de fuentes no verificadas o ajustados con datos inseguros, pueden incorporar comportamientos ocultos o puertas traseras que comprometen el sistema desde dentro.
Cómo diseñar de forma segura
- Trate cada modelo como no confiable hasta que se demuestre lo contrario.
- Validar y filtrar todas las entradas y salidas del modelo para garantizar la precisión y la integridad.
- Separe las indicaciones del sistema del contenido del usuario.
- Mantenga los datos confidenciales fuera de las solicitudes a menos que sean absolutamente necesarios y protéjalos con controles estrictos.
- Exigir revisión humana para acciones de IA de alto riesgo .
- Registrar la procedencia del modelo, monitorear el comportamiento y aplicar privacidad diferencial para datos confidenciales.
- Incluya modelos de amenazas específicos de IA para ataques rápidos, riesgos de inferencia, mal uso de agentes y compromiso de la cadena de suministro durante todo el proceso de diseño.
- Integre el modelado de amenazas en cada etapa del desarrollo, no sólo al principio.
- Defina requisitos de seguridad claros para cada característica antes de su implementación.
- Aplicar el principio del mínimo privilegio entre usuarios, API y servicios.
- Garantizar la autenticación, autorización y gestión de sesiones adecuadas en todo el sistema.
- Mantenga las dependencias, los componentes de terceros y las fuentes de la cadena de suministro verificadas y actualizadas.
- Supervise y pruebe continuamente el sistema para detectar fallas lógicas, rutas de abuso y riesgos emergentes a medida que se agregan nuevas funciones o componentes de IA .
Desafío
Navegar a 10.64.178.189:5005. ¿Han asumido que solo los dispositivos móviles pueden acceder?
Responda las preguntas a continuación
¿Cual es la bandera?
THM{1NS3CUR3_D35IGN_4SSUMPT10N}

Conclusión
Las fallas en el diseño de seguridad en las configuraciones de seguridad AS02, las fallas en la cadena de suministro de software AS03, las fallas criptográficas AS04 y el diseño inseguro AS06 tienen la misma causa: bases débiles. No se puede añadir seguridad al final y esperar que funcione. Los sistemas robustos parten de requisitos de seguridad claros, supuestos realistas de amenazas, configuraciones controladas, dependencias verificadas y opciones criptográficas sólidas.
Sospeche de los valores predeterminados, considere cada dependencia como un riesgo potencial y mantenga un diseño lo suficientemente simple como para que sea razonable. Con un diseño correcto desde el principio, evitará un largo futuro de incidentes evitables.
Continúe el viaje con la Sala 3 en este módulo: Defectos de diseño de aplicaciones : https://tryhackme.com/jr/owasptop102025insecuredatahandling
Responda las preguntas a continuación
¡Estoy listo para la siguiente habitación!

Sigan entrenando, Hacketones, Nos vemos en el próximo laboratorio!!!