7 oct 2024

OWASP TOP 10


La seguridad en aplicaciones web es una prioridad en el mundo actual, donde las amenazas cibernéticas están en constante evolución. Para ayudar a los desarrolladores y profesionales de seguridad, la Open Web Application Security Project (OWASP) publica una lista conocida como OWASP Top 10, que destaca las vulnerabilidades más críticas en las aplicaciones web. Esta lista es esencial para comprender los riesgos y las medidas necesarias para mitigar estas amenazas.

¿Qué es OWASP Top 10?

El OWASP Top 10 es una clasificación de las vulnerabilidades más graves que afectan a las aplicaciones web. Su objetivo es proporcionar conciencia y conocimiento a la comunidad tecnológica sobre las fallas de seguridad más comunes y peligrosas. Actualizada periódicamente, esta lista ofrece una guía práctica para prevenir, detectar y corregir las vulnerabilidades más críticas.

Las vulnerabilidades en el OWASP Top 10 tienen el potencial de comprometer gravemente la seguridad de una aplicación, exponiendo datos sensibles, permitiendo el acceso no autorizado y causando grandes pérdidas para las organizaciones.

Existen distintas ediciones del OWASP Top 10, clasificadas según el año de su creación o actualización. Esto se debe al cambio en el panorama general de la seguridad web, ya que, según los datos recopilados por la Fundación OWASP, la frecuencia de determinados tipos de vulnerabilidades va aumentando y disminuyendo con el paso del tiempo. A su vez, nuevos tipos de vulnerabilidades emergen, mientras que otras desaparecen, reciben un nombre distinto o se agrupan:


En esta entrada de blog hemos decidido presentar la versión más reciente de OWASP TOP 10 a octubre 2024, es decir, la versión de 2021.

OWASP Top 10 2021


En la edición de 2021, OWASP actualizó su lista con las principales amenazas de seguridad que afectan a las aplicaciones web hoy en día. A continuación, se destacan las 10 categorías de riesgo más relevantes:


A01:2021 - Pérdida de control de acceso

Se refiere a fallos en las restricciones de acceso a datos o funcionalidades. Esto permite a los atacantes realizar acciones no autorizadas, como acceder a datos confidenciales o realizar funciones de administración sin los permisos necesarios. Algunas de las vulnerabilidades relacionadas:
  • Escalada de privilegios: Usuarios normales pueden obtener o realizar acciones que requieren privilegios de administrador.
  • Movimiento lateral: Los usuarios pueden acceder a datos de otros usuarios de la plataforma.
  • Falta de control de acceso en APIs: Las API no protegen correctamente los recursos.

A02:2021 - Fallos criptográficos

Esta categoría cubre los errores en la protección de datos sensibles, como contraseñas o información personal. Si los datos no están debidamente cifrados, los atacantes pueden interceptarlos y leerlos fácilmente. Algunas de las vulnerabilidades relacionadas:
  • Cifrado débil o inexistente: Uso de algoritmos criptográficos obsoletos o falta de cifrado en datos sensibles.
  • Gestión inadecuada de claves: Almacenamiento o transmisión insegura de claves criptográficas.
  • Exposición de datos sensibles: Contraseñas, números de tarjeta o datos personales no cifrados.

A03:2021 - Inyección

Las vulnerabilidades de inyección, como la inyección SQL, permiten que un atacante inserte comandos maliciosos en la entrada de la aplicación para alterar su funcionamiento. Esto puede permitir acceso no autorizado a bases de datos y otros recursos. Algunas de las vulnerabilidades relacionadas:
  • Inyección SQL: Manipulación de consultas SQL para acceder o modificar datos de una base de datos.
  • Inyección de comandos: Ejecución de comandos del sistema operativo a través de entradas inseguras.
  • Inyección de código: Inserción de código malicioso en la aplicación, por ejemplo, código JavaScript.

A04:2021 - Diseño inseguro

Ocurre cuando no se consideran los principios de seguridad durante el proceso de diseño de la aplicación, lo que resulta en fallos estructurales difíciles de solucionar una vez implementada. Algunas de las vulnerabilidades relacionadas:
  • Falta de validación de entrada: No se comprueban adecuadamente los datos introducidos por el usuario. Este tipo de vulnerabilidad puede derivar en otras vulnerabilidades como la inyección de comandos o inyección SQL.
  • Ausencia de controles de seguridad: Falta de autenticación o cifrado en puntos críticos.
  • Arquitectura deficiente: Ausencia de separación de roles o uso de patrones de diseño inseguros.

A05:2021 - Mala configuración de la seguridad

La configuración incorrecta o por defecto de sistemas, servidores y aplicaciones es un problema común que deja expuestas las aplicaciones a ataques. Este riesgo puede evitarse mediante una configuración adecuada y revisiones periódicas. Algunas de las vulnerabilidades relacionadas:
  • Credenciales por defecto: Uso de contraseñas o configuraciones predeterminadas en servidores o aplicaciones.
  • Exposición de archivos sensibles: Archivos de configuración o bases de datos accesibles públicamente.
  • Servicios no necesarios habilitados: Servicios no utilizados que podrían ser explotados.

A06:2021 - Componentes vulnerables y desactualizados

Muchas aplicaciones dependen de bibliotecas o frameworks de terceros. Si estos componentes no se actualizan o contienen vulnerabilidades conocidas, los atacantes pueden explotarlos para comprometer la seguridad de la aplicación. Algunas de las vulnerabilidades relacionadas:
  • Dependencias con vulnerabilidades conocidas: Uso de bibliotecas o frameworks con fallos de seguridad conocidos.
  • Software desactualizado: Falta de actualizaciones de seguridad o parches disponibles.
  • Plugins y módulos inseguros: Uso de extensiones o módulos de terceros que no se han auditado correctamente. (Plugins de WordPress desactualizados, librerías de JavaScript desactualizadas…)

A07:2021 - Fallos de identificación y autenticación

La autenticación deficiente permite a los atacantes eludir la verificación de identidad de los usuarios, lo que resulta en suplantación de identidad o accesos no autorizados. Algunas de las vulnerabilidades relacionadas:
  • Autenticación insegura: Falta de mecanismos como autenticación multifactor (MFA).
  • Sesiones no protegidas: Tokens de sesión expuestos o falta de expiración de sesiones.

A08:2021 - Fallos en el software y la integridad de la información

Esta vulnerabilidad afecta cuando no se verifica adecuadamente la integridad de las actualizaciones del software o los datos almacenados. Esto permite a los atacantes alterar el código fuente o los datos sin ser detectados. Algunas de las vulnerabilidades relacionadas:
  • Actualizaciones no verificadas: Actualización de software sin comprobar su autenticidad.
  • Alteración de código fuente: Inyección de código malicioso en repositorios o pipelines de CI/CD.
  • Manipulación de archivos críticos: Alteración de archivos de configuración o bases de datos sin detección.

A09:2021 - Fallo en el registro de eventos de seguridad y monitorización

Sin un registro adecuado y una monitorización activa, es difícil detectar o reaccionar ante ataques en curso. Este fallo limita la capacidad de respuesta ante incidentes de seguridad. Algunas de las vulnerabilidades relacionadas:
  • Falta de registros de eventos: Falta de registros de acceso, errores o cambios en el sistema.
  • Logs insuficientes: Los registros no contienen información suficiente para diagnosticar problemas.
  • No se detectan ataques en tiempo real: No hay sistemas de alerta o monitorización activa ante incidentes.

A10:2021 - Forzado de peticiones del lado del servidor (SSRF)

El ataque SSRF ocurre cuando una aplicación web es engañada para realizar solicitudes a otros servidores, permitiendo a los atacantes acceder a recursos internos que normalmente estarían protegidos. Algunas de las vulnerabilidades relacionadas:
  • Acceso a recursos internos: El atacante utiliza la aplicación para acceder a servidores internos o bases de datos.
  • Evasión de firewalls: El atacante explota la vulnerabilidad para saltar las restricciones de seguridad de red.
  • Consulta de servicios locales: El atacante accede a servicios en la red interna, como HTTP, FTP o SSH.

Durante los próximos meses iremos publicando entradas sobre cada una de las vulnerabilidades del TOP 10. Indagaremos en todos los tipos de vulnerabilidades relacionadas con cada uno de los riesgos, así como en los ataques para explotar dichas vulnerabilidades.





23 sept 2024

CVE-2024-37085 - VMware EXSi


El pasado 30 de julio, Microsoft publicó un artículo en su blog de inteligencia de amenazas donde alertaba del descubrimiento de una nueva vulnerabilidad. Esta afecta a los hipervisores EXSi de VMware y aseguran que han detectado a varios grupos operadores de ransomware que se han aprovechado de ella.

Análisis de la vulnerabilidad

Ha sido identificada como CVE-2024-37085 y se trata de una vulnerabilidad de omisión de autenticación de integración de Active Directory que afecta a los hipervisores VMware EXSi. 

Los hipervisores ESXi alojan máquinas virtuales que pueden incluir servidores críticos en una red. En un ataque de ransomware, tener permiso administrativo completo en un hipervisor ESXi puede significar que el agente malicioso puede cifrar el sistema de archivos, lo que puede afectar la capacidad de los servidores alojados para ejecutarse y funcionar. También permite al atacante acceder a las máquinas virtuales alojadas y posiblemente exfiltrar datos o moverse lateralmente dentro de la red.

Cabe destacar que ESXi no debería estar expuesto a internet, por lo que los atacantes deben tener acceso previo al entorno de destino para poder explotar la vulnerabilidad y escalar privilegios.

Varios operadores de ransomware como Storm-0506, Storm-1175, Octo Tempest y Manatee Tempest están implementando en sus ataques los ransomware conocidos como Akira y Black Basta. La técnica de ataque incluye los siguientes comandos:



Terminal

                net group “ESX Admins” /domain /add
		net group “ESX Admins” username /domain /add


      
El análisis detallado del ataque reveló que los hipervisores VMware ESXi unidos a un dominio de Active Directory consideran que cualquier miembro de un grupo de dominio llamado “Administradores de ESX” tiene acceso administrativo completo de forma predeterminada. Este grupo no es un grupo integrado en Active Directory y no existe de forma predeterminada. Los hipervisores ESXi no validan la existencia de dicho grupo cuando el servidor se une a un dominio y siguen tratando a cualquier miembro de un grupo con este nombre con acceso administrativo completo, incluso si el grupo no existía originalmente. 

En la investigación se identificaron tres métodos de explotación:
  1. Agregar el grupo “ESX Admins” al dominio y agregar un usuario a él: este método es explotado activamente por los actores de amenazas mencionados anteriormente. En este método, si el grupo “ESX Admins” no existe, cualquier usuario del dominio con la capacidad de crear un grupo puede escalar privilegios a acceso administrativo completo a los hipervisores ESXi unidos al dominio creando dicho grupo y luego agregándose a sí mismo o a otros usuarios bajo su control al grupo.
  2. Cambiar el nombre de cualquier grupo del dominio a “Administradores de ESX” y agregar un usuario al grupo o usar un miembro existente del grupo: este método es similar al primero, pero en este caso el actor de la amenaza necesita un usuario que tenga la capacidad de cambiar el nombre de algunos grupos arbitrarios y cambiar el nombre de uno de ellos a “Administradores de ESX”. El actor de la amenaza puede luego agregar un usuario o usar un usuario que ya exista en el grupo para escalar privilegios a acceso administrativo completo. Microsoft no observó este método en la práctica.
  3. Actualización de privilegios del hipervisor ESXi: incluso si el administrador de red asigna cualquier otro grupo del dominio como grupo de administración del hipervisor ESXi, los privilegios administrativos completos de los miembros del grupo “Administradores de ESX” no se eliminan de inmediato y los actores de amenazas aún podrían abusar de ellos. Microsoft no observó este método en la práctica.

La explotación de la vulnerabilidad permite a los atacantes con suficientes permisos de Active Directory (AD) obtener acceso completo a un host ESXi, el cual fue configurado previamente para usar AD para la administración de usuarios, al recrear el grupo AD configurado ('Administradores ESXi' por defecto) después de que fue eliminado de Active Directory


Orientación sobre mitigación

Las versiones de los productos afectadas por esta vulnerabilidad son:
  • VMware ESXi 8.0 (corregido en ESXi80U3-24022510)
  • VMware ESXi 7.0 (no hay parches planificados)
  • VMware Cloud Foundation 5.x (corregida en 5.2)
  • VMware Cloud Foundation 4.x (no hay parches planificados)

Para la mitigación, se recomienda aplicar la actualización de seguridad publicada por VMware, aunque también se recomienda seguir las siguientes pautas:
  • En el caso de no poder actualizar el software, se pueden seguir las siguientes recomendaciones para reducir el riesgo:
    • Validar que el grupo “ESX Admins” exista en el dominio y esté protegido.
    • Deniegue manualmente el acceso a este grupo modificando la configuración en el propio hipervisor ESXi. Si no desea que el grupo de administradores de ESX de Active Directory tenga acceso de administrador completo, puede deshabilitar este comportamiento mediante la configuración avanzada del host: 

Terminal

                'Config.HostAgent.plugins.hostsvc.esxAdminsGroupAutoAdd'.


      
    • Cambie el grupo de administración a un grupo diferente en el hipervisor ESXi.
    • Agregue detecciones personalizadas en XDR/SIEM para el nuevo nombre de grupo.  
    • Configure el envío de registros de ESXi a un sistema SIEM y monitoree el acceso administrativo completo sospechoso.
  • Sanitización de credenciales: para utilizar los diferentes métodos de vulnerabilidad, los actores de amenazas necesitan controlar a un usuario con privilegios elevados en la organización. Por lo tanto, nuestra recomendación es asegurarse de proteger las cuentas con privilegios elevados en la organización, especialmente aquellas que pueden administrar otros grupos de dominios:
    • Imponga la autenticación multifactor (MFA) en todas las cuentas, elimine los usuarios excluidos de la MFA y exija estrictamente la MFA en todos los dispositivos, en todas las ubicaciones, siempre.
    • Habilite los métodos de autenticación sin contraseña (por ejemplo, Windows Hello, claves FIDO o Microsoft Authenticator) para las cuentas que admitan la autenticación sin contraseña. Para las cuentas que aún requieren contraseñas, use aplicaciones de autenticación como Microsoft Authenticator para MFA. 
    • Aísle las cuentas privilegiadas de las cuentas de productividad para proteger el acceso administrativo al entorno.
  • Mejore la posición de los activos críticos: identifique sus activos críticos en la red, como los hipervisores ESXi y los vCenters (una plataforma centralizada para controlar los entornos VMware vSphere), y asegúrese de protegerlos con las últimas actualizaciones de seguridad, los procedimientos de monitoreo adecuados y los planes de respaldo y recuperación.
  • Identifique activos vulnerables: implemente escaneos autenticados de dispositivos de red mediante SNMP a través del portal de Microsoft Defender para identificar vulnerabilidades en dispositivos de red como ESXi y recibir recomendaciones de seguridad.

Conclusión

Aparte de todas estas pautas, la empresa Broadcom (propietario de VMware) avisó de la vulnerabilidad en un comunicado, en el cual incluye un enlace a una solución alternativa que modifica varias configuraciones avanzadas de ESXi para que sean más seguras; la página de la solución alternativa señala que para todas las versiones de ESXi (anteriores a ESXi 8.0 U3), “varias configuraciones avanzadas de ESXi tienen valores predeterminados que no son seguros de manera predeterminada. Al grupo de AD “Administradores de ESX” se le asigna automáticamente el rol de administrador de VIM cuando un host ESXi se une a un dominio de Active Directory”.

Javier Muñoz, analista de ciberseguridad en Zerolynx