sábado, 30 de junio de 2018

TicketMaster, un drama en tres actos (y un epílogo)


ACTO I: En el que TicketMaster alerta del ataque

El pasado día 28 de junio, TicketMaster alertaba a sus usuarios respecto a una fuga de información. Según explica en la página web que acompaña al aviso, el día 23 descubrieron que un producto del proveedor Inbenta (una empresa que provee chatbots y que, por cierto, es de origen español) había sido comprometido. Al estar integrado en gran medida en el sitio web de TicketMaster, la información personal y de pago había podido ser accedida por un actor malicioso desconocido.



La primera reacción de TicketMaster ante esto fue desactivar todos los productos de Inbenta en todas las plataformas. 

ACTO II: En el que Inbenta responde a las acusaciones

Inbenta, por su parte, ha dado algo más de detalle sobre el ataque en su propia nota de prensa. Un fichero JavaScript, creado específicamente para cubrir las necesidades de TicketMaster, ha sido el responsable del robo de credenciales.

Acusan directamente a TicketMaster de haber integrado el fichero en su plataforma sin su aprobación, ya que de haberlo sabido habrían avisado del peligro que conlleva. Sin embargo, solo una frase después reconocen que el atacante fue capaz de encontrar y modificar este fichero en su infraestructura. 

Según las declaraciones del CEO de Inbenta, Jordi Torras, a ZDNet a través de email, el atacante pudo acceder a los servidores frontend de Inbenta a través de la explotación de varias vulnerabilidades, y abusar de la característica de subida de ficheros a la plataforma para sustituir el fichero por uno con el código malicioso.

ACTO III: En el que descubrimos que Monzo ya había avisado

Monzo es un banco que opera a través de Internet bastante popular en Reino Unido. A partir del día 6 de abril, empezó a ver como las quejas desde estos países por fraude en tarjetas de crédito se multiplicaban hasta llegar a tener que reemplazar 6000 tarjetas de forma preventiva. 




Cruzando los datos de los clientes afectados por fraude con sus transacciones, se dieron cuenta que el 70% de últimos fraudes afectaban a clientes que usaban TicketMaster. Lo raro es que estos representaban solo un 0,8% de su base de clientes, un porcentaje demasiado bajo para tanto fraude. Algo ocurría. El 12 de abril, miembros del equipo de seguridad de TicketMaster visitaron las oficinas de Monzo para estudiar el caso y afirmaron en que se iba a investigar internamente.

Epílogo: Tirando del hilo

Después de las reveladoras palabras del CEO de Inbenta para ZDNet, en Hispasec nos preguntamos si era posible localizar ese JavaScript y analizar su contenido para poder localizar el actor malicioso. Primero, necesitábamos saber datos concretos de dónde alojaba Inbenta los ficheros referenciados por TicketMaster. Un paseo por Wayback Machine nos da alguna pista: Inbenta usa una serie de URLs que apuntan a servidores Amazon desde donde sirve ficheros estáticos exclusivamente para cada una de las divisiones locales de TicketMaster. Este primer fichero:

http://ticketmasteruk.inbenta.com/avatar/jsonp/inbenta.js

Nos lleva a un segundo: 
http://ticketmasteruk.inbenta.com/avatar/assets/js/inbenta.js?1528204241

Sabiendo al menos el nombre de fichero y URL, podemos empezar a buscar muestras en servicios como VirusTotal o HybridAnalysis. 





Este fichero también fue subido a VirusTotal en la misma fecha, detectado como InfoStealer:




Echando un vistazo a esta versión de 'inbenta.js', encontramos al final una gran cantidad de código ofuscado:



Sospechoso cuanto menos, ¿no? La función 'send' y las continuas referencias al array '_0x1aec' nos hacen sospechar que contiene la información de contacto. Lo decodificamos y....




El punto de contacto es el dominio "webfotce.me", que resuelve a la IP 85.93.5.188, situada en Emiratos Árabes Unidos. Esta IP está relacionada no sólo con este caso, sino también con gran cantidad de malware según VirusTotal.

Buscando información sobre el dominio, vemos que el usuario @AskewDread a través de Twitter ya avisaba de este comportamiento, siendo, según TicketMaster Nueva Zelanda, solucionado el 11 de mayo.
En un análisis preliminar, vemos que el código recoge información de la página en caso de encontrar ciertas cadenas en la misma, y hace peticiones POST a la URL mencionada con los datos capturados.

Ataques como estos son ejemplos claros del alcance que pueden llegar a tener los fallos de seguridad en proveedores u otras dependencias de código. Aunque Inbenta ha sido la empresa atacada, es TicketMaster el más afectado tanto en imagen como económicamente. Incluso los efectos colaterales han llegado a Monzo, un tercero sin relación directa de negocio con ninguno de ellos.

Es importante recordar que la seguridad de nuestra infraestructura es tan débil como el componente más inseguro de la misma y que, por tanto, todos necesitan ser revisados para garantizar un producto seguro a nuestros usuarios y evitar que un problema de terceros nos afecte directamente.


Francisco López
flopez@hispasec.com

Agradecimientos a Carlos Ledesma (@Ravenons) por el apoyo técnico.

Más información:

INFORMATION ABOUT DATA SECURITY INCIDENT BY THIRD-PARTY SUPPLIER:
https://security.ticketmaster.co.uk/