20:31
17/10/2021

Każdy kto wszedł na specjalną podstronę w domenie Plusa, mógł podejrzeć dane klientów Plusa i jego drugiej marki, Plusha. Można było ustalić do kogo należy dany numer telefonu a także uzyskać dostęp do PESEL-i, adresów zamieszkania klientów i innych danych. Pewnie nie o takim prezencie na swoje 25-lecie marzył Plus…

Dostęp przez niezabezpieczone API

Pobieranie danych klientów i zarządzanie innymi systemami wewnętrznymi Plusa i Plusha umożliwiało publicznie dostępne, niezabezpieczone żadnym tokenem API (czyli interfejs programowania aplikacji, służący programistom do wygodniejszego sterowania systemami informatycznymi). Plus swoje API udostępnił bez żadnego zabezpieczenia pod następującymi adresami:

api.plus.pl/api
api.plushbezlimitu.pl/api

Zazwyczaj, aby z jakimś API “porozmawiać”, trzeba znać nie tylko jego adres, ale także nazwy metod (funkcji) i przyjmowanych przez nie parametrów. Nie zawsze łatwo jest je przewidzieć, ale w przypadku Plusa z pomocą przychodziła udostępniona dokumentacja do API. Bardzo precyzyjnie opisywała każdą z metod i przyjmowane przez nią argumenty:

Na podstawie analizy dokumentacji można było zbudować zapytanie, które zwracało dane klienta dla podanego numeru telefonu:

Jak widać z opisu argumentów, zwracane dane to m.in:

  • imię i nazwisko
  • adres zamieszkania
  • numer dokumentu
  • numer identyfikacyjny (PESEL) / nr dokumentu
  • e-mail

Odnotujmy jednak dwie kwestie, które działały na korzyść klientów, ponieważ mogły utrudnić masowe pobieranie danych na ich temat:

  • API nie dla każdego numeru telefonu klienta Plusa zwracało odpowiedź lub pełne dane (nie wszyscy musieli przecież podać np. adres e-mail)
  • API nie zawsze zwracało dane szybko (ale wolna praca chyba nikogo, kto kiedykolwiek korzystał z internetowego konta abonenta Plusa nie powinna dziwić)

Reakcja Plusa

Pytania w sprawie otwartego API skierowaliśmy do Plusa w poniedziałek 11 października o godzinie 16. Po 20 minutach otrzymaliśmy potwierdzenie otrzymania zgłoszenia, a we wtorek zapewniono nas, że dział odpowiedzialny za bezpieczeństwo działa w temacie. Poproszono nas też o więcej czaSu na przekazanie odpowiedzi. Kolejnego dnia, w środę, Plus obiecał przesłać odpowiedzi na nasze pytania w czwartek, ale w czwartek ponownie poprosił o więcej czasu. Finalnie, odpowiedzi i informacje o usunięciu błędu otrzymaliśmy w piątek o godzinie 18:00.

Zanim je wkleimy, chcieliśmy pochwalić operatora za kontakt. Byliśmy informowani o statusie działań. Od siebie dodamy też, że już we wtorek ograniczono dostęp do metod API, a w czwartek spod adresów endpointa usunięto jego klienta webowego wraz z dokumentacją.

A teraz nasze pytania i oświadczenie nadesłane przez Plusa:

– od kiedy dostęp do API był niezabezpieczony?
– co było przyczyną udostępnienia tego API bez uwierzytelnienia?
– czy ktoś zgłaszał tę lukę?
– czy problem dotyczył wszystkich klientów Plusa i Plusha?
– do jakiego zakresu danych związanych z klientem można było uzyskać dostęp odpytując to API?
– co teraz powinni zrobić klienci Plusa?

A oto odpowiedzi Plusa:

W jednym z naszych systemów teleinformatycznych wykryty został błąd związany z funkcjonowaniem API. Błąd ten wystąpił w związku z przeprowadzoną aktualizacją systemu. W jego wyniku istniała potencjalna możliwość uzyskania nieuprawnionego dostępu do danych zarządzanych przez spółkę. Luka umożliwiała wywołanie pojedynczych rekordów zawierających m.in. dane osobowe poprzez wykonanie odpowiedniego zapytania w API.
Luka w zabezpieczeniach została wykryta przez ekspertów, a nie przez hakerów. Zostaliśmy o niej poinformowani w poniedziałek, 11 października. Błąd został niezwłocznie usunięty, po kilkunastu godzinach, od 12 października nasz system jest odpowiednio zabezpieczony. W ostatnich dniach przeprowadzaliśmy kompleksowe testy i weryfikacje, które miały na celu sprawdzenie bezpieczeństwa systemu po wyeliminowaniu luki. Przebiegły one pozytywnie.
Po wnikliwej weryfikacji stwierdziliśmy, że nieznacznie zwiększona liczba wszystkich zapytań – o kilkadziesiąt sztuk – kierowanych do naszej bazy występowała od 5 października. Nie stwierdziliśmy, by w okresie istnienia luki miało miejsce masowe nieuprawnione odpytywanie o dane. Jedyne zarejestrowane zdarzenia związane z tym incydentem, zgodnie z naszymi ustaleniami na ten moment, dotyczą diagnozowania błędu przez ekspertów, którzy nas o nim poinformowali. Łącznie w tym okresie mówimy o kilkudziesięciu rekordach, których dotyczył nieautoryzowany dostęp.
W wymaganym przepisami prawa terminie zgłosiliśmy do UODO zaistnienie opisywanego błędu systemowego. Klienci, których części danych dotyczył nieautoryzowany dostęp, zostaną indywidualnie poinformowani przez naszą spółkę. Dane pozostałych naszych klientów są bezpieczne.
Pozdrawiam, Tomasz Matwiejczuk, Dyrektor ds. Komunikacji Korporacyjnej, Rzecznik Prasowy

Podsumowując, do odsłonięcia niezabezpieczonego API doprowadziła aktualizacja. Plus nie wie jeszcze, kiedy dokładnie to nastąpiło (ale my mamy pewne tropy, o których niżej). Operator zauważył większy ruch do API 5 października, co może sugerować, że wtedy ktoś z luki skorzystał. Choć Plus w swojej odpowiedzi nie wskazał zakresu danych, do których API umożliwiało dostęp, to część z nich (dane osobowe klientów) widzicie, bo wymieniliśmy je wcześniej w artykule, bazując na nazwach zwracanych przez API parametrów). Obecnie Plus analizuje logi związane z działaniem API i będzie się kontaktował z klientami, których dane mogły zostać za pomocą tego API pobrane.

Dziura ma aż 5 miesięcy?

Niestety, wygląda na to, że osoby które miały świadomość istnienia tego API, mogły mieć wystarczająco dużo czasu, aby dane klientów pobrać. Wedle serwisu Archive.org, API było publicznie dostępne już od co najmniej 15 czerwca 2021 roku:

Oczywiście ciężko jest na podstawie tego śladu z całą pewnością stwierdzić, że metody pozwalające na pobieranie danych o klientach wtedy działały tak jak w zeszłym tygodniu, tj. umożliwiały dostęp do danych klientów.

Podmiana treści na stronie internetowej Plusa…

Warto też wspomnieć, że dostęp do API to nie tylko pobieranie danych. To także ich zmiana lub tworzenie. A jak wynika z opisu niektórych metod w dokumentacji udostępnionej przez Plusa, część z nich — przynajmniej z nazwy — to takie metody, które dają możliwość sterowania treścią, jaka wyświetla się osobom odwiedzającym stronę internetową Plusa.

Osoba, która uzyskałaby dostęp do modyfikacji treści stron internetowych operatora, mogłaby:

  • Podsłuchiwać wprowadzane przez klientów dane, np. hasła podczas logowania
  • Podmieniać wprowadzane przez klientów dane, np. te dotyczące doładowania, przejmując je i okradając klientów
  • Oszukiwać klientów, wyświetlając atrakcyjne, ale kłamliwe promocje/bannery. Obiecując korzyści w zamian za np. jednorazową wpłatę przy pomocy karty płatniczej, wyłudzając tym samym dane karty klienta.

Zapytaliśmy Plusa, czy za pomocą tego API możliwe było podmienianie treści lub umieszczenie własnych treści na stronach internetowych Plusa i Plusha. Operator odpowiedział tak:

Nie było możliwości ingerowania w treści na stronie sklepu, ani podmiany elementów strony głównej.

Nie dysponujemy informacjami, które mogłyby niezależnie potwierdzić lub zaprzeczyć temu oświadczeniu. Jak najbardziej mogło być tak, jak twierdzi Plus — metody choć obecne, efektywnie nie powodowały żadnych zmian.

API to cenne dane, przydatne w OSINT

Wiele firm udostępnia swoje API, a w ramach niego można otrzymać więcej danych niż przez aplikację mobilną lub serwis internetowy, które z tego API korzystają (por. Wyciek danych użytkowników politycznej aplikacji Szymona Hołowni).

Tematowi API, a dokładniej pozyskiwaniu za pomocą różnych API informacji na temat osób i firm poświęciliśmy sporą część naszego Internetowego Kursu OSINT-u.

Na dniach zostanie do niego dodana dodatkowa lekcja poświęcona rekonesansowi technicznemu, w ramach której pokażemy jak namierzać API różnych firm i wykorzystywać je do zdobywania informacji. Zaraz potem finalnie kończymy pierwszą edycję kursu i z modelu “zapłać raz i miej dostęp do materiałów na zawsze” przechodzimy na model subskrypcyjny. Materiały wciąż będą aktualizowane, ale nowi uczestnicy, jeśli będą chcieli mieć dostęp do nowości, będą musieli swój przedłużać ważność swojego konta.

To samo dotyczy dostępu do grupy ponad 2000 osób z różnych branż, którzy wzajemnie sobie pomagają i nie raz pokazali, że potrafią zrobić użytek z różnych osintowych technik (por.Kto stoi za podejrzaną zbiórką na Franka?).

Jeśli więc ktoś planował dołączyć do kursu, to w zasadzie jest to ostatni moment, aby zrobić to z korzyścią, jaka już nie wróci, nie przegap jej.

PS. A jeśli jesteś programistą i chciałbyś dowiedzieć się jak poprawnie zabezpieczyć swoje API przed nadużyciem, to zapraszamy na nasze szkolenie z Atakowania i Ochrony Webaplikacji. Tutaj znajdziesz najbliższe terminy i miasta.

Przeczytaj także:


Dowiedz się, jak zabezpieczyć swoje dane i pieniądze przed cyberprzestępcami. Wpadnij na nasz kultowy ~3 godzinny wykład pt. "Jak nie dać się zhackować?" i poznaj kilkadziesiąt praktycznych i przede wszystkim prostych do zastosowania porad, które skutecznie podniosą Twoje bezpieczeństwo i pomogą ochronić przed atakami Twoich najbliższych. Uczestnicy tego wykładu oceniają go na: 9,34/10!

Na ten wykład powinien przyjść każdy, kto korzysta z internetu na smartfonie lub komputerze, prywatnie albo służbowo. Wykład prowadzimy prostym językiem, wiec zrozumie go każdy, także osoby spoza branży IT. Dlatego na wykład możesz spokojnie przyjść ze swoimi rodzicami lub mniej technicznymih znajomych. W najbliższych tygodniach będziemy w poniższych miastach:

Zobacz pełen opis wykładu klikając tutaj lub kup bilet na wykład klikając tu.

48 komentarzy

Dodaj komentarz
  1. API przeważnie udostępnia WSDL, z którego można wyczytać wszystkie funkcje z parametrami i zakres zwracanych odpowiedzi. :)

    • SOAP może udostępniać WSDL, ale nie musi. W REST API nie ma WSDL.

    • @emes, za to struktura REST API powinna być łatwa do odkrycia
      Zresztą, brak instrukcji nie jest zabezpieczeniem. Nie po to wymyślono uwierzytelnienie i autoryzację, aby z nich nie korzystać.

    • Sądząc po screenshocie, to byl GraphQL.

  2. Nawet w adresie było zapisane że dane serwowane są bez limitów ;)

  3. Oby ktoś zrobił sim swapa bydlakom odpowiedzialnym za rejestrację kart SIM.

  4. Skoro zakładają, że eksperci odkryli przed hakerami, to uff – jesteśmy bezpieczni ;)

  5. a co z wirtualnymi sieciami plusa, na przykład a2?

  6. Wygląda jak standardowy endpoint GraphQL

    • Mam numer plusa, myślicie że warto zastrzec dowód osobisty?

  7. Na zrzucie z archive org widać, że strona nie robi przekierowania do https tylko zwracała ten web UI po http. Ciekawe czy coś, co korzysta z tego API odpytuje to po https czy nieszyfrowane lata między serwerami

  8. Czy to API zwracało dane właścicieli pre-paidów? Czy tylko tych co mieli abonament?

    • Wszystkich

  9. No bez przesady. API moze oferowac dodatkowe informacje, funkcje ze wzgledow funkcjonalnych, moze nawet oferowac troszke informacji nie dostepnych wprost (takich ktore chociaz nie sa tajne nie chcemy rozglaszac) natomiast oferowanie praktycznie wszystkich danych bez autoryzacji to skrajna glupota jesli nie celowe dzialanie.

    To, ze mamy doczynienia z “wewnetrzna” wymiana informacji nie znaczy ze musi byc ona jawna czy kompletna. Na boga, mamy XXI wiek, nawet zawartosc RAM’u sie szyfruje i to per aplikacja a ktos myslal ze dobrym pomyslem jest wysylanie zawartosci calej bazy w neta tylko ze ktos zadal +/- wlasciwe pytanie?

    Przecierz to nie jest k* zaden problem, wyciagac dane w takiej sytuacji na skale masowa! a jedynym powodem dla ktorego sie tego nierobi jest to ze nikt nie pomyslal ze mozna byc tak glupim… Dokumentacja API i systemow biznesowych jest notorycznie zaniedbywana, ERGO tzw. everybody and their mother ma przynajmniej doswiadczenie jesli nie gotowe aplikacje czy skrypty do wymacywania/mapowania co dokladnie jest po drugiej stronie.

    Ps. Czy przypadkiem nie mamy to doczynienia z “web API”? Pozatym wydaje mi sie ze problemem jest to ze dane sa udostepniane bez autoryzacji raczej niz to ze w oczywistych miejscach, bo to tylko sprawilo ze mozna je bylo dostac przypadkiem raczej niz przy pomocy celowego dzialania…

    • Doprecyzuje (bo jak teraz na to patrze to moze to byc faktycznie niejasne), chodzi mi o to ze profesjonalisci powinni operowac tylko pelnymi nazwami i jednoznacznymi abrewiacjami ;)
      Zastepowanie “dziekuje” – “dzienks”em, “w porzadku” – “wpo” itp. to domena nastolatkow w ten sposob aspirujacych do zostania cool osobą. Jesli technologiczny preffesionalista chce byc cool to wyswietlenie komus napisu ponizej powinno byc minimum jego aspiracji:
      “Wake up, %USERNAME%. The PESEL has you. Follow the wary mailman” :p

  10. Moje dane wyciekly (PLUSH). W piątek dostalam dziwnego smsa z którego wynikalo, ze znane bylo moje imie nazwisko i data urodzenia, w piatek tez byl telefon z nowego numeru. Jesli ktos wezmie na mnie kredyt do Plus bedzie placic!

    • Nic nie zapłacą, bo nie udowodnisz im związku przyczynowo- skutkowego. Nie masz jak dowieść, że to był jedyny wyciek twoich danych.

    • Nic nie będą płacić. W dzisiejszych czasach korporacje nie niosą za nic odpowiedzialności.

    • haha zapomnij, kredyt spłacisz sama. A nawet jeśli UODO ukarze plusa, to kasa pójdzie do skarbu państwa a nie do poszkodowanych.

    • Po tej groźbie pewnie już nerwowo obgryzają paznokcie w polkomtelu :)
      Luzuj majty. Ewentualny kredyt będzie problemem nierzetelnego kredytowacy, który nie dopełnił obowiązku weryfikacji danych osobowych kredytobiorcy. Przecież bez problemu dowiedziesz, że w momencie ewentualnego udzielania kredytu byłaś gdzie indziej i robiłaś coś mądrzejszego niż zadłużanie się u podejrzanego janusza biznesu. Aczkolwiek będzie to kosztować trochę nerwów i czasu na biurokrację.

    • Plush to raczej T-Mobile

    • major – to tak nie działa. Musisz spłacic a później jak już wyjdziesz z więzienia to masz prawo do regresji tylko że pewnie ‘akurat sie przedawni’ albo rura pęknie w magazynie akt

    • > Plush to raczej T-Mobile

      Tak, i dlatego ma w nazwie PLUS i miało wcześniej logo plusa z dopisaną literą H :) W dodatku właścicielem jest Polkomtel, czyli hmmm… jest szansa, że nie masz racji ;)

  11. Czy będzie akcja “cała Polska zmienia PESEL”? :D

    Bo skoro jest 4 operatorów, to można przyjąć że poleciały dane 1/4 Polaków.

    Czy istnieje jeszcze jakiś niewycieknięty człowiek? Chyba tylko ludzie 80+ – 100% “analogowi”.

    • > Chyba tylko ludzie 80+ – 100% “analogowi”.
      To, że ludzie są analogowi nie oznacza, że różne instytucje nie przetwarzają ich danych. Na przykład spółdzielnia mieszkaniowa, służba zdrowia itd.

  12. no i? pewnie właściciela, biedaka, mało to obchodzi a ty szaraku więzienie za sam pomysł sprzedania danych a co dopiero za wyciek

    • Nie ma więzienia za sprzedaż danych, zapytaj prawnika o rabaty za zgody marketingowe.

  13. Czy jest może jakieś info czy w tym API były dostępne dane klientów Cyfrowego Polsatu, np. takich co mają lub mieli w przeszłości od nich net po LTE?

    • zapewne tak, ten sam właściciel, ten sam system i ten sam wór pieniędzy

  14. „Teraz Ty rządzisz” :) danymi

  15. żenada i kompromitacja, do czego srus już nas przyzwyczaił

  16. Dane ciekną na prawo i lewo. Klient nie dostaje żadnego odszkodowania, ani pomocy w ograniczeniu skutków wycieku. Z problemami musi radzić sobie sam. RODO srodo w praktyce

  17. No dobra @Niebezpiecznik, kawał dobrej roboty, nie ma co ukrywać. :) Informacja już w sporej cześci internetów, ale co radzicie zrobić dalej? To, że Plus ma teraz ustawowy obowiązek informować zagrożonych to wiadomo, a tak szczerze, to na ile Plus jest w stanie to wszystko wychwycić? Moi znajomi (Plus) od kilku tygodni dostają dziwnę marketingowe telefony + jakieś “wyspiarskie” numery. Czy najlepiej zaprzyjaźnić się teraz z BIKiem, zakładać tam konta, pobierać aktualne wykazy i kupować roczne pakiety alertów, gdy ktoś nas sprawdza?

  18. No to chyba i ja mam problem. Przez wiele miesięcy błogi spokój, w ciągu kilku ostatnich dni lawina spam telefonów. Gdyby coś takiego przydarzyłoby się małej firmie, jej właściciel byłby potężnie zadłużony do końca życia. No ale nie korpo. Korpo zapłaci kilka milionów do skarbu państwa, a i tak więcej otrzyma z publicznych środków.

    • Nic nie dostaną. Za duza firma i pewnie chroniona umową o ochronie kapitału. Ale sądzę że sprawą zajmie się (miejmy nadzieję) ABW. I mam nadzieję iż stosowny dział wie o tym dlaczego. Ciekawe swoją drogą co na to Pan Generał z dawnego działu bezpieczeństwa NASK?

  19. Czy problem dotyczy też byłych klientów Pusa, którzy przed incydentem przemiesi numer do innego operatora? Od około września zacząłem dostawać masę dziwnych telefonów z losowych numerów, w niektórych rozmowach wiedzieli z jakiego powiatu w Polsce jestem, jednak klientem Plusa nie jestem już od ponad kilku lat, ale zastanawiam się czy to jednak nie jest przyczyną wycieku numeru.

    • @Niebeizpiecznik coś się nie wypowiada, ale pewnie warto założyć, że też może dotyczyć. Jak masz podejrzenia, to pobierz kopię danych z BIKu – znajdziesz pod “Jak pobrać raport BIK za darmo? Poradnik krok po kroku” i wykup alerty na rok.

  20. Brawa dla operatora. Tydzień na zatkanie ewidentnej dziury za udostępnienie której mniejsze firmy puszczono by z dymem. Tydzien! Whow!
    W zamian zostaną pewnie poglaskani po głowce ze tak fajnie udostępniali co popadnie komu popadnie.
    RODO in action!

    • Oj… czepiasz się. To feature był! Nie bug!
      Przecież nawet adres na to wskazuje “API Plus h (przyp: hakuj) bez limitu”

  21. Warto zaznaczyć, że zgodnie z ustawą Prawo telekomunikacyjne do rejestracji numerów prepaid wystarczy imię, nazwisko i numer PESEL. Warto więc poprosić swojego operatora o usunięcie innych danych (o ile są takie wprowadzone). Może to być chyba problematyczne jedynie przy przenoszeniu numeru.

  22. […] e-TOLL można było pobrać dane użytkowników, w tym ich PESEL-e. Winne okazało się znów niezbyt dobrze zabezpieczone API. Po naszym zgłoszeniu Ministerstwo Finansów sprawnie usunęło […]

  23. Miało być “była autoryzacja”.

  24. Odpowiedź Polkomtelu:
    “Nie stwierdzono, by w okresie istnienia luki miało miejsce masowe nieuprawnione
    odpytanie o dane. Jedyne zarejestrowane nieuprawnione zdarzenia związane z tym incydentem dotyczą diagnozowania błędu. Łącznie w tym okresie mówimy o kilkunastu/kilkudziesięciu zapytaniach, w ramach których mógł nastąpić nieautoryzowany dostęp do danych klienta. Osoby, których części danych mógł dotyczyć dostęp, zostały indywidualnie poinformowane przez naszą spółkę. Nie otrzymał Pan takiej wiadomości. Oznacza to, że Pana dane są bezpieczne.”

    Także toretycznie już posprawdzali i kto miał zostać poinformowany, to już został.
    Jednak włącza mi się sceptycyzm.

  25. Mój operator i tak blokuje tunelowanie norton360, a to duży znany operator. Szykujcie się na news dlaczego orange chce szpiegować swoich userow, mówię to na serio bo mam licencję na norton 360 z vpv i na sieci plus lata a na orange blokuje??? lD ?? awaria to trzeba przeanalizować i zgłosić, bo to nie normalne, że nie mogę włączyć tunelu na norton 360 vpn a przełączając się na plus mogę odpalać strone jaką chcę … proszę o rzetelne odpowiedzi i reakcję orange, do której ta wiadomość zostanie też dziś wysłana. :D orange dba o prywatność czy czy nie? bo wg mnie w tym momencie mniej niż plus.

  26. […] OSINT-owych. Jeden z takich błędów API opisywaliśmy rok temu w kontekście operatora Plus (por. Fatalna wpadka Plusa, każdy mógł pobrać dane klientów). Można było wtedy pozyskać komplet danych właściciela karty SIM, od e-maila, przez adres […]

  27. […] W świetle wyroków TSUE projekt PKE nie jest zgodny z unijnymi normami dotyczącymi retencji danych. PKE kontynuuje patologiczne podejście typu “zbierajmy dużo, może się przydadzą”. Co jest kosztowne i ryzykowne, bo jak wiemy, różne dane wyciekają, te wrażliwe też. (por. Wyciek danych 20 000 funkcjonariuszy oraz Fatalna wpadka Plusa, każdy mógł pobrać pełne dane abonentów) […]

  28. […] Metoda points.upcharge zdradza, że jest to API Synerise. Zazwyczaj, żeby takie żądania przeszły, konieczna jest znajomość tokena z odpowiednimi uprawnieniami, choć nie zawsze — por. Fatalna wpadka Plusa, można było pobrać dane klientów przez API […]

  29. Dane ukradzione plus-owi są właśnie wykorzystywane do sporego oszustwa. Dostałem email z fałszywą fakturą. Email, który był świetnie spreparowany posługiwano się prawidłowymi danymi, takimi jak numer klienta i nazwa mojej firmy.

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: