Două în unu: datele turistice și biletele pentru evenimente culturale au fost disponibile publicului

Astăzi vom analiza două cazuri simultan - datele clienților și partenerilor a două companii complet diferite au fost disponibile gratuit „mulțumită” serverelor Elasticsearch deschise cu jurnalele sistemelor informatice (IS) ale acestor companii.

Două în unu: datele turistice și biletele pentru evenimente culturale au fost disponibile publicului

În primul caz, este vorba de zeci de mii (și poate sute de mii) de bilete pentru diverse evenimente culturale (teatre, cluburi, excursii fluviale etc.) vândute prin sistemul Radario (www.radario.ru).

În cel de-al doilea caz, sunt date despre călătoriile turistice de mii (posibil câteva zeci de mii) de călători care au cumpărat excursii prin agențiile de turism conectate la sistemul Sletat.ru (www.sletat.ru).

Aș dori să remarc imediat că nu numai numele companiilor care au permis ca datele să devină disponibile public diferă, ci și modul de abordare a acestor companii de a recunoaște incidentul și reacția ulterioară la acesta. Dar mai întâi de toate...

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

Cazul unu. "Radario"

În seara zilei de 06.05.2019/XNUMX/XNUMX sistemul nostru a descoperit că serverul Elasticsearch este disponibil gratuit, deținut de serviciul de vânzare electronică de bilete Radario.

Conform tradiției deja înființate, serverul conținea jurnalele detaliate ale sistemului informatic al serviciului, din care se puteau obține date personale, nume de utilizator și parole, precum și biletele electronice în sine pentru diferite evenimente din toată țara.

Două în unu: datele turistice și biletele pentru evenimente culturale au fost disponibile publicului

Volumul total de loguri a depășit 1 TB.

Potrivit motorului de căutare Shodan, serverul este accesibil public din 11.03.2019 martie 06.05.2019. Am anunțat angajații Radario pe 22 la ora 50:07.05.2019 (MSK) și pe 09 la aproximativ 30:XNUMX serverul a devenit indisponibil.

Jurnalele conțineau un simbol de autorizare universal (unic), oferind acces la toate biletele achiziționate prin link-uri speciale, cum ar fi:

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

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

Problema a fost, de asemenea, că pentru a contabiliza biletele, a fost folosită numerotarea continuă a comenzilor și enumerarea simplă a numărului de bilet (XXXXXXXX) sau comanda (AAAAAAA), a fost posibil să obțineți toate biletele din sistem.

Pentru a verifica relevanța bazei de date, chiar mi-am cumpărat cel mai ieftin bilet:

Două în unu: datele turistice și biletele pentru evenimente culturale au fost disponibile publicului
Două în unu: datele turistice și biletele pentru evenimente culturale au fost disponibile publicului

și l-am găsit mai târziu pe un server public în jurnalele IS:

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

Separat, aș dori să subliniez că biletele au fost disponibile atât pentru evenimentele care au avut loc deja, cât și pentru cele care sunt încă în planificare. Adică, un potențial atacator ar putea folosi biletul altcuiva pentru a intra la evenimentul planificat.

În medie, fiecare index Elasticsearch care conținea jurnalele pentru o anumită zi (începând de la 24.01.2019 la 07.05.2019) conținea de la 25 la 35 de mii de bilete.

Pe lângă biletele în sine, indexul conținea date de conectare (adrese de e-mail) și parole text pentru accesul la conturile personale ale partenerilor Radario care vând bilete la evenimentele lor prin acest serviciu:

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

În total, au fost detectate peste 500 de perechi login/parolă. Statisticile vânzărilor de bilete sunt vizibile în conturile personale ale partenerilor:

Două în unu: datele turistice și biletele pentru evenimente culturale au fost disponibile publicului

De asemenea, au fost disponibile public numele, numerele de telefon și adresele de e-mail ale cumpărătorilor care au decis să returneze biletele achiziționate anterior:

"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":""}"

Într-o zi aleasă aleatoriu, au fost descoperite peste 500 de astfel de înregistrări.

Am primit un răspuns la alerta de la directorul tehnic al Radario:

Sunt directorul tehnic al Radario și aș dori să vă mulțumesc pentru identificarea problemei. După cum știți, am închis accesul la elastic și rezolvăm problema reemiterii biletelor pentru clienți.

Puțin mai târziu, compania a făcut o declarație oficială:

O vulnerabilitate a fost descoperită în sistemul electronic de vânzare a biletelor Radario și corectată prompt, ceea ce ar putea duce la o scurgere de date de la clienții serviciului, a declarat directorul de marketing al companiei, Kirill Malyshev, pentru agenția de presă a orașului Moscova.

„De fapt, am descoperit o vulnerabilitate în funcționarea sistemului asociată cu actualizările regulate, care a fost remediată imediat după descoperire. Ca urmare a vulnerabilității, în anumite condiții, acțiunile neprietenoase ale terților ar putea duce la scurgeri de date, dar nu au fost înregistrate incidente. În acest moment, toate greșelile au fost eliminate”, a spus K. Malyshev.

Un reprezentant al companiei a subliniat că s-a decis reemiterea tuturor biletelor vândute în timpul soluționării problemei pentru a elimina complet posibilitatea oricărei fraude împotriva clienților serviciilor.

Câteva zile mai târziu, am verificat disponibilitatea datelor folosind link-urile scurse - accesul la biletele „expuse” a fost într-adevăr acoperit. În opinia mea, aceasta este o abordare competentă și profesională pentru rezolvarea problemei scurgerii de date.

Cazul doi. "Fly.ru"

Dimineața devreme 15.05.2019 DeviceLock Data Breach Intelligence a identificat un server public Elasticsearch cu jurnalele unui anumit IS.

Două în unu: datele turistice și biletele pentru evenimente culturale au fost disponibile publicului

Ulterior s-a stabilit că serverul aparține serviciului de selecție a tururilor „Sletat.ru”.

Din index cbto__0 a fost posibil să se obțină mii (11,7 mii inclusiv duplicatele) de adrese de e-mail, precum și unele informații de plată (costurile turului) și date despre tur (când, unde, detaliile biletului de avion) toate călători incluși în tur etc.) în valoare de circa 1,8 mii înregistrări:

"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"}"

Apropo, linkurile către tururi plătite funcționează destul de mult:

Două în unu: datele turistice și biletele pentru evenimente culturale au fost disponibile publicului

În indexurile cu nume greylog_ în text clar erau datele de conectare și parolele agențiilor de turism conectate la sistemul Sletat.ru și care vindeau tururi clienților lor:

"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."

Conform estimărilor mele, au fost afișate câteva sute de perechi login/parolă.

Din contul personal al agenției de turism pe portal agent.sletat.ru s-au putut obține date despre clienți, inclusiv numere de pașapoarte, pașapoarte internaționale, date de naștere, nume complete, numere de telefon și adrese de e-mail.

Două în unu: datele turistice și biletele pentru evenimente culturale au fost disponibile publicului

Am anunțat serviciul Sletat.ru pe 15.05.2019 la ora 10:46 (MSK) și câteva ore mai târziu (până la ora 16:00) a dispărut din accesul lor gratuit. Mai târziu, ca răspuns la publicarea în Kommersant, conducerea serviciului a făcut o declarație foarte ciudată prin intermediul presei:

Șeful companiei, Andrei Vershinin, a explicat că Sletat.ru oferă unui număr de operatori de turism parteneri importanți acces la istoricul interogărilor din motorul de căutare. Și a presupus că DeviceLock a primit-o: „Cu toate acestea, baza de date specificată nu conține datele pașapoartelor turiștilor, date de conectare și parole ale agențiilor de turism, informații de plată etc.”. Andrei Vershinin a remarcat că Sletat.ru nu a primit încă nicio dovadă a unor acuzații atât de grave. „Încercăm acum să contactăm DeviceLock. Credem că acesta este un ordin. Unii oameni nu le place creșterea noastră rapidă”, a adăugat el. "

După cum se arată mai sus, datele de conectare, parole și pașapoarte ale turiștilor au fost în domeniul public pentru o perioadă destul de lungă (cel puțin din 29.03.2019 martie XNUMX, când serverul companiei a fost înregistrat pentru prima dată în domeniul public de către motorul de căutare Shodan). Desigur, nimeni nu ne-a contactat. Sper că măcar au anunțat agențiile de turism despre scurgere și i-au forțat să-și schimbe parolele.

Știri despre scurgeri de informații și persoane din interior pot fi întotdeauna găsite pe canalul meu Telegram "Scurgeri de informații".

Sursa: www.habr.com

Adauga un comentariu