All your GSM numbers are belong to us!

Zaczęło się od wpisu Montera o skopanej wysyłce MMS do wielu osób. Long story short: jeśli wiadomość MMS jest wysyłana do kilku osób, to odbiorcy widzą wszystkie numery, na które została wysłana. Analogicznie jak przy wielu odbiorcach w polu To lub Cc w przypadku email (zamiast Bcc).

Telefon komórkowy

Źródło: http://www.publicdomainpictures.net/view-image.php?image=692

Moja teza jest jednak taka, że zjawisko, choć złe, nie jest aż tak tragiczne, na jakie wygląda. Odbiorca dostaje co prawda listę numerów z książki adresowej, ale nie wie do kogo należą i czy w ogóle działają. Może jedynie porównać tę listę ze znanymi sobie numerami i ustalić, jakich mają wspólnych znajomych. Albo zrobić brute force i dzwonić wszędzie (hell yeah, automaty tak robią podobno…).

Całe zdarzenie jest dla mnie porównywalne z listą PINów wszystkich ludzi na świecie (tak, wasz też tam jest, mój zresztą też), jeśli chodzi o naruszenie prywatności czy bezpieczeństwa. Postanowiłem więc zrobić listę wszystkich polskich numerów komórkowych. W trakcie tworzenia, już po pierwszym prefiksie zwątpiłem – plik miał około 100 MB surowych danych, do tego tagi HTML…

Zatem zamiast ryby – wędka i zestaw DIY do stworzenia listy wszystkich polskich numerów GSM. Na podstawie listy polskich prefiksów GSM przypisanych operatorom i odrobiny magii w Perlu, każdy może sobie wygenerować taką listę.

Blox nie lubi nawiasów ostrych, więc wklejka na zewnętrznym serwisie:

Całość działa tak długo, dopóki Wikipedia nie zmieni formatu publikowania artykułów. Klepnięte na kolanie, nieoptymalizowane w żaden sposób. U mnie wygenerowanie wszystkich numerów ww. skryptem trwa od dwóch do czterech minut. Have fun!

PS Wygląda, że w Polsce może być 110300000 numerów telefonów komórkowych. Nie odliczam niewykorzystanych prefiksów itp.

Smssender 0.9

Odezwał się użytkownik (ha! ktoś jednak tego używa! ;-)), że Mobitex przestał działać i zwraca status 104. Z racji niezbyt wczesnej pory lub po prostu zmęczenia[1], poszukałem pomocy nie u tego dostawcy, co trzeba. Ale albo statusy są zbieżne, albo dobry człowiek sprawdził we właściwej dokumentacji. Status 104, czyli brak zdefiniowanego From. Faktycznie, nie obsługiwałem tego. Tzn. była sobie zmienna w skrypcie, którą można było w skrypcie wyedytować. Niezbyt to piękne, więc w wersji 0.9 dodałem obsługę From w pliku konfiguracyjnym.

[1] Ślady zmęczenia widoczne w githubie, tak to jest jak się siada wieczorem do skryptu nietykanego od ponad roku.

Uroki korzystania z telefonu starego typu na przykładzie pobierania aplikacji moBILETu

Od początku lipca zmieniły się ceny biletów w Poznaniu[1]. Jestem przekleństwem sprzedawców telefonów GSM i od 6 lat mam niezawodny telefon Nokia 3110c. Z Javą. Bateria od początku ta sama, trzyma tydzień, ale mniejsza. Próbowałem zaktualizować cennik dla Poznania – system wykonał błąd itp. komunikaty. „OK, bywa” – myślę. Spróbowałem parokrotnie, w różnych dniach – to samo. Stwierdziłem, że zaktualizuję aplikację, tym bardziej, że w sumie nie wiem, czy to mój system wykonał błąd, czy moBILETu.

Przypomnienie hasła działa OK, teraz możesz się zalogować. Natomiast loginu nie sposób przypomnieć, a zalogować można się tylko jednym, wybranym kiedyś sposobem i może to być numer telefonu, adres email (który?), login (jaki?). A może błędne hasło, bo jeszcze coś się nie zaktualizowało? Nie wiadomo, bo komunikat to Niepoprawne hasło lub nazwa użytkownika. Proszę sprawdzić wpisywane dane. Skądinąd słuszny, ale czemu nie ma możliwości przypominania loginu? Np. wysyłanie go na adres email podany w systemie (hasło można przypomnieć tylko na komórkę, więc wysyłanie loginu na komórkę to słaby pomysł w przypadku jej przejęcia).

OK, w końcu zalogowałem się. Wybieram pobranie aplikacji, przepisuję CAPTCHA. Bo nie ma po prostu „pobierz”, jest personalizowany, unikatowy link, pod konkretny model telefonu (moBILET ma te dane u siebie) ważny 30 minut[2]. Kiedyś przysyłano SMS pobierający aplikację od razu na komórkę. Teraz nie. Zwykły SMS z linkiem. O takim: http://p.mobilet.info/ota/m/?DQ2OFQPTHN Zastanawiam się, jaki piękny umysł na to wpadł. Po pierwsze, na telefonach starego typu nie ma multitaskingu, więc trzeba gdzieś zapisać na boku. Po drugie, klepanie 43 znaków klasy wielkie, małe litery i znaki specjalne na komórce starego typu (a wiedzą, komu wysyłają linka) to szczyt ergonomii.

I część najlepsza: po dobraniu się do linka dostajemy Server not found (to już komunikat z desktopa). A czemu? Ano temu, że domena p.mobilet.info nie istnieje. Gwoli ścisłości, mobilet.info też nie istnieje. I wygląda na domenę dostępną do rejestracji. Ciekawe czy byłby to dobry sposób rozsyłania malware’u?

Normalnie wronan groteska! A bilet muszę kupić papierowy.

[1] Na absurdalnie drogie, więc korzystam z tego, że nie muszę korzystać z komunikacji miejskiej i poruszam się inaczej, głównie pieszo/rower, a z moBILETu nie korzystam już praktycznie, ale warto mieć bilet pod ręką. Nie to jednak jest przedmiotem notki.

[2] Można to (było) obejść o czym pisałem w notce o zabezpieczeniach moBILETu, ale zachowujmy się jak cywilizowani ludzie.