Live data from Hacker News

Milan Airport WiFi sends your MAC address to advertisers and trackers

twitter.com

21–30 of 64 posts

Re: Milan Airport WiFi sends your MAC address to advertisers and trackers

#22
post #10

Does anyone have a theory on what the "advertisers and trackers" want a MAC address for? If they're using it for anything load bearing, it seems like there is an interesting CCC talk lurking here for anyone who wants to visit that airport with a few hundred dollars worth of devices and stuff a few tens of million spoofed MAC addresses into the system.

Since MAC address ranges are allocated to certain manufacturers, it is a simple way to track your device type. Additionally, all MAC addresses are unique so it is the easiest way to match/combine your data from different trackers.

Knowing whether someone has a Qualcomm, Broadcomm, Intel, or Foxconn WiFi card doesn't seem that useful for profiling.

Of course, the location tracking based on your device's network discovery packets is a whole bigger issue.

Re: Milan Airport WiFi sends your MAC address to advertisers and trackers

#23
Based on the screenshots it looks like the mac address is leaking out because its in the referer. I would guess this isn't intentional and shouldn't be hard to fix.

I've worked with a number of captive portal systems and they all basically work the same way. The AP/controller intercepts http requests and redirects to the captive portal page with identifying information about the device (ip,mac,ssid,ap_mac,etc.). The captive portal http server shows the user a splash page to accept terms or enter a username/password or a credit card. Once the captive portal server decides the user should be allowed onto the network it needs to communicate that back to the wireless hardware which is done with the user's mac address.

Based on the requests it looks like they have some ads/trackers on the splash page that are getting requests with a referer set to the original splash page url (which includes the client mac address). A no-referrer meta tag or an intermediate redirect would prevent this from happening.

Re: Milan Airport WiFi sends your MAC address to advertisers and trackers

#24
macchanger

Also extends time limites wifi.

Or use my gypsy code

import random

import os

mac=''

os.system('/etc/init.d/networking stop')

os.system('ifconfig wlan1 down')

os.system('ifconfig eth1 down')

os.system('ifconfig wlp8s0 down')

os.system('ifconfig wlp7s0 down')

for i in range(0,3):

__r=random.randint(16, 256)

__mac=mac+":"+str(hex(r))[2:]

mac="00:07:E9"+mac

print mac

os.system('/etc/init.d/networking stop')

os.system('ifconfig wlan1 hw ether '+mac)

os.system('ifconfig wlp8s0 hw ether '+mac)

os.system('ifconfig wlp7s0 hw ether '+mac)

os.system('ifconfig eth1 hw ether '+mac)

os.system('ifconfig wlan1 up')

os.system('ifconfig eth1 up')

os.system('ifconfig wlp8s0 up')

os.system('ifconfig wlp7s0 up')

os.system('/etc/init.d/networking start')

os.system('ifconfig')

print "echo 'MAC changed..."

print "new random MAC "+mac

Re: Milan Airport WiFi sends your MAC address to advertisers and trackers

#25
post #20

Earlier quoted context omitted.

Right. I understand what MAC addresses are. In addition to the characteristics you named, they are also entirely at the discretion of the client and therefore are trivially spoofable so long as no one else on the same media currently has the address you're spoofing. And because the advertisers and the trackers are a step removed from the LAN, they have no way to detect an attack where someone just shits tens of milli…

The amount of people who routinely spoof their own MAC when on public wifi is so minuscule to be objectively irrelevant to any mass-data-gatherer out there. Unless this becomes something that the OS can automatically randomize for you (are you listening, Apple...?), even a creative attack won’t move the needle.

Of course. (And I think Apple does/might do that?)

I'm suggesting that if we discover/think that these advertisers/trackers are using it for anything interesting, there could be some fun to be had at their expense by picking up a suitcase full of junk wifi devices, configuring them to deliberately spoof their own MAC, and visiting that airport. I think you'd only need to spend hundreds on junk devices to taint their system with tens of millions of addresses.

If there's any observable result, I think it'd be fun to do and write it up/present it at a Chaos Computing Congress (or similar) event.

Re: Milan Airport WiFi sends your MAC address to advertisers and trackers

#26
post #9

The problem with constantly shuffling MAC addresses is that they are used for device authentication on corporate/school/university networks. Does anyone know of a utility that generates MAC addresses as a hash of the SSID?

Won’t that cause problems if 2 people do this in the same session (and generate duplicate MAC addresses)?

I guess you could get around it by hashing the ssid + a personal salt.

Re: Milan Airport WiFi sends your MAC address to advertisers and trackers

#28

Earlier quoted context omitted.

A bash script? You can scan for the networks in the area, select the one you want, run the name through, say sha256, select the first 8 characters and reset the mac address to that.

Yeah, not that hard to do manually--I have a nice script for that. But I haven't looked into the logistics of hooking into the wifi connection process and doing this automatically :)

Back in my misspent youth I had a bash script that would connect me to whatever access point I needed.

I can't imagine much has changed since then, just add the logic to change the mac address between entering the SSID and actually connecting.

Re: Milan Airport WiFi sends your MAC address to advertisers and trackers

#29

macchanger Also extends time limites wifi. Or use my gypsy code import random import os mac='' os.system('/etc/init.d/networking stop') os.system('ifconfig wlan1 down') os.system('ifconfig eth1 down') os.system('ifconfig wlp8s0 down') os.system('ifconfig wlp7s0 down') for i in range(0,3): __r=random.randint(16, 256) __mac=mac+":"+str(hex(r))[2:] mac="00:07:E9"+mac print mac os.system('/etc/init.d/networking stop') os…

You need to indent the code by at least 2 spaces so it doesn't collapse into a paragraph like that. Also, that script isn't really portable. Not everyone has those interface names nor /etc/init.d/networking.

Re: Milan Airport WiFi sends your MAC address to advertisers and trackers

#30
post #10

Earlier quoted context omitted.

Since MAC address ranges are allocated to certain manufacturers, it is a simple way to track your device type. Additionally, all MAC addresses are unique so it is the easiest way to match/combine your data from different trackers.

Knowing whether someone has a Qualcomm, Broadcomm, Intel, or Foxconn WiFi card doesn't seem that useful for profiling. Of course, the location tracking based on your device's network discovery packets is a whole bigger issue.

On the contrary, it adds a good handful of bits of information.
Post reply on HN