26 ago 2024

Lecciones del apagón de CrowdStrike

Como es conocido, hace unas semanas hubo un apagón informático que afectó a una gran parte del mundo (podéis ver un artículo publicado por Flu Project profundizando en ello en el siguiente enlace). Este problema, que afectó a casi 9 millones de dispositivos Windows (1% de las máquinas en todo el mundo), fue debido a una actualización defectuosa de CrowdStrike Falcon, un sensor del famoso EDR encargado de bloquear ataques contra sistemas y que captura y registra toda la actividad a tiempo real, con el fin de detectar amenazas rápidamente.

Primera lección: un problema evitable

Pero, la pregunta es ¿todo esto se podría haber evitado? Para ello debemos entender la raíz del problema.

Según lo que han contado desde la propia compañía, el problema fue debido a la presencia de un fichero corrupto en la actualización de CrowdStrike Falcon, lo que provocó que todo sistema que la obtuvo colapsara al no ser capaces de leerlo. Ya que el problema afectaba a nivel kernel, los sistemas se quedaban en bucle al arrancar provocando la tan conocida “pantalla azul” (BSOD).

¿Cómo es posible que algo así suceda en pleno 2024? ¿No se hacen chequeos antes de lanzar una actualización de este tipo? Normalmente sí, pero no siempre tiene por qué ser así. En este caso, CrowdStrike Falcon tenía la certificación de Microsoft, pero en las actualizaciones no todas las piezas que lo conforman necesitan ser certificadas.

Y he aquí el problema, estos componentes aprovechan la certificación de Falcon para colarse en el núcleo del sistema operativo y cualquier error en él puede ser fatal. Por lo tanto, es muy importante controlar bien los proveedores que pueden acceder a esta parte del S.O. 

Todo esto nos hace cuestionarnos que si la actualización tenía un riesgo tan alto ¿por qué CrowdStrike no probó la actualización antes de lanzarla mundialmente? Pues según explican algunos expertos, “CrowdStrike se tuvo que arriesgar porque descubrieron varias vulnerabilidades críticas en el sistema, y esas actualizaciones tenían como fin eliminarlas antes de que cualquier atacante pudiera aprovecharlas”.

Tras todo esto y volviendo a la pregunta inicial, si todo este problema se podría haber evitado, pues muy probablemente, sí.

Segunda lección: honestidad y humildad

Tras el incidente, era importante buscar alguien que asumiera la responsabilidad de lo sucedido, y debemos hablar desde el punto de vista de Microsoft y de CrowdStrike.

Por la parte de Microsoft, es recurrente la pregunta, ¿por qué permite que software de terceros llegue tan lejos, siendo esto tan arriesgado para sus sistemas?

En las declaraciones al periódico The Wall Street Journal, un portavoz del gigante tecnológico acusó a la Comisión Europea de obligarle a hacerlo, a raíz de un acuerdo que ambas partes firmaron en 2009. Este acuerdo tenía como propósito promover la libre competencia. Microsoft había adquirido varios antivirus para prestar servicios de ciberseguridad con acceso directo al kernel de Windows, lo cual le daba una clara ventaja sobre los demás competidores. Por eso se acordó que la compañía debía permitir a los demás poder conocer el sistema operativo tanto como las soluciones propias de Microsoft.

Un representante de la comisión respondió que Microsoft debe adaptar su infraestructura de seguridad conforme al acuerdo firmado, ya que el problema no se limitó a los territorios de la UE. También afirmó que Microsoft nunca había mostrado ni planteado una preocupación sobre este aspecto de seguridad ni antes ni después del incidente.

Tras las declaraciones de Microsoft, muchos expertos han dado su opinión y aseguran que, a pesar del acuerdo, no hay ninguna buena razón para que la compañía tecnológica no pudiera cumplirlo con los “controles adecuados”. Dejando claro que el acuerdo no obliga a que todos los antivirus tengan que acceder al kernel, sino que simplemente les da la posibilidad de hacerlo. De hecho, no todos lo hacen, ya que buscan otras fórmulas e innovación propia para proteger el sistema.

Por la parte de CrowdStrike, tras el incidente ofreció a sus socios una tarjeta de regalo de Uber Eats por un valor aproximado de 9 euros como disculpa. Por si fuera poco, tras el aluvión de personas que lo quisieron canjear, la aplicación lo reconoció como fraude y canceló los cupones.

Como es normal, las críticas han sido abundantes. Una compensación de 9 euros no es ni por asomo proporcional al daño causado, llegando a ser insultante para entidades como ADIF, una de las más golpeadas por la situación.

Es imprescindible ser honesto y tener mucha humildad a la hora de afrontar públicamente un suceso de este calibre, y los departamentos de relaciones públicas deben de estar a la altura.

Tercera lección: no se debe depender de una única solución

Cada vez más se utilizan grandes softwares que centralizan los recursos, lo cual genera una gran dependencia de la tecnología. Esto es eficiente, pero también muy peligroso, ya que, si un componente crítico falla, puede provocar un efecto dominó. Y en esto pone mucho hincapié la regulación europea DORA (Digital Operational Resilience Act), que dedica un apartado a proponer soluciones para lo que denominan “riesgo de concentración”, invitando a que las empresas no dependan de únicamente 3 o 4 proveedores y distribuyan sus necesidades de servicios y productos entre más organizaciones, evitando así que se generen dependencias que les hagan perder el control.

El incidente sucedido solo pone en manifiesto este hecho y que el empeño actual de conectar todo (las infraestructuras críticas, las empresas, las administraciones públicas, todo tipo de gadgets, los electrodomésticos, etc.) genera más riesgo de ciberataques, ya que dependemos de Internet para casi todo. De hecho, no solo las empresas españolas fueron gravemente afectadas, sino que también afectó a unas 125 empresas de las Fortune 500. ¿Qué habría pasado si hubiera afectado a MacOS y Linux? ¿Y si hubiera afectado al 100% de las máquinas Windows del mundo? La situación habría pasado de ser caótica a ser apocalíptica.

Cuarta lección: ciberseguridad como prioridad

Hoy en día es más importante que nunca tener entre las máximas prioridades a la ciberseguridad, ya sea una empresa, una administración pública, una institución o un usuario. El número de ciberataques ha aumentado hasta límites nunca vistos y hay que estar a la altura de las circunstancias.

El apagón informático que afectó a Windows fue histórico y afecto a muchos sectores mundiales y, aunque no es el primer gran apagón sucedido, muchos expertos se siguen sorprendiendo de que las empresas de sectores críticos como la banca, las aerolíneas y/o los medios de comunicación, no tuvieran o no pudiesen abordar una mejor respuesta con sus planes de contingencia y recuperación ante incidentes. Además, a raíz del problema, algunos actores maliciosos se están aprovechando para realizar campañas de phishing con un fichero malicioso que supuestamente soluciona el problema. El malo nunca desaprovecha una buena oportunidad.

Por todo esto y por sucesos similares anteriores, es que la ciberseguridad debe de ser una prioridad en todo ámbito si de verdad no se quieren lamentar pérdidas, ya sean monetarias o de datos sensibles de las empresas o usuarios.

Javier Muñoz, Analista de Ciberseguridad en Zerolynx



19 ago 2024

Comprendiendo ADCS 101


En esta publicación estaremos comentando los aspectos básicos sobre ADCS, así como la técnica de explotación ESC1.

Introducción a ADCS

Active Directory Certificate Services (ADCS) es un rol del servidor de Windows que proporciona servicios personalizables para la emisión y gestión de certificados de infraestructura de clave pública (PKI) utilizados en sistemas de seguridad de software. Permite a las organizaciones asegurar la comunicación de red, autenticar usuarios y dispositivos, y garantizar la integridad de los datos mediante servicios criptográficos. ADCS soporta varios tipos de certificados, como certificados SSL/TLS, certificados de firma de código y certificados de inicio de sesión con tarjeta inteligente, entre otros.

El uso de ADCS es muy útil para las organizaciones, ya que pueden desplegar plantillas de certificados, de manera que los usuarios del dominio pueden solicitar enrolarse a dicha plantilla y obtener certificados, obteniendo así acceso o privilegios sobre diferentes elementos del dominio. 

Una mala configuración del rol Active Directory Certificate Services y de sus componentes como las plantillas de certificados, puede derivar en diferentes vulnerabilidades que pueden llegar a permitir una elevación de privilegios en el dominio

Enumeración de vulnerabilidades

Para revisar los servicios de ADCS durante un ejercicio de auditoría, se suelen utilizar herramientas como Certify.exe o Certipy.

Estas dos herramientas permiten enumerar y solicitar certificados desde ADCS, facilitando la tarea de identificar plantillas cuya configuración no es correcta y permite algún tipo de abuso. 

Enumeración de entidad certificadora (CA) en un entorno de Directorio Activo con certify.exe.

Durante la enumeración de vulnerabilidades relativas a ADCS se pueden identificar diferentes técnicas de abuso en función de la situación del entorno auditado. A este tipo de situaciones o entornos mal configurados se les asocian unas técnicas de escalada (ESC) siendo que en la actualidad hay un total de 13 (ESC1 – ESC13) los cuales pueden llegar a permitir una elevación de privilegios en el dominio.

Explotación ESC1

ESC1 se refiere a una vulnerabilidad común en las configuraciones de ADCS donde los permisos de inscripción están configurados incorrectamente. Esta mala configuración puede permitir usuarios de dominio soliciten certificados en nombre de cualquier otra cuenta de la organización, permitiendo así impersonar a cualquiera de estas con las escaladas de privilegios que esto conlleva. 
Con Certify.exe es posible enumerar que plantillas permiten solicitar certificados en nombre de otro usuario de la siguiente manera: 


Terminal

                Certify.exe find /enrolleeSuppliesSubject. 

      


Enumeración Plantilla vulnerable a ESC1.

Una vez detectada una plantilla que permite autoenrolarse a cualquier cuenta de dominio autenticada y que permite especificar el nombre de la cuenta para la obtención del certificado, es posible obtener dicho certificado de la siguiente manera: 

Terminal

              Certify.exe request /ca:'dominio'\'entidad certificadora (CA)' /template:"'nombre de la plantilla vulnerable'" /altname:'cuenta de dominio a impersonar'

      
Solicitud de certificado en nombre de la cuenta “administrator”.

Tras la ejecución del comando anterior, se puede obtener un certificado a nombre de cualquier cuenta de dominio, siendo en este caso la cuenta “administrator”. Posteriormente, utilizando herramientas como openssl es posible transformar este tipo de certificados .pem en certificados .pfx, los cuales pueden ser interpretados por Rubeus para obtener un ticket en nombre de la cuenta asociada al certificado expedido.

ticket de administrador de dominio obtenido.

Como podemos observar se ha obtenido el ticket de administrador de dominio con el certificado obtenido.
En próximas entregas continuaremos hablando sobre diferentes ESCs y sus métodos de explotación.


Ignacio Sánchez, colaborador con Grupo Zerolynx.

12 ago 2024

CVE-2024-28995 – SolarWinds Serv-U Path Traversal


Continuando con la saga de los CVEs de este 2024 tenemos el día de hoy el CVE-2024-28995. 

La plataforma de administración TI SolarWinds reportó el pasado 5 de junio una vulnerabilidad en su servidor de archivos SolarWinds Serv-U. La vulnerabilidad consiste en un problema de path-traversal que permite a un atacante no autenticado obtener cualquier archivo del sistema de archivos en la máquina host. 

Las versiones afectadas son: 

  • SolarWinds Serv-U 15.4.2 y anteriores 

Actualmente existen pruebas de concepto destinadas al descubrimiento de la posible vulnerabilidad en los sistemas de una IP seleccionada. 


La vulnerabilidad 

La vulnerabilidad puede ser explotada mediante una petición GET muy simple a la raíz “/”, con los argumentos a buscar “InternalDir” e “InternalFile”. 

Un ejemplo de ello puede ser: 



En estos payloads se utilizan las barras “\” para Linux y las barras “/” para Windows, ya que, resulta que en Serv-U solo filtran las barras adecuadas para la plataforma (“/” en Linux y “\” en Windows), y luego las arregla. Por lo tanto, si se envía las barras de manera incorrecta, la petición pasa el filtro y luego se “arreglan”, lo que da lugar a un problema “time-of-check-time-of-use” (TOCTOU).  

Conclusión 

El 17 de junio la Agencia de Seguridad de Infraestructura y Ciberseguridad de los Estados Unidos (CISA) añadió esta vulnerabilidad junto a otras más a su catálogo de Vulnerabilidades Explotadas Conocidas (KEV). 

Esta vulnerabilidad ha sido catalogada con una puntuación CVSS: 8,6 y CVE-2024-28995. En cuanto a su remediación, SolarWinds lanzó rápidamente su parche Serv-U 15.4.2 Hostfix 2 y se recomienda que todos los que hagan uso de esta plataforma, actualicen este parche lo antes posible si aún no lo han hecho. 

Y hasta aquí este CVE nos vemos cuando salgan más C, más V y más E. Hasta la próxima. 


Javier Muñoz, Analista de Ciberseguridad en Zerolynx

5 ago 2024

Alternativas a BurpSuite - Caido Web Proxy


En el momento de realizar auditorías webs siempre solemos pensar en BurpSuite que es la herramienta por excelencia, pero alguna vez se ha pensado en ¿otras alternativas? 

Sabemos que si hablamos de pentest web las herramientas más destacadas son OWASP ZAP y BurpSuite, ambas ampliamente utilizadas y reconocidas por su eficacia y funcionalidad. Recientemente, ha surgido una nueva herramienta en el panorama: Caido, un proxy que promete innovaciones y mejoras en varios aspectos. Este post tiene como objetivo comparar Caido directamente con OWASP ZAP y BurpSuite, evaluando sus ventajas y desventajas para ayudaros a elegir aquella que mejor cumpla los requisitos de vuestras auditorías.

¿Caido? 

Sí, Caido. Este proxy, está programado en Rust y posee una serie de opciones y características muy interesantes. Al igual que otros proxies, está basado en proyectos, donde el usuario puede realizar modificaciones específicas dependiendo del proyecto en el que esté trabajando. Sin embargo, Caido permite cambiar de proyecto sin necesidad de reiniciar la aplicación: 


Otra opción muy útil de Caido son los “workflows”. Estos flujos permiten al auditor automatizar procesos de una manera sencilla y visual, realizando determinadas acciones en base al contenido de la petición realizada o la respuesta obtenido, ejecutando módulos locales dependiendo de determinados parámetros en la petición/respuesta interceptada: 


Otra característica de Caido es su asistente, al que se tiene acceso una vez obtenido el plan de pago. Este asistente se trata de una inteligencia artificial LLM (modelo de lenguaje de gran tamaño), que ayuda al auditor en sus pruebas de pentest web: 


Características Principales de Caido, OWASP ZAP y BurpSuite 

Caido 

Como se ha demostrado en la sección anterior, Caido es una herramienta innovadora diseñada para ser simple y eficaz. Sus características principales incluyen: 

  • Interfaz de Usuario: Caido ofrece una interfaz moderna y simplificada, facilitando la navegación y el uso incluso para usuarios menos experimentados. 
  • Automatización: Incorpora capacidades avanzadas de automatización para pruebas de penetración, reduciendo la intervención manual y acelerando los procesos. 
  • Integración: Está diseñado para integrarse fácilmente con otras herramientas y sistemas, permitiendo una mayor flexibilidad en su uso. 
  • Desempeño: Se destaca por ser eficiente, manejando grandes volúmenes de tráfico sin comprometer la velocidad. 


OWASP ZAP 

OWASP ZAP (Zed Attack Proxy) es una de las herramientas del ámbito de la seguridad de aplicaciones web, especialmente conocida por ser de código abierto. Sus características principales incluyen: 

  • Interfaz de Usuario: ZAP ofrece una interfaz robusta, pero puede ser intimidante para los nuevos usuarios debido a su cantidad de configuraciones. 
  • Automatización y Scripts: ZAP permite la creación de scripts personalizados para automatizar pruebas específicas, aunque requiere conocimientos técnicos más avanzados. 
  • Escaneo de Vulnerabilidades: Incluye un potente motor de escaneo para identificar diversas vulnerabilidades. 
  • Comunidad y Soporte: La comunidad de usuarios y desarrolladores de ZAP es muy activa, proporcionando soporte, documentación y actualizaciones constantes. 


BurpSuite 

BurpSuite es una herramienta de PortSwigger ampliamente reconocida por su capacidad y eficacia en pruebas de seguridad. Sus características principales incluyen: 

  • Interfaz de Usuario: BurpSuite ofrece una interfaz intuitiva y rica en funcionalidades, adecuada tanto para principiantes como para expertos. 
  • Herramientas Integradas: Integra una serie de herramientas, como escáner de vulnerabilidades, repetidores, y herramientas de análisis de tráfico HTTP/HTTPS. 
  • Extensiones y Automatización: BurpSuite permite la instalación de extensiones y la automatización de tareas complejas, facilitando personalizaciones avanzadas. 
  • Soporte y Documentación: La versión profesional de BurpSuite viene con soporte técnico dedicado y documentación extensa, aunque a cambio de un costo considerable. 


Situaciones de Seguridad 


Caido 


Caido es ideal para organizaciones y profesionales que buscan una herramienta moderna y eficiente con una curva de aprendizaje suave. Es especialmente útil para aquellos que requieren integraciones rápidas y una interfaz amigable para el usuario. Sin embargo, su novedad en el mercado significa que puede tener menos soporte y documentación disponible en comparación con las herramientas más establecidas. 

OWASP ZAP 


ZAP es la opción preferida para aquellos que buscan una herramienta poderosa y gratuita con una comunidad activa. Es adecuada para organizaciones con recursos limitados que pueden invertir tiempo en personalización y aprendizaje. Su capacidad de script y la extensa documentación la hacen ideal para usuarios avanzados que buscan una personalización profunda. 


BurpSuite 


BurpSuite es la elección principal para profesionales y organizaciones que pueden invertir en una herramienta comercial robusta y completa. Es ideal para pruebas de penetración avanzadas y detalladas, proporcionando un soporte técnico dedicado y una amplia gama de funcionalidades. Su estabilidad y rendimiento la hacen adecuada para entornos donde la seguridad es crítica y no se pueden permitir compromisos. 

En resumen, cada una de estas herramientas tiene sus fortalezas y debilidades, y la elección final debe basarse en un análisis de los requisitos específicos, el presupuesto disponible y el nivel de experiencia del usuario. 

Egoitz San Martín, Analista de Ciberseguridad en Grupo Zerolynx