Changing your MAC address on new Android devices

Few months ago I flashed my Android device with Cyanogenmod-based LegacyXperia ROM. Before that I was using anonymization script, I created that was able to change MAC address, block some Play Store’s services sending unknown binary data and masking device hostname (used by DHCP). Obviously after upgrade, the script stopped working, so I tried to make it work again.

Apparently newer Android systems changed its way of turning wifi on and off (before, MAC changing was just invoking ip command), so now wlan0 interface is not present when it is off and after turning it on device will most likely authenticate to any known network, effectively leaking its HW address. Because of that I needed to find another way.

A bit of research and compiling iw tool later, I found out that when wifi is being turned off by GUI, wifi card kernel module is removed from kernel, so card’s interface as well as its physical device disappear from system. So the first step to make it work is to insert module back (wl12xx_sdio in my case, it seems to be very popular card on Android devices so probably you have the same). Inserting the module, however generates another problem: GUI cannot manipulate wifi now, so we have to do everything manually. The next steps are to invoke wpa_supplicant to authenticate to network and starting DHCP client daemon.

Doing this that way allows us to do one additional thing, increasing our privacy. Since we have to start supplicant ourselves, we can provide custom config to it. And if we have to write script anyway, we could have separate scripts for every network we know. Then we will be (almost) sure that we are connecting to the network we want.

The connecting script is available from my new repository with Android scripts for increasing privacy. I hope there will be more of them in future. As I have written in first paragraph, there are few other things to do. Or maybe there is something more I do not know about, yet…

PS: this script was tested only on Cyanogenmod 10.2 (based on Android 4.3) and may not work on new (5.*) systems.

Posted in Uncategorized | Tagged , , , , , , | Leave a comment

Bezprzewodowe zwyczaje Polaków, czyli statystyki siedmiotysięcznej bazy sieci Wi-Fi

Podstawowe dane

Podstawowe dane

Wiem, że są osoby, które posiadają znacznie większą bazę sieci. W większości przypadków zbierają one wyłącznie najbardziej podstawowe dane. Bardzo często ograniczają się do danych takich jak SSID, BSSID, kanał oraz metoda zabezpieczenia. Posiadanie bardziej szczegółowej bazy nie kosztuje mimo to ani zbyt wiele miejsca, ani też nie utrudnia jej przeglądania. Dlaczego więc nie zapisać wszystkich możliwych danych jakie jest się w stanie poznać? Właśnie z takiego założenia wyszedłem tworząc swoją własną bazę sieci. Jeśli tylko zauważam brak jakiegoś elementu od razu staram się go dodać. Efektem ciągłego r

Ranking SSIDów

Ranking SSIDów

ozwoju jest baza wielkości 7K zawierająca wszystko co można dowiedzieć się o sieci nie wyłączając publicznego adresu IP, jeśli mówimy o hotspocie oczywiście:)

Łącznie baza zawiera 7030 rekordów co widać na obrazku obok. Niestety możliwość określania czy dana sieć jest routerem czy też działa na urządzeniu przenośnym jak np. telefon lub jest drukarką nie udostępniającą połączenia z Internetem (Ad-Hoc) dodałem całkiem niedawno więc takich sieci mam w bazie jedynie 59. Nie wszystkie zostały też z tego powodu określone jako Infrastruktura.

Wśród SSIDów parę dni temu pierwszeństwo objął linksys. Niestety tu ze względu na to, że baza jest mimo wszystko jeszcze dość mała trudno jest stwierdzić, który z nich jest tak naprawdę najpopularniejszy. Ja osobiście postawiłbym jednak na FON_NETIA_FREE_INTERNET a to ze względu na to, że jeszcze kilka miesięcy temu nie miałem ani jednej siec

Kanały 2,4 GHz

Kanały 2,4 GHz

i o takiej nazwie. Jeżeli nie słyszałeś czym są sieci o takiej nazwie proponuję odwiedzić np. tą stronę, szczególnie jeśli jesteś jednym z posiadaczy routera od Netii.

Kolejną ciekawą tabelą jest popularność poszczególnych kanałów. Oczywiście to ,że najpopularniejsze są te o numerach 1, 6 i 11 nie jest niczym dziwnym. Praktycznie nie da się zebrać danych tak, aby któryś z nich nie pojawiał się najczęściej. Ciekawsze jest to, że spośród pozostałych wybija się kanał 10. W tym wypadku wyjaśnienie można znaleźć przeglądając sieci działające na tym kanale: ponad 300 z nich stanowią Livebox-y Telekomunikacji, co daje ponad połowę całości. Najciekawsze jednak są dwie sieci działające na kanale 14. Jak wie każdy kto interesuje się zagadnieniem sieci bezprzewodowych kanał ten jest dozwolony na terenie Japonii. W Polsce można korzystać z pozostałych 13 kanałów. Wygląda więc na to, że są to przypadki ewidentnego łamania prawa. Ciekaw jestem jak będzie wyglądała współpraca takiej sieci (a raczej zakłócenia jakie będzie powodowała) z budowaną przez Aero siecią LTE działającą na 2,5 GHz, na które owy kanał się zazębia.

Jeżeli chodzi o rodzaje zabezpieczeń najpopularniejszy ciągle jest WPA-PSK. Niestety tu także mogą jeszcze występować pewne zniekształcenia. Ich powodem jest fakt, że program wykorzystywany do niedawna do zbierania danych (barbelo) nie rozróżniał WPA od WPA2, więc wszystkie znalezione sieci zapisywane były jako WPA-PSK. Jak widać jednak WPA2 już praktycznie przegonił WPA, dzięki czemu można spokojnie uznać, że to on jest najczęściej wykorzystywany. Amatorzy cudzego internetu mimo wszystko nie mają jeszcze najmniejszych powodów do narzekań. Sieci nie używających szyfrowania wciąż jest całkiem sporo i raczej nie zapowiada się żeby te sieci znikły lub zostały ponownie skonfigurowane. Co ciekawe już na samym początku używania aplikacji od WiGLE udało mi się znaleźć kilka sieci używających dość niestandardowe szyfrowanie WPA Enterprise (41

Rodzaje zabezpieczeń

Rodzaje zabezpieczeń

z WPA w wersji pierwszej i 34 w wersji drugiej). Można przypuszczać, że wśród większych użytkowników WiFi typu dużych firm czy uczelni (te drugie raczej przeważały w tym co mam teraz w bazie) dbałość o bezpieczeństwo jest na całkiem wysokim poziomie.

Wśród producentów dłuższy komentarz jest raczej zbyteczny. Tu całość została w ostatnich latach zdominowana przez chińską firmę TP-Link i raczej nie zanosi się na jakiekolwiek zmiany. No chyba, że dogoni go drugi chiński producent – ZTE. Pozostałe marki przestały się już praktycznie liczyć. Po tym których z nich przybywa najczęściej możnaby sądzić, że innych producentów wybierają już tylko firmy. Szczególnie jeśli chodzi o dawnych “władców” tego rynku – D-Linka i Linksysa. Na korzyść producentów z Chin przemawia na dodatek to, że są oni dość często wybierani przez dostawców internetu a to u nich większość użytkowników kupuje sprzęt.

Na deser zostały statystyki poszczególnych miast. Niestety dość trudno jest określić która sieć gdzie leży w

Ranking producentów

Ranking producentów

ięc także te statystyki są niekompletne. Można mimo to założyć, że podane grupy odzwierciedlają całość tym bardziej, że te kolorowe paski raczej się nie zmieniają. Tu reguła wygląda mniej więcej tak, że im większe miasto tym mieszkańcy bardziej są świadomi zagrożeń związanych z korzystaniem z niezabezpieczonej sieci (a może raczej osoby, które te sieci konfigurują bo założę się, że większość użytkowników nie ma o tym najmniejszego pojęcia). Niestety muszę z przykrością stwierdzić, że moje miasto wypada tu najsłabiej. Częściowo ten problem powoduje lokalny dostawca internetu, ale niestety wśród użytkowników także panuje widać przekonanie, że w tak małym mieście nikt im się nie włamie. Oby.

Na tym kończę dość ogólny mimo wszystko przegląd sieci. Być może gdy uda mi się zebrać więcej danych pokuszę się o kolejne podsumowanie. Takie coś dość dobrze odzwierciedliłoby zmiany we wszystkich poruszonych zagadnieniach. No cóż, w każdym razie nic jeszcze nie obiecuję.

Podział na miasta

Podział na miasta

Posted in Uncategorized | Tagged , , , , , , , , | Leave a comment

Mapa wifi zawieszona po raz kolejny, przesiadka na wigle.net

Od dzisiaj przestaję aktualizować bazę Mapy wifi. Tym samym wszystkie swoje wisiłki w celu utworzenia jak największej bazy urządzeń sieciowych i dzielenia się nimi przerzucam na swoje konto w serwisie wigle.net. Niestety nie udostępnia on możliwości przeglądania baz poszczególnych użytkowników więc przeglądanie znalezionych przeze mnie sieci przestaje być już możliwe. Mapa ze starą bazą wciąż będzie dostępna, ale przestanę usuwać z niej sieci, które znikną bądź już zniknęły z eteru i oczywiście nie zostanie dodana już żadna nowa sieć.

Jak coniektórzy być może już zdążyli zauważyć do bazy wigle udało mi się już dodać całkiem sporo sieci. Poza tym prowadzę jeszcze jedną prywatną bazę sieci. W tej drugiej bazie możliwe jest przechowywanie znacznie większej liczby danych dzięki czemu możliwa jest analiza trendów jakie panują wśród posiadaczy urządzeń sieciowych. W najbliższym czasie postaram się zebrać najciekawsze ze statystyk owej bazy i umieścić je w osobnym wpisie. W tej chwili baza zawiera ponad 3K rekordów a po całkowitym połączeniu jej z bazą jaka utworzyła mi się na androidowej aplikacji wigle na pewno grubo przekroczy 5K. Będzie to więc całkiem wiarygodny materiał do podsumowania tego co w “bezprzewodowej Polsce” jest najpopularniejsze.

Wracając do Mapy wifi istnieje prawdopodobieństwo, że tak jak za każdym poprzednim razem tak i teraz aktualizacje zostaną wznowione. Na razie jednak mam parę innych rzeczy do zrobienia a Mapa ma wśród nich póki co najniższy priorytet.

Posted in News | Tagged , , , , | Leave a comment

[Android] Odblokowywanie kanałów 12, 13, 14

Jak wspomniałem w swoim pierwszym wpisie dotyczącym Androida na tym systemie niemożliwe jest połączenie się z siecią działającą na kanale wyższym niż 11 (a więc takim, który jest zabroniony w USA). Ja jednak nie mieszkam w Stanach i chciałbym, aby mój telefon miał dostęp przynajmniej do tego co nie jest w Polsce nielegalne. Na szczęście udało mi się znaleźć rozwiązanie tego problemu.

Użycie tej metody wymaga dostępu do roota, więc jeśli twój telefon nie został jeszcze zrootowany odsyłam do strony Zeely’ego. Kolejnym wymaganiem będzie zainstalowanie do folderu bin sqlite’a (nie wiedzieć czemu ten, który można używać prze adb przestaje działać gdy wpiszemy w konsoli su). Potrzebne też będzie SDK Adroida (będę używał go, aby przeklejać komendy do konsoli, nada się też każdy emulator terminala np. Terminal IDE, ale tu trzeba będzie wszystko pisać ręcznie). Radzę też żeby koniecznie wykonać backup systemu z użyciem CWM (mnie przy pierwszej próbie coś poszło nie tak i musiałem przywracać kopię z poprzedniego dnia).

  1. Podłączamy telefon do komputera w trybie debugowania USB. Wchodzimy w Ustawienia=>Aplikacje i zaznaczamy Debugowanie USB.
  2. Potem należy uruchomić konsolę Windowsa (lub terminal gdy używamy Linuksa) i przejść do folderu, w którym zainstalowaliśmy SDK. Wpisujemy adb shell. Gdy wszystko pójdzie dobrze powinniśmy być już w konsoli naszego telefonu (pojawi się znak $). Można teraz wpisać su, aby uzyskać uprawnienia roota (# oznacza sukces).
  3. Aby móc zmodyfikować folder /system należy zamontować go do zapisu. Używamy komendy mount, aby odnaleźć odpowiednie urządzenie:
    $ mount
    mount
    rootfs / rootfs ro,relatime 0 0
    tmpfs /dev tmpfs rw,relatime,mode=755 0 0
    devpts /dev/pts devpts rw,relatime,mode=600 0 0
    proc /proc proc rw,relatime 0 0
    sysfs /sys sysfs rw,relatime 0 0
    tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
    tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
    /dev/block/mtdblock0 /system yaffs2 ro,relatime 0 0
    /dev/block/mtdblock3 /data yaffs2 rw,nosuid,nodev,relatime 0 0
    /dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev,relatime 0 0
    /dev/block/mtdblock1 /data/idd yaffs2 rw,nosuid,nodev,relatime 0 0
    [...]
    $

    Właściwa linia została pogrubiona. Wpisujemy więc mount -o remount,rw -t rfs /dev/block/mtdblock0 /system (uwaga! Wartość po /dev/block/ może być inna).

  4. Teraz przenosimy plik sqlite3 (dostępny do pobrania na końcu wpisu) do folderu, w którym zainstalowane jest adb. Otwieramy w tym samym folderze drugie okno konsoli i wpisujemy w nie adb push sqlite3 /sdcard/ czym kopiujemy sqlite3 na kartę pamięci (tutaj ważne jest, żeby karta pamięci NIE była zamontowana w komputerze tj. w trybie MSC).
  5. Wracamy do poprzedniego okna, w którym wpisujemy cp /sdcard/sqlite3 /system/bin oraz chmod 4755 /system/bin/sqlite3.
  6. Na koniec montujemy system znów do odczytu: mount -o remount,ro -t rfs /dev/block/mtdblock0 /system.
  7. Teraz możemy wpisać sqlite3 i sprawdzić czy wszystko poszło pomyślnie. Jeśli tak przechodzimy do modyfikacji właściwego pliku.
  8. Zostajemy w tej samej konsoli (tą drugą można już zamknąć). Wpisujemy: sqlite3 /data/data/com.android.providers.settings/databases/settings.db “INSERT INTO secure (name, value) VALUES (‘wifi_country_code’, ‘JP’);”. Gdybyś nie chciał odblokowywać bądź co bądź zakazanego w Polsce kanału 14 możesz zmienić JP na EU w powyższej linii.
  9. Restartujemy telefon. Gdy system włączy się kanały 12,13 i 14 powinny już zostać odblokowane i powinno być już możliwe połączenie się z siecią na tych kanałach.

Nie jestem w stanie tego teraz sprawdzić, bo już zainstalowałem sqlite3 powyższą metodą, ale najpewniej, aby dokonać jego instalacji wystarczyłoby użyć jakiegokolwiek menadżera umożliwiającego modyfikację folderu /system. Potem wystarczyłoby tym samym programem zmienić chmody tak, aby możliwe byłoby wykonywanie pliku. Tym samym możnaby wtedy pominąć punkty 3-6.

Posted in Tutorials | Tagged , , , , , , , | Leave a comment