Pages: [1] 2   Go Down
Print
Author Topic: WiFi geolocation tool (wilocate)  (Read 11351 times)
Emilio
Newbie
*
Posts: 35


View Profile
« on: January 02, 2011, 07:25:42 PM »

Buondì :D
ho buttato giù un piccolo tool che potrebbe essere utile per la distribuzione, o anche il semplice smanettamento ad utilizzo personale. Il programma raccoglie gli AP wireless visibili dalla nostra macchina, e quera le api di google per conoscerne la localizzazione. Ha uno scarto di circa 200 metri, la localizzazione è incredibilmente buona e senza bisogno di GPS vari. Mi sono ispirato a questo paper http://www.exploit-db.com/papers/15881/ automatizzando il recupero dei mac address.

E' per console, e sono poche decine di linee di python. Quello che volevo era un tool usabile 'a mano', però si possono aggiungere migliorie per integrarlo con altri programmi (possibilità di specificare liste di mac, integrazione con programmi di sniffing wifi per fare wardriving, e altro).

E' possibile anche indicare un mac address a mano (evitando che recuperi automaticamente gli indirizzi degli AP vicini). Se la localizzazione va a buon fine, viene generato l'url per vedere la zona su google maps.

Qua uno screenshot:


Potete scaricarlo da qua http://code.google.com/p/wilocate o più velocemente con il comando

Code:
svn checkout http://wilocate.googlecode.com/svn/trunk/ wilocate
.

Il codice è in beta, brutto cattivo e scritto in un giorno. Si accettano migliorie e opinioni, anche nel caso non sia preso in considerazione per essere integrato in BackBox. Ahn, auguri di buon anno :D
Logged
raffaele
Administrator
Hero Member
*****
Posts: 505


View Profile WWW
« Reply #1 on: January 02, 2011, 10:17:53 PM »

ciao, molto interessante... avevo gia letto qualcosa sulle API di google per la geolocalizzazione ma non avevo approfondito.

potresti migliorare lo script introducendo come prima cosa un l'help da richiamare magari con il classico "./wilocate.py --help" e formattare un po meglio l'output.

inoltre guarda un po qui: http://thunar.xfce.org/plugins.html#thunar-uca

credo che sia il miglior modo per includerlo in backbox Wink
Logged

raffaele@backbox:~$ Get root or die tryin'
Emilio
Newbie
*
Posts: 35


View Profile
« Reply #2 on: January 02, 2011, 11:51:33 PM »

Ciao raffaele
ho scritto l'--help dove spiego anche i simboli della "progress bar" (da rivedere e migliorare).

Non ho capito il riferimento ai menù di thunar,  lo vedi bene come voce del menù del file manager? Non so quanto ci stia bene.. Non che ce lo veda neanche pacchetto singolo, è uno strumento abbastanza fine a se stesso.. non avete una sorta di pacchetto tipo "wireless-tool" dove metterlo? =) Comunque la mia era una segnalazione, vedete voi se e come può essere utile a Back Box.

Una applicazione reale nell'ambito della sicurezza (trovando le giuste motivazioni per farlo =) potrebbe essere una integrazione con kismet o airodump, che tiene un tracciato delle coordinate attraversate durante il wardriving, da dare poi in pasto a google maps o simili stile GPS.
Logged
Emilio
Newbie
*
Posts: 35


View Profile
« Reply #3 on: January 03, 2011, 12:09:32 AM »

Lol non ci vuole niente a disegnare una mappa statica date un pò di coordinate =) Appena ho tempo mi penso qualcosa

http://maps.google.com/maps/api/staticmap?size=480x480600&path=color:0x0000ff|weight:5|40.737102,-73.990318|40.749825,-73.987963|40.752946,-73.987384|40.755823,-73.986397&sensor=true
Logged
raffaele
Administrator
Hero Member
*****
Posts: 505


View Profile WWW
« Reply #4 on: January 03, 2011, 01:39:21 AM »

si in effetti bisogna capire quale scopo deve avere il tuo script... ad esempio per quanto riguarda thunar si potrebbe creare una nuova cartella, selezionarla col tasto destro e tramite l'azione personalizzata salvare al suo interno una mappa con i vari ap o piu semplicemente se si vuole geolocalizzare una lista di ap precedentemente salvati, si potrebbe selezionare il file con i vari indirizzi mac e sempre col tasto destro darlo in pasto al tuo script. come vedi le soluzioni sono infinite, comunque resta il fatto che un pacchetto backbox con una serie di strumenti per la geolocalizzazione sarebbe davvero molto utile.
Logged

raffaele@backbox:~$ Get root or die tryin'
ghostdog
Guest
« Reply #5 on: January 03, 2011, 06:06:45 PM »

molto interessante come progetto, conosco qualcosa di simile, che magari intgrando il progetto di emilio con questo che ho trovato su google code, si riesce in qualche modo ad ottenere un ottima application!

LINK:  http://code.google.com/p/wlan-pos/downloads/detail?name=wlanpos-locdata-20100409.tbz2

LINK to JPG:  http://code.google.com/p/wlan-pos/downloads/detail?name=ap-detail.jpg
Logged
clshack
Full Member
***
Posts: 177


View Profile WWW
« Reply #6 on: January 04, 2011, 12:39:27 PM »

da me sbaglia di umm 30 km cazzolino Wink

Comunque ottima idea Cheesy
Logged
raffaele
Administrator
Hero Member
*****
Posts: 505


View Profile WWW
« Reply #7 on: January 04, 2011, 12:51:59 PM »

in effetti non ho ben capito una cosa... se la geolocalizzazione si basa sulla posizione dell'ap nell'istante in cui passava la google car, anche se "indovina" la città, come fa a dirmi che si trova in altri posti?!
Logged

raffaele@backbox:~$ Get root or die tryin'
Emilio
Newbie
*
Posts: 35


View Profile
« Reply #8 on: January 04, 2011, 09:12:59 PM »

In che senso "come fa a dirmi che si trova in altri posti"? :| Nel senso di "come fa a sbagliare"? Non ne ho idea, errori nelle catture di google?. Cmq potete verificare con il json che ritorna la query (fatelo più volte, ogni tanto restituisce valori a casaccio).

Code:
curl http://www.google.com/loc/json -H "Pragma: no-cache" -H "Cache-control: no-cache" -d "{ \"version\": \"1.1.0\", \"host\":
\"maps.google.com\", \"request_address\": true, \"address_language\":
\"en_GB\", \"wifi_towers\": [ { \"mac_address\": \"QUA_IL_MAC_ADDRESS\",
\"signal_strength\": 8, \"age\": 0 } ] }"

Comunque ho trovato il modo di parsare file pcap per estrarre la lista dei mac, non penso ci voglia molto poi a generare un POST che restituisce il percorso su google map ben disegnato e magari con qualche info sugli ap incontrati. Sarebbe comodo, uno va in giro con il portatilino nello zaino (non connesso) e al rientro a casa ricostriusce il  percorso fatto, con tanto di info su AP aperti/protetti.
Logged
drego85
Global Moderator
Full Member
*****
Posts: 127



View Profile WWW
« Reply #9 on: January 07, 2011, 08:34:40 AM »

Eh poi se non sbaglio ormai le Google Car non identificano più le reti WiFi!

Logged

Emilio
Newbie
*
Posts: 35


View Profile
« Reply #10 on: January 07, 2011, 04:13:02 PM »

Dubito, tutto il sistema di google di geolocalizzazione via browser si basa su questo giochino. Magari ti riferisci allo scandalo dei pacchetti sniffati in germania, ma lì si erano spinti un po troppo oltre, per geolocalizzare il MAC gli basta sniffare innocui beacons.

Comunque ora il programmino, fornisce una google maps con sopra segnata la propria posizione e quelle delle reti attorno : D Basta avviarlo, e collegarsi a http://localhost:8000 per vedere se stessi localizzati e le wifi attorno. L'ho appena implementata, ci sono molte stronzate da debugging, è tutto ancora molto sporco ma la base funziona. Chi vuole provarlo usi l'svn qui sopra.
Logged
drego85
Global Moderator
Full Member
*****
Posts: 127



View Profile WWW
« Reply #11 on: January 07, 2011, 08:53:40 PM »

Dubito, tutto il sistema di google di geolocalizzazione via browser si basa su questo giochino. Magari ti riferisci allo scandalo dei pacchetti sniffati in germania, ma lì si erano spinti un po troppo oltre, per geolocalizzare il MAC gli basta sniffare innocui beacons.

Comunque ora il programmino, fornisce una google maps con sopra segnata la propria posizione e quelle delle reti attorno : D Basta avviarlo, e collegarsi a http://localhost:8000 per vedere se stessi localizzati e le wifi attorno. L'ho appena implementata, ci sono molte stronzate da debugging, è tutto ancora molto sporco ma la base funziona. Chi vuole provarlo usi l'svn qui sopra.
Pensavo avessero smesso di scandagliare le reti WiFi dopo lo scandalo Tedesco...invece continuano! Smiley

Bhe cmq buono sviluppo, conto di provare il sw entro la prossima settimana.

Andrea
Logged

drego85
Global Moderator
Full Member
*****
Posts: 127



View Profile WWW
« Reply #12 on: January 08, 2011, 10:49:00 AM »

Scusami ma in che formato deve essere espresso il MAC Addres?

Ho provato a digitare:
Quote
andrea@andrea-desktop:~/wilocate$ ./wilocate.py 00:22:75:22:CB:08
+ WiLocate      Version 0.1
^C
! Received keyboard interrupt, quitting threads.

andrea@andrea-desktop:~/wilocate$ ./wilocate.py 00-22-75-22-CB-08
+ WiLocate      Version 0.1
^C
! Received keyboard interrupt, quitting threads.

andrea@andrea-desktop:~/wilocate$ ./wilocate.py 00227522CB08
+ WiLocate      Version 0.1

Ma il software non da cenni di vita...

Grazie
Logged

Emilio
Newbie
*
Posts: 35


View Profile
« Reply #13 on: January 08, 2011, 06:24:18 PM »

Sorry, mi sono dedicato più alla geolocazione 'on the fly' che non ho continuato l'implementazione della ricerca di un singolo mac address. Ho fixato e committato, ora dovrebbe funzionare.

E' in heavy developement, la console non mostrerà più i dati quindi ora viene stampato solo il json per il debug, per geolocalizzare l'IP collegati a http://localhost:8000 e vedrai il marker su google maps (se tutto va bene) : D Comunque in questi giorni è molto instabile, è possibilissimo non funzioni o non faccia al meglio il suo lavoro.

Incollo comunque l'output.
Code:

$ ./wilocate.py 00:22:75:22:CB:08
+ WiLocate              Version 0.1
Serving HTTP on 0.0.0.0 port 8000 ...
+

00:22:75:22:CB:08 (accuracy: 73.0) Slovakia (SK) Bratislavský kraj 85105 Petržalka Bratislava - Petržalka Strečnianska 10
1294507147 position: http://maps.google.it/maps?q=48.1049838,17.1039989
{1294507147: {'APs': {'00:22:75:22:CB:08': {u'latitude': 48.104983799999999, u'address': {u'city': u'Petr\u017ealka', u'street_number': u'10', u'country': u'Slovakia', u'region': u'Bratislavsk\xfd kraj', u'county': u'Bratislava - Petr\u017ealka', u'street': u'Stre\u010dnianska', u'postal_code': u'85105', u'country_code': u'SK'}, u'accuracy': 73.0, u'longitude': 17.103998900000001, 'mac_address': '00:22:75:22:CB:08'}}, 'position': [48.104983799999999, 17.103998900000001]}}
Logged
drego85
Global Moderator
Full Member
*****
Posts: 127



View Profile WWW
« Reply #14 on: January 11, 2011, 05:14:02 PM »

Ottimo! Se ti ricordi nel --help scrivi il formato del MAC specificando il carattere di seperazione.

Andrea
Logged

Pages: [1] 2   Go Up
Print
Jump to: