Dva u jednom: turistički podaci i ulaznice za kulturne događaje bili su javno dostupni

Danas ćemo se osvrnuti na dva slučaja odjednom - podaci klijenata i partnera dvije potpuno različite kompanije bili su besplatno dostupni „zahvaljujući“ otvorenim Elasticsearch serverima sa logovima informacionih sistema (IS) ovih kompanija.

Dva u jednom: turistički podaci i ulaznice za kulturne događaje bili su javno dostupni

U prvom slučaju radi se o desetinama hiljada (a možda i stotinama hiljada) ulaznica za razne kulturne događaje (pozorišta, klubovi, izleti po rijeci, itd.) prodatih preko Radario sistema (www.radario.ru).

U drugom slučaju radi se o podacima o turističkim putovanjima hiljada (eventualno nekoliko desetina hiljada) putnika koji su kupovali putovanja preko turističkih agencija povezanih sa sistemom Sletat.ru (www.sletat.ru).

Odmah napominjem da se ne razlikuju samo imena kompanija koje su omogućile da podaci postanu javno dostupni, već i pristup tih kompanija prepoznavanju incidenta i naknadnoj reakciji na njega. Ali pre svega…

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

Slučaj jedan. "Radario"

U večernjim satima 06.05.2019 naš sistem otkrio da je Elasticsearch server besplatno dostupan, u vlasništvu servisa elektronske prodaje karata Radario.

Po već ustaljenoj tužnoj tradiciji, server je sadržavao detaljne logove informacionog sistema servisa, iz kojih je bilo moguće dobiti lične podatke, korisničke loginove i lozinke, kao i same elektronske ulaznice za razne događaje širom zemlje.

Dva u jednom: turistički podaci i ulaznice za kulturne događaje bili su javno dostupni

Ukupna količina dnevnika premašila je 1 TB.

Prema Shodan pretraživaču, server je javno dostupan od 11.03.2019. marta 06.05.2019. godine. Obavijestio sam zaposlene Radarija 22. u 50:07.05.2019 (MSK) i 09. oko 30:XNUMX server je postao nedostupan.

Dnevnici su sadržavali univerzalni (jedinstveni) token za autorizaciju koji je omogućavao pristup svim kupljenim ulaznicama putem posebnih linkova, kao što su:

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

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

Problem je bio i to što je za obračun karata korišćeno kontinuirano numerisanje naloga i jednostavno nabrajanje broja tiketa (XXXXXXXX) ili naručite (YYYYYYY), bilo je moguće dobiti sve karte iz sistema.

Da provjerim relevantnost baze podataka, čak sam pošteno sebi kupio najjeftiniji ulaz:

Dva u jednom: turistički podaci i ulaznice za kulturne događaje bili su javno dostupni
Dva u jednom: turistički podaci i ulaznice za kulturne događaje bili su javno dostupni

i kasnije ga pronašao na javnom serveru u IS logovima:

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

Posebno bih naglasio da su bile dostupne ulaznice kako za događaje koji su se već odigrali, tako i za one koji su još u planu. Odnosno, potencijalni napadač bi mogao koristiti tuđu kartu za ulazak u planirani događaj.

U prosjeku, svaki Elasticsearch indeks koji sadrži zapise za jedan određeni dan (počevši od 24.01.2019. do 07.05.2019.) sadržavao je od 25 do 35 hiljada karata.

Pored samih ulaznica, indeks je sadržavao prijave (e-mail adrese) i tekstualne lozinke za pristup ličnim nalozima Radario partnera koji prodaju ulaznice za svoje događaje putem ovog servisa:

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

Ukupno je otkriveno više od 500 parova login/lozinke. Statistika prodaje ulaznica vidljiva je u ličnim računima partnera:

Dva u jednom: turistički podaci i ulaznice za kulturne događaje bili su javno dostupni

Javno su dostupna i imena, brojevi telefona i email adrese kupaca koji su odlučili da vrate ranije kupljene karte:

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

U jednom nasumično odabranom danu otkriveno je više od 500 takvih zapisa.

Dobio sam odgovor na upozorenje od tehničkog direktora Radarija:

Ja sam tehnički direktor Radarija i želio bih da vam se zahvalim što ste otkrili problem. Kao što znate, zatvorili smo pristup elastičnim i rješavamo pitanje ponovnog izdavanja karata za klijente.

Nešto kasnije kompanija je dala zvaničnu izjavu:

Otkrivena je ranjivost u sistemu elektronske prodaje karata Radario i brzo ispravljena, što bi moglo dovesti do curenja podataka od klijenata usluge, rekao je direktor marketinga kompanije Kiril Mališev za Moskovsku gradsku novinsku agenciju.

„Zapravo smo otkrili ranjivost u radu sistema povezanu sa redovnim ažuriranjima, koja je ispravljena odmah nakon otkrivanja. Kao rezultat ranjivosti, pod određenim uslovima, neprijateljski postupci trećih lica mogli bi dovesti do curenja podataka, ali incidenti nisu zabilježeni. U ovom trenutku, svi kvarovi su otklonjeni”, rekao je K. Malyshev.

Predstavnik kompanije je naglasio da je odlučeno da se sve karte prodate tokom rješavanja problema reizdaju kako bi se u potpunosti eliminisala mogućnost bilo kakve prevare prema klijentima usluge.

Nekoliko dana kasnije, provjerio sam dostupnost podataka pomoću linkova koji su procurili - pristup „izloženim“ tiketima je zaista bio pokriven. Po mom mišljenju, ovo je kompetentan, profesionalan pristup rješavanju problema curenja podataka.

Slučaj dva. "Fly.ru"

Rano ujutro 15.05.2019 DeviceLock Data Breach Intelligence identifikovao javni Elasticsearch server sa evidencijama određenog IS-a.

Dva u jednom: turistički podaci i ulaznice za kulturne događaje bili su javno dostupni

Kasnije je utvrđeno da server pripada servisu za odabir tura “Sletat.ru”.

Iz index cbto__0 bilo je moguće dobiti hiljade (11,7 hiljada uključujući duplikate) adresa e-pošte, kao i neke informacije o plaćanju (troškovi putovanja) i podatke o turneji (kada, gdje, detalji avio karte всех putnici uključeni u turu itd.) u iznosu od oko 1,8 hiljada zapisa:

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

Usput, linkovi na plaćene ture prilično rade:

Dva u jednom: turistički podaci i ulaznice za kulturne događaje bili su javno dostupni

U indeksima sa imenom sivi log_ u jasnom tekstu bili su login i lozinke turističkih agencija povezanih sa sistemom Sletat.ru i koje prodaju putovanja svojim klijentima:

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

Prema mojim procjenama, prikazano je nekoliko stotina parova login/password.

Sa ličnog naloga turističke agencije na portalu agent.sletat.ru bilo je moguće dobiti podatke o klijentima, uključujući brojeve pasoša, međunarodne pasoše, datume rođenja, puna imena, brojeve telefona i email adrese.

Dva u jednom: turistički podaci i ulaznice za kulturne događaje bili su javno dostupni

Obavijestio sam servis Sletat.ru 15.05.2019 u 10:46 (MSK) i nekoliko sati kasnije (do 16:00) nestao je iz njihovog slobodnog pristupa. Kasnije, kao odgovor na objavu u Kommersantu, uprava službe dala je vrlo čudnu izjavu kroz medije:

Šef kompanije Andrej Veršinjin objasnio je da Sletat.ru omogućava brojnim velikim partnerskim turoperatorima pristup istoriji upita u pretraživaču. I pretpostavio je da ga je DeviceLock primio: “Međutim, navedena baza podataka ne sadrži podatke o putovnicama turista, prijave i lozinke putničke agencije, informacije o plaćanju, itd.” Andrej Veršinjin je napomenuo da Sletat.ru još nije dobio nikakve dokaze o tako ozbiljnim optužbama. “Sada pokušavamo kontaktirati DeviceLock. Vjerujemo da je ovo naredba. Nekima se ne sviđa naš brzi rast”, dodao je. "

Kao što je gore prikazano, prijave, lozinke i podaci o pasošima turista bili su u javnom domenu dosta dugo (barem od 29.03.2019. marta XNUMX. godine, kada je server kompanije Shodan prvi put zabilježen u javnom vlasništvu). Naravno, niko nas nije kontaktirao. Nadam se da su barem o curenju obavijestili turističke agencije i natjerali ih da promijene lozinke.

Vijesti o curenju informacija i insajderima uvijek možete pronaći na mom Telegram kanalu"Curenje informacija".

izvor: www.habr.com

Dodajte komentar