Odbieranie i dekodowanie kanału downlink systemu GSM

Witajcie,
Kiedyś chciałem się dowiedzieć, jak wyglądają komunikaty wysyłane przez sieć do telefonu komórkowego. Pare miesięcy temu odkryłem, jak to się robi.
Dzisiaj przedstawię wam jak znaleźć nośną systemu GSM,
i używając istniejącego oprogramowania, na żywo, dekodować i odczytywać komunikaty wysyłane przez BTSa.  Do odbioru używam zwyczajnego odbiornika TV RTL-SDR na usb.
Wszystko przedstawione w ramach tego wpisu jest legalne, nie jest łamane żadne szyfrowanie systemu 2G - odczytujemy informacje nieszyfrowane - czyli przesyłane jawnie. Zrzuty ekranu nie zawierają informacji tajnych, są same pożyteczne z punktu widzenia dydaktycznego :D
Najpierw uruchommy program GQRX, w linuxie służy do oglądania widma radiowego. Prześledźmy zakres od 925MHz do 960MHz - uplink pasma numer 8.

Po stronie prawej widzimy nośne systemów 2G - gdzieniegdzie jest system 3G w postaci takiego widma o niskim, ale jednak widocznym z ponad szumu poziomie.

No dobrze, mamy widmo, znamy częstotliwości pracy systemów, ale co dalej?
Z pomocą przychodzi grgsm_livemon, program który dekoduje sygnały z fizycznego kanału rozgłoszeniowego, oraz przekazuje je do dalszej obróbki.
Po wybraniu kanału, wiersz poleceń powinien już sypać danymi które odbiera.



Po uruchomieniu grgsm_livemon




Po ustawieniu dokładnej częstotliwości kanału rozgłoszeniowego




Pozostało nam jeszcze tylko uruchomić program dekodujący jawne informacje nadawane przez BTSa na kanale rozgłoszeniowym.
Program nazywa się simple_IMSI-catcher i tak jak wszystkie inne tu przedstawione jest dostępny publicznie w internecie.

sudo python simple_IMSI-catcher.py -s
Widać numery IMSI do których stacja nadaje, oraz gdzieniegdzie numery TMSI ,
które sieć nadaje abonentowi. Na podstawie LAC oraz CellID można określić lokalizację BTSa, dlatego je zamazałem.

Zobaczmy sobie jeszcze jak wyglądają pakiety w wiresharku...
sudo wireshark -k -Y '!icmp && gsmtap' -i lo



Za pare dni ... a zresztą, sami zobaczycie.

w razie pytań - piszcie maile - cellularz99@intmail.pl

to wszystko na dzisiaj, lecę spać!
dobranoc
M.

Komentarze

  1. Czy numer imsi jest zawsze taki tam i pozwala wykryć czy abonent jest w pobliżu?

    OdpowiedzUsuń
    Odpowiedzi
    1. Imsi jest niezmienne - znajduje się na karcie SIM

      Usuń
    2. Jeżeli jest tak jak mówisz to można w bardzo łatwy sposób sprawdzić czy np. moja dziewczyna jest u koleżanki na wsi (ten sam BTS) czy u mojego kolegi który mieszka 10 km dalej (Wystarczy pojechać w zasięg tamtego BTS i sprawdzić imsi).

      Nie wydaje ci się że to jest duża luka bezpieczeństwa? Wiem że istnieją jeszcze większe luki typu radiostop ale nadal nie mogę uwierzyć że w sieci prywatno komercyjnej w tak łatwy sposób można sprawdzić tak ważną dane która umożliwia wykrycie. Jest jakiś haczyk?

      Usuń
    3. Na szczęście jest tak jak mówisz, ten haczyk, imsi telefon wysyła tylko, kiedy sie do sieci loguje ;) potem wszystko idzie po TMSI.
      Dodatkowych trudności nastręcza to, że nie wiesz na jakim paśmie, i do ktorego btsa się telefon zaloguje, i musisz monitorować 6 kanałow, 3 na 900 3 na 1800, to dodatkowy problem jest

      Usuń

Prześlij komentarz

Popularne posty