Affichage des articles dont le libellé est GPS. Afficher tous les articles
Affichage des articles dont le libellé est GPS. Afficher tous les articles

iSniff GPS WiFi Sniffing Tool

iSniff GPS passively sniffs for SSID probes, ARPs and MDNS (Bonjour) packets broadcast by nearby iPhones, iPads and other wireless devices. The aim is to collect data which can be used to identify each device and determine previous geographical locations, based solely on information each device discloses about previously joined WiFi networks.

iOS devices transmit ARPs which sometimes contain MAC addresses (BSSIDs) of previously joined WiFi networks. iSniff GPS captures these ARPs and submits MAC addresses to Apple's WiFi location service (masquerading as an iOS device) to obtain GPS coordinates for a given BSSID. If only SSID probes have been captured for a particular device, iSniff GPS can query network names on wigle.net and visualise possible locations.

By geo-locating multiple SSIDs and WiFi router MAC addresses, it is possible to determine where a device (and by implication its owner) is likely to have been.

Below: Visualisation of WiFi router locations in Melbourne, AU returned by Apple Location Services



Dependencies

iSniff GPS was developed and tested on a Ubuntu 12.04 (32-bit) VM with Python 2.7.3, Django 1.5.4 and Scapy 2.2.0-dev. See requirements.txt for additional python modules required.

Components

iSniff GPS contains 2 major components and further python modules:
  • iSniff_import.py uses Scapy to extract data from a live capture or pcap file and inserts it into a database (iSniff_GPS.sqlite3 by default).
  • A Django web application provides a browser-based interface to view and analyse the data collected. This includes views of all detected devices and the SSIDs / BSSIDs each has probed for, a view by network, Google Maps views for visualising possible locations of a given BSSID or SSID, and a pie chart view showing a breakdown of the most popular device manufacturers based on client MAC address Ethernet OUIs.
  • wloc.py provides a QueryBSSID() function which looks up a given BSSID (AP MAC address) on Apple's WiFi location service. It will return the coordinates of the MAC queried for and usually an additional 400 nearby BSSIDs and their coordinates.
  • wigle.py provides a getLocation() function for querying a given SSID on the wigle.net database and returns GPS coordinates. It must be configured with a valid wigle.net auth cookie. Please respect the wigle.net ToS in using this module.


~ jeudi 9 octobre 2014 0 commentaires

Kismet with GPS in Kali Linux Tutorial

I recently ran into a situation where I needed to use Kismet with GPS support.  This was extremely difficult to accomplish, not because the installation is difficult (its actually fairly simple when you know the steps) but because there was absolutely NO decent documentation on this. Hopefully this will change that.

What You Need?


This header for this section should perhaps be “What I Used.”  Because I’ve only tested my only hardware, its the only thing I can say for certain will work.  I used the ALFA AWUS036NH external wireless adapter, found here:

http://www.amazon.com/gp/product/B003YIFHJY?ref_=pe_527950_33920250







And I used the GlobalSat ND-100S USB GPS Dongle, found here:
http://www.amazon.com/dp/B003WNHGAO/ref=pe_385040_30332190_TE_dp_1


How to Install in Kali???

First we need to install a few packages in Kali Linux to get this thing to work.  First, the GPS daemon.

# sudo apt-get install gpsd




Then GPSd-clients package:

# sudo apt-get install gpsd-clients

Now, you can plug in your hardware.  If you are using a VM, make sure you pass it across.  You can verify that the GPS dongle is there by using the following command:

# lsusb

Then verify that your wireless adapter is there, and get the interface name.
# ifconfig

Next, make sure that your GPS adapter is showing up in the /dev/ directory.  To do this, use the command:

# ls /dev/gps*

This should also help you identify the name.  Once you have identified the path in /dev/, pass that as an argument to gpsd.

# gpsd /dev/gps[x]


Did it Work???

To verify that this worked, we obviously want to boot up Kismet.  Kinda the point…right?  Once Kismet has been booted, use the backtick/accent button ( ` ) to access the Kismet menu at the top.  Scroll right to the Windows menu, then select “GPS Details.”



Assuming you have signal, you should see the number of satellites connected and the signal strength corresponding to each.  In the example provided below, I have signal from 4 different satellites.  Alternatively, you may see a message indicating that you have no satellite signal.  If this is the case…keep walking/driving around.  It’ll happen.  Otherwise, if you are receiving a message that says no GPS device is connected, time to scrub the whole process and start over again.



Finally, you can verify that GPS data is being written to the output by examining the contents.  In the .nettxt file below, you can see that their are coordinate values for minimum position, maximum position and peak position.


Source

Justin Hutchens wrote this outstanding article on his blog.


~ lundi 4 août 2014 0 commentaires