Kaksi yhdessä: turistitiedot ja kulttuuritapahtumien liput olivat julkisesti saatavilla

Tänään tarkastelemme kahta tapausta kerralla - kahden täysin eri yrityksen asiakkaiden ja yhteistyökumppaneiden tiedot olivat vapaasti saatavilla "kiitos" avoimien Elasticsearch-palvelimien tietojärjestelmien (IS) lokeilla.

Kaksi yhdessä: turistitiedot ja kulttuuritapahtumien liput olivat julkisesti saatavilla

Ensimmäisessä tapauksessa nämä ovat kymmeniä tuhansia (ja ehkä satoja tuhansia) lippuja erilaisiin kulttuuritapahtumiin (teatterit, klubit, jokimatkat jne.), joita myydään Radario-järjestelmän kautta (www.radario.ru).

Toisessa tapauksessa nämä tiedot tuhansien (mahdollisesti useiden kymmenien tuhansien) matkailijoiden matkoista, jotka ostivat retkiä Sletat.ru-järjestelmään liitettyjen matkatoimistojen kautta (www.sletat.ru).

Haluan heti huomauttaa, että tietojen julkistamisen mahdollistaneiden yritysten nimet eivät eroa toisistaan, vaan myös näiden yritysten lähestymistapa tapauksen tunnistamiseen ja siihen reagoimiseen. Mutta ensin asiat ensin…

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

Tapaus yksi. "Radario"

Illalla 06.05.2019/XNUMX/XNUMX järjestelmämme havaitsi, että Elasticsearch-palvelin on vapaasti saatavilla, jonka omistaa sähköinen lipunmyyntipalvelu Radario.

Palvelimella oli jo vakiintuneen surullisen perinteen mukaisesti yksityiskohtaiset lokit palvelun tietojärjestelmästä, josta oli mahdollista saada henkilötietoja, käyttäjätunnuksia ja salasanoja sekä itse sähköisiä lippuja eri tapahtumiin eri puolilla maata.

Kaksi yhdessä: turistitiedot ja kulttuuritapahtumien liput olivat julkisesti saatavilla

Tukkien kokonaismäärä ylitti 1 TB.

Shodan-hakukoneen mukaan palvelin on ollut julkisesti saatavilla 11.03.2019. maaliskuuta 06.05.2019 lähtien. Ilmoitin Radarion työntekijöille 22 klo 50 (MSK) ja 07.05.2019 noin klo 09 palvelin poistui käytöstä.

Lokit sisälsivät yleisen (yksittäisen) valtuutustunnuksen, joka tarjosi pääsyn kaikkiin ostettuihin lippuihin erityisten linkkien kautta, kuten:

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

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

Ongelmana oli myös se, että lippujen huomioon ottamiseksi käytettiin jatkuvaa tilausten numerointia ja yksinkertaista lippunumeron numerointia (XXXXXXXXX) tai tilaa (YYYYYYY), oli mahdollista saada kaikki liput järjestelmästä.

Tarkistaakseni tietokannan merkityksen ostin jopa itselleni halvimman lipun:

Kaksi yhdessä: turistitiedot ja kulttuuritapahtumien liput olivat julkisesti saatavilla
Kaksi yhdessä: turistitiedot ja kulttuuritapahtumien liput olivat julkisesti saatavilla

ja löysi sen myöhemmin julkiselta palvelimelta IS-lokeista:

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

Erikseen haluan korostaa, että lippuja oli saatavilla sekä jo toteutuneisiin että vielä suunnitteilla oleviin tapahtumiin. Toisin sanoen mahdollinen hyökkääjä voi käyttää jonkun muun lippua päästäkseen suunniteltuun tapahtumaan.

Keskimäärin jokainen Elasticsearch-indeksi, joka sisälsi lokit yhdeltä tietyltä päivältä (alkaen 24.01.2019 - 07.05.2019), sisälsi keskimäärin 25-35 tuhatta lippua.

Itse lippujen lisäksi hakemisto sisälsi sisäänkirjautumistunnuksia (sähköpostiosoitteita) ja tekstisalasanoja Radario-kumppaneiden henkilökohtaisille tileille pääsyä varten, jotka myyvät lippuja tapahtumiinsa tämän palvelun kautta:

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

Yhteensä havaittiin yli 500 kirjautumistunnus/salasana-paria. Lipunmyyntitilastot näkyvät yhteistyökumppaneiden henkilökohtaisilla tileillä:

Kaksi yhdessä: turistitiedot ja kulttuuritapahtumien liput olivat julkisesti saatavilla

Julkisesti saatavilla olivat myös niiden ostajien nimet, puhelinnumerot ja sähköpostiosoitteet, jotka päättivät palauttaa aiemmin ostetut liput:

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

Yhden satunnaisesti valitun päivän aikana löydettiin yli 500 tällaista tietuetta.

Sain vastauksen hälytykseen Radarion tekniseltä johtajalta:

Olen Radarion tekninen johtaja ja haluan kiittää sinua ongelman tunnistamisesta. Kuten tiedätte, olemme sulkeneet elastisen pääsyn ja ratkaisemme lippujen uudelleen myöntämistä asiakkaille.

Hieman myöhemmin yhtiö antoi virallisen lausunnon:

Radario-lipunmyyntijärjestelmästä löydettiin ja korjattiin viipymättä haavoittuvuus, joka voi johtaa tietovuotoon palvelun asiakkailta, yhtiön markkinointijohtaja Kirill Malyshev kertoi Moskovan kaupungin uutistoimistolle.

"Löysimme järjestelmän toiminnassa säännöllisiin päivityksiin liittyvän haavoittuvuuden, joka korjattiin välittömästi havaitsemisen jälkeen. Haavoittuvuuden seurauksena kolmansien osapuolien epäystävällinen toiminta voi tietyin edellytyksin johtaa tietovuotoon, mutta tapauksia ei kirjattu. Tällä hetkellä kaikki viat on poistettu”, K. Malyshev sanoi.

Yrityksen edustaja korosti, että kaikki ongelman ratkaisun aikana myydyt liput päätettiin laskea uudelleen liikkeeseen, jotta mahdolliset petokset palvelun asiakkaita kohtaan eliminoidaan kokonaan.

Muutamaa päivää myöhemmin tarkistin tietojen saatavuuden vuotaneiden linkkien avulla - pääsy "paljastuneisiin" lippuihin todellakin suojattiin. Mielestäni tämä on osaava, ammattimainen lähestymistapa tietovuotojen ongelman ratkaisemiseen.

Tapaus kaksi. "Fly.ru"

Aikaisin aamulla 15.05.2019 DeviceLock Data Break Intelligence tunnisti julkisen Elasticsearch-palvelimen tietyn IS:n lokeilla.

Kaksi yhdessä: turistitiedot ja kulttuuritapahtumien liput olivat julkisesti saatavilla

Myöhemmin todettiin, että palvelin kuuluu matkanvalintapalveluun "Sletat.ru".

Indeksistä cbto__0 oli mahdollista saada tuhansia (11,7 tuhatta kaksoiskappaleet mukaan lukien) sähköpostiosoitteita sekä joitakin maksutietoja (matkakulut) ja matkatietoja (milloin, missä, lentolippujen tiedot) Kaikki kiertueeseen sisältyvät matkustajat jne.) noin 1,8 tuhatta tietuetta:

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

Muuten, linkit maksullisiin matkoihin toimivat varsin hyvin:

Kaksi yhdessä: turistitiedot ja kulttuuritapahtumien liput olivat julkisesti saatavilla

Nimellisissä hakemistoissa graylog_ selkeänä tekstinä oli Sletat.ru-järjestelmään liitettyjen ja asiakkailleen matkoja myyvien matkatoimistojen käyttäjätunnukset ja salasanat:

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

Arvioideni mukaan näkyi useita satoja kirjautumis-/salasana-pareja.

Matkatoimiston henkilökohtaiselta tililtä portaalissa agent.sletat.ru oli mahdollista saada asiakastietoja, mukaan lukien passin numerot, kansainväliset passit, syntymäajat, täydelliset nimet, puhelinnumerot ja sähköpostiosoitteet.

Kaksi yhdessä: turistitiedot ja kulttuuritapahtumien liput olivat julkisesti saatavilla

Ilmoitin Sletat.ru-palvelulle 15.05.2019 klo 10:46 (MSK) ja muutamaa tuntia myöhemmin (klo 16:00 asti) se katosi heidän vapaasta pääsystään. Myöhemmin, vastauksena Kommersantissa julkaistuun julkaisuun, palvelun johto antoi erittäin kummallisen lausunnon tiedotusvälineiden kautta:

Yrityksen johtaja Andrei Vershinin selitti, että Sletat.ru tarjoaa useille suurimmille matkanjärjestäjille pääsyn hakukoneen kyselyhistoriaan. Ja hän oletti, että DeviceLock sai sen: "Määritetty tietokanta ei kuitenkaan sisällä turistien passitietoja, matkatoimistojen tunnuksia ja salasanoja, maksutietoja jne." Andrei Vershinin huomautti, että Sletat.ru ei ole vielä saanut todisteita tällaisista vakavista syytöksistä. "Yritämme nyt ottaa yhteyttä DeviceLockiin. Uskomme, että tämä on määräys. Jotkut ihmiset eivät pidä nopeasta kasvustamme", hän lisäsi. "

Kuten yllä näkyy, turistien käyttäjätunnukset, salasanat ja passitiedot olivat julkisessa käytössä melko pitkään (ainakin 29.03.2019 lähtien, jolloin Shodan-hakukone tallensi yrityksen palvelimen ensimmäisen kerran julkisesti). Kukaan ei tietenkään ottanut meihin yhteyttä. Toivon, että ainakin he ilmoittivat matkatoimistoille vuodosta ja pakottivat heidät vaihtamaan salasanansa.

Uutisia tietovuodoista ja sisäpiiriläisistä löytyy aina Telegram-kanavaltani"Tietovuotoja'.

Lähde: will.com

Lisää kommentti