MójDroid.pl

Poradnik: Sprawdzamy, jakie dane wysyła nasz Android /bez naszej wiedzy/

2011-01-11
|
Damian P.

Android od początku swojego istnienia jest określany jako "system stworzony na potrzeby internetu". Wiąże się z tym polityka Google jak i aplikacji pisanych pod niego. Dosyć często mówi się też o tym, że nasze dane są co chwila wysyłane daleko w świat, bez naszej wiedzy (sam o tym pisałem kilka razy). Oto poradnik, gdzie sprawdzimy co naprawdę wysyła Android w sieć za pomocą PC i małej aplikacji tego samego producenta.

1. Wersja PC - dokładna

Po pierwsze - będziemy potrzebowali komputera z Linuxem (np. darmowe Ubuntu 10) oraz karty WiFi ze wsparciem dla kismeta (co i jak tutaj). Czemu Linux? Po prostu - jego budowa pozwala nam zaglądać bardzo głęboko w "korzeń systemu" przez co zdolni jesteśmy sprawdzić co się dzieje w danej chwili. Być może podobny soft jest pod Windowsa, ale nie orientuję się w tym. Gdy już mamy wymagany sprzęt to sprawa z góry jest prosta:
1. Podłączamy Androida do sieci Wi-Fi 2. Installujemy i konfigurujemy Kismet 3. "Łapiemy" logi Kismetem 4. Analizujemy log Wireshark'iem
Nic trudnego :) Przynajmniej z pierwszym punktem (warto pobrać też poszczególne MacAdressy kart i kanały na których współpracują, o tym później). Wspierane szyfrowanie to WEP, WPA/WPA2. Instalacja kismeta też nie powinna sprawiać kłopotu (./configure && make && make install). Jest on darmowy a jego głónym zadaniem (jak się domyślacie) jest analiza ruchu IEEE 802.11 / WiFi. Nie jestem guru w tym temacie, ale dodam, że dzięki niemu /włamania/ stają się prostsze :) Dla zorientowanej osoby w temacie, to jedno z lepszych narzędzi do ZŁYCH planów. Potrzebne wam konto Administratora/ROOTa - bo kismet musi zmienić ustawienia waszej sieciówki. - ANALIZUJEMY - Po pierwsze - karta musi pracować bezprzewodowo (a nie po LAN): Uruchamiamy Kismet. Przy pierwszym uruchomieniu dostaniemy oczopląsu - zobaczymy mnóstwo okienek i jeszcze więcej tekstu. Między poszczególnymi elementami poruszamy się myszką, TABulatorem i ENTerem. Kismet powinien od razu uruchomić serwer (ew pojawi się okienko, klikamy tak i start) po czym powinno wyskoczyć powiadomienie o braku źródeł. Dodajemy je (Add Source) wpisując nazwę naszej sieci (standardowo eth1 lub eth0). Przechodzimy do "Opts", gdzie rozkazujemy aplikacji czytać dane z jednego kanału (komenda "hop=false,channel=xx"). Czasami wymagana jest też edycja pliku konfiguracyjnego. Powinien wyglądać on tak (wklejone z oryginału):
# See the README for full information on the new source format
# ncsource=interface:options
# for example:
# ncsource=wlan0
# ncsource=wifi0:type=madwifi
# ncsource=wlan0:name=intel,hop=false,channel=11
ncsource=eth1:type=ipw2200,name=intel,hop=false,channel=1
Po dodaniu źródeł powinny pojawiać się pierwsze logi. - Wireshark - Instalujemy Wireshark'a (z repo.). W nim otwieramy log, który zapisuje Kismet (logi są w katalogu programu, format ".pcapdump"). Należy wskazać też rodzaj szyfrowania (np. WEP). Znowu widzimy miliony linijek kodu. Tutaj konfigurujemy filtry, wpisując "wlan.addr == xx:xx:xx:xx:xx:xx" gdzie za X wstawiamy MAC Adress naszego Androida. Koniec - mamy cały jego ruch:

2. Wersja mobilna - /dużo/ mniej dokładna

Przechodzimy do marketu, gdzie szukamy "Shark" oraz "Shark for ROOT". Tak - są to mobilne programów, których użyto wyżej. Jednak nie są one tak dokładne, brak im filtrów i wielu innych rzeczy. Z pewnością " nie łapią " też wszystkich wysyłanych żądań. Zdecydowanie nie polecam, ale jeżeli już nie chcecie się bawić... Miłego hakowania :)