Dos en uno: los datos turísticos y las entradas para eventos culturales estaban a disposición del público

Hoy veremos dos casos a la vez: los datos de clientes y socios de dos empresas completamente diferentes estaban disponibles gratuitamente "gracias" a los servidores abiertos de Elasticsearch con registros de los sistemas de información (IS) de estas empresas.

Dos en uno: los datos turísticos y las entradas para eventos culturales estaban a disposición del público

En el primer caso, se trata de decenas de miles (y tal vez cientos de miles) de entradas para diversos eventos culturales (teatros, discotecas, excursiones fluviales, etc.) vendidas a través del sistema Radario (www.radario.ru).

En el segundo caso, se trata de datos sobre viajes turísticos de miles (posiblemente varias decenas de miles) de viajeros que compraron viajes a través de agencias de viajes conectadas al sistema Sletat.ru (www.sletat.ru).

Me gustaría señalar de inmediato que no solo difieren los nombres de las empresas que permitieron que los datos estuvieran disponibles públicamente, sino también el enfoque de estas empresas para reconocer el incidente y la reacción posterior al mismo. Pero primero lo primero...

Дисклеймер: вся информация ниже публикуется исключительно в образовательных целях. Автор не получал доступа к персональным данным третьих лиц и компаний. Информация взята либо из открытых источников, либо была предоставлена автору анонимными доброжелателями.

Caso uno. "Radario"

En la tarde del 06.05.2019/XNUMX/XNUMX nuestro sistema descubrió que el servidor Elasticsearch está disponible gratuitamente, propiedad del servicio de venta electrónica de billetes Radario.

Según la triste tradición ya establecida, el servidor contenía registros detallados del sistema de información del servicio, de los cuales era posible obtener datos personales, nombres de usuario y contraseñas, así como las propias entradas electrónicas para diversos eventos en todo el país.

Dos en uno: los datos turísticos y las entradas para eventos culturales estaban a disposición del público

El volumen total de registros superó 1 TB.

Según el motor de búsqueda Shodan, el servidor está disponible públicamente desde el 11.03.2019 de marzo de 06.05.2019. Notifiqué a los empleados de Radario el 22/50/07.05.2019 a las 09:30 (MSK) y el XNUMX/XNUMX/XNUMX aproximadamente a las XNUMX:XNUMX el servidor dejó de estar disponible.

Los registros contenían un token de autorización universal (único), que brindaba acceso a todos los boletos comprados a través de enlaces especiales, como:

http://radario.ru/internal/tickets/XXXXXXXX/print?access_token=******JuYWw6MDIzOWRjOTM1NzJiNDZjMTlhZGFjZmRhZTQ3ZDgyYTk

http://radario.ru/internal/orders/YYYYYYY/print?access_token=******JuYWw6MDIzOWRjOTM1NzJiNDZjMTlhZGFjZmRhZTQ3ZDgyYTk

El problema también era que para contabilizar los billetes se utilizaba la numeración continua de los pedidos y la simple enumeración del número del billete (XXXXXXXX) o pedir (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA), fue posible sacar todos los tickets del sistema.

Para comprobar la relevancia de la base de datos, honestamente incluso me compré el billete más barato:

Dos en uno: los datos turísticos y las entradas para eventos culturales estaban a disposición del público
Dos en uno: los datos turísticos y las entradas para eventos culturales estaban a disposición del público

y luego lo encontré en un servidor público en los registros de IS:

http://radario.ru/internal/tickets/11819272/print?access_token==******JuYWw6MDIzOWRjOTM1NzJiNDZjMTlhZGFjZmRhZTQ3ZDgyYTk

Por otra parte, me gustaría subrayar que las entradas estaban disponibles tanto para los eventos que ya se han celebrado como para los que aún se están planificando. Es decir, un atacante potencial podría utilizar la entrada de otra persona para entrar al evento planificado.

En promedio, cada índice de Elasticsearch que contiene registros para un día específico (desde el 24.01.2019/07.05.2019/25 hasta el 35/XNUMX/XNUMX) contenía de XNUMX a XNUMX mil tickets.

Además de las entradas en sí, el índice contenía inicios de sesión (direcciones de correo electrónico) y contraseñas de texto para acceder a las cuentas personales de los socios de Radario que venden entradas para sus eventos a través de este servicio:

Content: "ReturnUrl=&UserEmail=***@yandex.ru&UserPassword=***"

En total, se detectaron más de 500 pares de inicio de sesión/contraseña. Las estadísticas de venta de entradas son visibles en las cuentas personales de los socios:

Dos en uno: los datos turísticos y las entradas para eventos culturales estaban a disposición del público

También estuvieron disponibles públicamente los nombres, números de teléfono y direcciones de correo electrónico de los compradores que decidieron devolver los boletos comprados anteriormente:

"Content": "{"name":"***","surname":"*** ","middleName":"Евгеньевна ","passportType":1,"passportNumber":"","passportIssueDate":"11-11-2011 11:11:11","passportIssuedBy":"","email":"***@mail.ru","phone":"+799*******","ticketNumbers":["****24848","****948732"],"refundReason":4,"comment":""}"

En un día seleccionado al azar, se descubrieron más de 500 registros de este tipo.

Recibí respuesta a la alerta del director técnico de Radario:

Soy el director técnico de Radario y me gustaría agradecerle por identificar el problema. Como sabéis, hemos cerrado el acceso a elásticos y estamos solucionando el problema de la reemisión de billetes para los clientes.

Un poco más tarde la empresa hizo un comunicado oficial:

Se descubrió una vulnerabilidad en el sistema de venta electrónica de billetes Radario y se corrigió rápidamente, lo que podría provocar una filtración de datos de los clientes del servicio, dijo el director de marketing de la empresa, Kirill Malyshev, a la Agencia de Noticias de la Ciudad de Moscú.

“De hecho, descubrimos una vulnerabilidad en el funcionamiento del sistema asociada con las actualizaciones periódicas, que se solucionó inmediatamente después del descubrimiento. Debido a la vulnerabilidad, en determinadas condiciones, acciones hostiles de terceros podrían provocar una fuga de datos, pero no se registró ningún incidente. Por el momento se han solucionado todos los fallos”, afirmó K. Malyshev.

Un representante de la empresa destacó que se decidió reemitir todos los billetes vendidos durante la solución del problema para eliminar por completo la posibilidad de fraude contra los clientes del servicio.

Unos días más tarde, verifiqué la disponibilidad de los datos mediante los enlaces filtrados: efectivamente, el acceso a los tickets "expuestos" estaba cubierto. En mi opinión, este es un enfoque competente y profesional para resolver el problema de la fuga de datos.

Caso dos. "Fly.ru"

Temprano en la mañana 15.05.2019/XNUMX/XNUMX Inteligencia de violación de datos de DeviceLock identificó un servidor público de Elasticsearch con registros de un determinado IS.

Dos en uno: los datos turísticos y las entradas para eventos culturales estaban a disposición del público

Posteriormente se descubrió que el servidor pertenece al servicio de selección de viajes “Sletat.ru”.

Del índice cto__0 fue posible obtener miles (11,7 mil incluyendo duplicados) de direcciones de correo electrónico, así como cierta información de pago (costos del viaje) y datos del viaje (cuándo, dónde, detalles del boleto aéreo). todos viajeros incluidos en el recorrido, etc.) por un monto de aproximadamente 1,8 mil registros:

"full_message": "Получен запрос за создание платежного средства: {"SuccessReturnUrl":"https://sletat.ru/tour/7-1939548394-65996246/buy/?ClaimId=b5e3bf98-2855-400d-a93a-17c54a970155","ErrorReturnUrl":"https://sletat.ru/","PaymentAgentId":15,"DocumentNumber":96629429,"DocumentDisplayNumber":"4451-17993","Amount":36307.0,"PaymentToolType":3,"ExpiryDateUtc":"2020-04-03T00:33:55.217358+03:00","LifecycleType":2,"CustomerEmail":"[email protected]","Description":"","SettingsId":"8759d0dd-da54-45dd-9661-4e852b0a1d89","AdditionalInfo":"{"TourOfficeAdditionalInfo":{"IsAdditionalPayment":false},"BarrelAdditionalInfo":{"Tickets":[{"Passenger":{"FIO":"XXX VIKTORIIA"},"ReservationSystem":null,"TicketNumber":null,"IsRefundPossible":false},{"Passenger":{"FIO":"XXX ANDREI"},"ReservationSystem":null,"TicketNumber":null,"IsRefundPossible":false},{"Passenger":{"FIO":"XXX Andrei"},"ReservationSystem":null,"TicketNumber":null,"IsRefundPossible":false}],"Segments":[{"Flight":"5659","AviaCompany":null,"AviaCompanyIataCode":null,"DepartureCity":"LED","DepartureAirport":"LED","DepartureAirportIataCode":"LED","DepartureDate":"2019-04-11T02:45:00","DepartureTime":null,"ArrivalCity":"SHJ","ArrivalAirport":"SHJ","ArrivalAirportIataCode":"SHJ","ArrivalDate":"2019-04-11T09:40:00","ArrivalTime":null,"FareCode":null},{"Flight":"5660","AviaCompany":null,"AviaCompanyIataCode":null,"DepartureCity":"SHJ","DepartureAirport":"SHJ","DepartureAirportIataCode":"SHJ","DepartureDate":"2019-04-14T10:45:00","DepartureTime":null,"ArrivalCity":"LED","ArrivalAirport":"LED","ArrivalAirportIataCode":"LED","ArrivalDate":"2019-04-14T15:50:00","ArrivalTime":null,"FareCode":null}]},"Tickets":[{"Passenger":{"FIO":"XXX VIKTORIIA"},"ReservationSystem":null,"TicketNumber":null,"IsRefundPossible":false},{"Passenger":{"FIO":"XXX ANDREI"},"ReservationSystem":null,"TicketNumber":null,"IsRefundPossible":false},{"Passenger":{"FIO":"XXX Andrei"},"ReservationSystem":null,"TicketNumber":null,"IsRefundPossible":false}],"Segments":[{"Flight":"5659","AviaCompany":null,"AviaCompanyIataCode":null,"DepartureCity":"LED","DepartureAirport":"LED","DepartureAirportIataCode":"LED","DepartureDate":"2019-04-11T02:45:00","DepartureTime":null,"ArrivalCity":"SHJ","ArrivalAirport":"SHJ","ArrivalAirportIataCode":"SHJ","ArrivalDate":"2019-04-11T09:40:00","ArrivalTime":null,"FareCode":null},{"Flight":"5660","AviaCompany":null,"AviaCompanyIataCode":null,"DepartureCity":"SHJ","DepartureAirport":"SHJ","DepartureAirportIataCode":"SHJ","DepartureDate":"2019-04-14T10:45:00","DepartureTime":null,"ArrivalCity":"LED","ArrivalAirport":"LED","ArrivalAirportIataCode":"LED","ArrivalDate":"2019-04-14T15:50:00","ArrivalTime":null,"FareCode":null}]}","FinancialSystemId":9,"Key":"18fe21d1-8c9c-43f3-b11d-6bf884ba6ee0"}"

Por cierto, los enlaces a tours pagos funcionan bastante bien:

Dos en uno: los datos turísticos y las entradas para eventos culturales estaban a disposición del público

En índices con nombre grislog_ en texto claro estaban los nombres de usuario y contraseñas de las agencias de viajes conectadas al sistema Sletat.ru y que vendían tours a sus clientes:

"full_message": "Tours by request 155213901 added to local cache with key 'user_cache_155213901' at 5/6/2019 4:49:07 PM, rows found 0, sortedPriceLength 215. QueryString: countryId=90&cityFromId=1265&s_nightsMin=6&s_nightsMax=14&stars=403%2c404&minHotelRating=1&currencyAlias=RUB&pageSize=300&pageNumber=1&s_showcase=true&includeOilTaxesAndVisa=0&login=zakaz%40XXX.ru&password=XXX, Referer: , UserAgent: , IP: 94.154.XX.XX."

Según mis estimaciones, se mostraron varios cientos de pares de inicio de sesión/contraseña.

Desde la cuenta personal de la agencia de viajes en el portal. agente.sletat.ru fue posible obtener datos de los clientes, incluidos números de pasaporte, pasaportes internacionales, fechas de nacimiento, nombres completos, números de teléfono y direcciones de correo electrónico.

Dos en uno: los datos turísticos y las entradas para eventos culturales estaban a disposición del público

Notifiqué al servicio Sletat.ru el 15.05.2019/10/46 a las 16:00 (hora de Moscú) y unas horas después (hasta las XNUMX:XNUMX) desapareció de su acceso gratuito. Posteriormente, en respuesta a la publicación en Kommersant, la dirección del servicio hizo una declaración muy extraña a través de los medios:

El director de la empresa, Andrei Vershinin, explicó que Sletat.ru proporciona a varios operadores turísticos asociados importantes acceso al historial de consultas en el motor de búsqueda. Y supuso que DeviceLock lo recibió: "Sin embargo, la base de datos especificada no contiene los datos del pasaporte de los turistas, los nombres de usuario y contraseñas de las agencias de viajes, la información de pago, etc." Andrei Vershinin señaló que Sletat.ru aún no ha recibido pruebas de acusaciones tan graves. “Ahora estamos intentando comunicarnos con DeviceLock. Creemos que esto es una orden. A algunas personas no les gusta nuestro rápido crecimiento”, añadió. "

Como se muestra arriba, los inicios de sesión, contraseñas y datos de pasaportes de los turistas estuvieron en el dominio público durante bastante tiempo (al menos desde el 29.03.2019 de marzo de XNUMX, cuando el motor de búsqueda Shodan registró por primera vez el servidor de la empresa en el dominio público). Por supuesto, nadie se puso en contacto con nosotros. Espero que al menos hayan notificado a las agencias de viajes sobre la filtración y las hayan obligado a cambiar sus contraseñas.

Las noticias sobre filtraciones de información y personas con información privilegiada siempre se pueden encontrar en mi canal de Telegram "Fugas de información".

Fuente: habr.com

Añadir un comentario