Kaks ühes: turismiandmed ja kultuuriürituste piletid olid avalikult kättesaadavad

Täna vaatleme kahte juhtumit korraga - kahe täiesti erineva ettevõtte klientide ja partnerite andmed olid vabalt kättesaadavad “tänu” avatud Elasticsearch serveritele nende ettevõtete infosüsteemide (IS) logidega.

Kaks ühes: turismiandmed ja kultuuriürituste piletid olid avalikult kättesaadavad

Esimesel juhul on tegemist kümnete tuhandete (ja võib-olla ka sadade tuhandete) piletitega erinevatele kultuuriüritustele (teatrid, klubid, jõereisid jne), mida müüakse Radario süsteemi kaudu (www.radario.ru).

Teisel juhul on need andmed tuhandete (võimalik, et mitmekümne tuhande) reisijate turismireiside kohta, kes ostsid ekskursioone Sletat.ru süsteemiga ühendatud reisibüroode kaudu (www.sletat.ru).

Tahan kohe märkida, et ei erine mitte ainult andmete avalikuks muutmist võimaldanud ettevõtete nimed, vaid ka nende ettevõtete lähenemine juhtunu äratundmisele ja sellele järgnev reaktsioon. Aga kõigepealt asjad kõigepealt…

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

Juhtum üks. "Radario"

06.05.2019/XNUMX/XNUMX õhtul meie süsteem avastasin, et Elasticsearchi server on vabalt saadaval, mis kuulub elektroonilisele piletimüügiteenusele Radario.

Juba väljakujunenud kurva traditsiooni kohaselt sisaldas server üksikasjalikke teenuse infosüsteemi logisid, millest oli võimalik hankida isikuandmeid, kasutajate sisselogimisi ja paroole ning elektroonilisi pileteid ise erinevatele üritustele üle kogu riigi.

Kaks ühes: turismiandmed ja kultuuriürituste piletid olid avalikult kättesaadavad

Palkide kogumaht ületas 1 TB.

Shodani otsingumootori andmetel on server olnud avalikult saadaval alates 11.03.2019. märtsist 06.05.2019. Teatasin Radario töötajatele 22 kell 50:07.05.2019 (MSK) ja 09 kell 30:XNUMX muutus server kättesaamatuks.

Logid sisaldasid universaalset (ühtset) autoriseerimisluba, mis võimaldab juurdepääsu kõikidele ostetud piletitele spetsiaalsete linkide kaudu, näiteks:

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

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

Probleemiks oli ka see, et piletite arvestuseks kasutati tellimuste pidevat nummerdamist ja lihtsat piletinumbri loetlemist (XXXXXXXX) või telli (YYYYYYY), oli võimalik kõik piletid süsteemist hankida.

Andmebaasi asjakohasuse kontrollimiseks ostsin endale isegi kõige odavama pileti:

Kaks ühes: turismiandmed ja kultuuriürituste piletid olid avalikult kättesaadavad
Kaks ühes: turismiandmed ja kultuuriürituste piletid olid avalikult kättesaadavad

ja leidsin selle hiljem avalikust serverist IS-i logidest:

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

Eraldi tahan rõhutada, et pileteid oli saada nii juba toimunud üritustele kui ka nendele, mis on veel plaanis. See tähendab, et potentsiaalne ründaja võib planeeritud sündmusele sisenemiseks kasutada kellegi teise piletit.

Iga Elasticsearchi indeks, mis sisaldas ühe konkreetse päeva logisid (alates 24.01.2019 kuni 07.05.2019), sisaldas keskmiselt 25–35 tuhat piletit.

Lisaks piletitele endile sisaldas register sisselogimisi (e-posti aadresse) ja tekstiparoole Radario partnerite isiklikele kontodele juurdepääsuks, kes müüvad selle teenuse kaudu pileteid oma sündmustele:

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

Kokku tuvastati üle 500 sisselogimise/parooli paari. Piletimüügi statistika on nähtav partnerite isiklikel kontodel:

Kaks ühes: turismiandmed ja kultuuriürituste piletid olid avalikult kättesaadavad

Samuti olid avalikult kättesaadavad nende ostjate nimed, telefoninumbrid ja e-posti aadressid, kes otsustasid varem ostetud piletid tagastada:

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

Ühel juhuslikult valitud päeval avastati üle 500 sellise rekordi.

Sain hoiatusele vastuse Radario tehniliselt direktorilt:

Olen Radario tehniline direktor ja tänan teid probleemi tuvastamise eest. Teatavasti oleme elastsele juurdepääsu sulgenud ja lahendame klientidele piletite uuesti väljastamise probleemi.

Veidi hiljem tegi ettevõte ametliku avalduse:

Radario elektroonilises piletimüügisüsteemis avastati ja viivitamatult parandati haavatavus, mis võib kaasa tuua andmete lekke teenuse klientidelt, ütles ettevõtte turundusdirektor Kirill Malõšev Moskva linna uudisteagentuurile.

„Tegelikult avastasime süsteemi töös regulaarsete värskendustega seotud haavatavuse, mis parandati kohe pärast avastamist. Haavatavuse tõttu võis teatud tingimustel kolmandate isikute ebasõbralik tegevus viia andmete lekkeni, kuid intsidente ei fikseeritud. Hetkel on kõik vead kõrvaldatud,” ütles K. Malõšev.

Ettevõtte esindaja rõhutas, et kõik probleemi lahendamise käigus müüdud piletid otsustati uuesti välja anda, et täielikult välistada võimalus teenuse klientide vastu sooritatud pettusteks.

Paar päeva hiljem kontrollisin lekkinud linkide abil andmete saadavust – juurdepääs “paljastatud” piletitele oli tõepoolest kaetud. Minu arvates on see pädev, professionaalne lähenemine andmelekke probleemi lahendamisele.

Juhtum kaks. "Fly.ru"

Varahommikul 15.05.2019 DeviceLocki andmete rikkumise luure tuvastas avaliku Elasticsearchi serveri teatud IS-i logidega.

Kaks ühes: turismiandmed ja kultuuriürituste piletid olid avalikult kättesaadavad

Hiljem tehti kindlaks, et server kuulub reisivalikuteenusele “Sletat.ru”.

Indeksist cbto__0 oli võimalik saada tuhandeid (11,7 tuhat koos duplikaatidega) meiliaadresse, samuti makseteavet (reisikulud) ja reisiandmeid (millal, kus, lennupiletite andmed Kõik reisile kaasatud reisijad jne) umbes 1,8 tuhande kirje ulatuses:

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

Muide, tasuliste ekskursioonide lingid on üsna töötavad:

Kaks ühes: turismiandmed ja kultuuriürituste piletid olid avalikult kättesaadavad

Indeksides koos nimega graylog_ selges tekstis olid Sletat.ru süsteemiga ühendatud ja oma klientidele ekskursioone müüvate reisibüroode kasutajanimed ja paroolid:

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

Minu hinnangul kuvati mitusada sisselogimise/parooli paari.

Reisibüroo isiklikult kontolt portaalis agent.sletat.ru oli võimalik saada klientide andmeid, sh passi numbreid, rahvusvahelisi passe, sünniaegu, täisnimesid, telefoninumbreid ja meiliaadresse.

Kaks ühes: turismiandmed ja kultuuriürituste piletid olid avalikult kättesaadavad

Teavitasin Sletat.ru teenust 15.05.2019 kell 10:46 (MSK) ja mõni tund hiljem (kuni 16:00) kadus see nende vabast juurdepääsust. Hiljem, vastuseks Kommersandis avaldatule, tegi teenuse juhtkond meedia vahendusel väga kummalise avalduse:

Ettevõtte juht Andrei Veršinin selgitas, et Sletat.ru annab mitmetele suurematele partnerreisikorraldajatele juurdepääsu otsingumootoris päringute ajaloole. Ja ta eeldas, et DeviceLock sai selle: "Samas ei sisalda määratud andmebaas turistide passiandmeid, reisibüroode sisselogimisi ja paroole, makseteavet jne." Andrei Veršinin märkis, et Sletat.ru ei ole veel nii tõsiste süüdistuste kohta tõendeid saanud. "Püüame nüüd DeviceLockiga ühendust võtta. Usume, et see on käsk. Mõnele inimesele meie kiire kasv ei meeldi,” lisas ta. "

Nagu ülal näidatud, olid turistide sisselogimised, paroolid ja passiandmed avalikus kasutuses üsna pikka aega (vähemalt alates 29.03.2019. märtsist XNUMX, mil Shodani otsingumootor salvestas ettevõtte serveri esmakordselt avalikku omandisse). Loomulikult ei võtnud keegi meiega ühendust. Loodan, et vähemalt teavitasid nad reisibüroosid lekkest ja sundisid neid paroole muutma.

Uudiseid teabelekete ja siseringi inimeste kohta leiate alati minu Telegrami kanalilt "Infolekked'.

Allikas: www.habr.com

Lisa kommentaar