Lulzologiska tutorials – del 3 – ändra MAC-address

Fractal meshworks ftw!

Vaknade lite för tidigt i morse och kände att jag var tvungen att data loss lite, och eftersom jag lyckades med mitt lilla projekt, så är det ju alltid trevligt att dela med sig.

Datornätverk i plaintext kan ju lätt övervakas, så kryptering och cipherspace har varit temat för de tidigare tutorialsen. Vad man sällan tänker på är att våra datorer lämnar spår i nätverken på en annan nivå också. Varje nätverkskort har nämligen en speciell hårdvaruadress, den så kallade MAC-adressen. I fientliga nätverksmiljöer har man således all andledning att ibland ändra på denna så att man blir svårare att spåra, begränsa eller blockera.

Som tur är så finns fri mjukvara som tillverkas för internauter snarare än konsumenter (#fuckipad), och för Linux finns en mycket enkel lösning: macchanger. I Ubuntu Linux (som snart kommer i het ny version, missa inte releasepartyt på Gnutiken i #gbgftw) gör man bara så här:

Först installation:

sudo apt-get install macchanger

Om man vill ha ett grafiskt gränssnitt jobbar man även:

sudo apt-get install macchanger-gtk

Därefter är man redo att ändra datorns MAC på lite olika sätt. Observera att själva nätverksinterfacet måste vara avstängt när man ändrar, annars funkar det inte. Det gör man genom att högerklicka på networkmanager-ikonen och välja ”disable networking”. För att lista ut vad nätverkinterfacen heter så kan det vara smart att köra ”sudo ifconfig” så ser man vilka gränssnitt som är uppkopplade (gör detta innan du stänger av dem, sorry för omvänd ordning).

Därefter kan man gå loss med:

sudo macchanger -A wlan0

Så ändras wifi-kortets MAC och vi får följande output

Current MAC: 00:e0:53:71:26:54 (Cellport Labs, Inc.)
Faked MAC:   00:11:4e:3a:5f:46 (690885 Ontario Inc.)

Vips så har vi undvikigt jobbiga nätverksloggar, tråkiga trafikstrypningar och kan sedan med förnyad kraft ta oss vidare in i cyber- och cipherspace. Med Bodströms datalagringsdirektiv är en möjlig implementering att MAC-adresser ska tvångslagras, din dator blir en spårsändare när du sitter på ett café och surfar. Men det blir inte så mycket till logg kvar när vi hela tiden slumpar fram nya siffror…

Det finns flera variabler som man kan experimentera med. För att se dem skriv bara ”man macchanger” så kommer instruktioner. Dessutom ska det finnas skript som automatiserar detta, men det har jag inte klurat ut före frukost, så det får bli en annan gång.

Surf safely!

18 reaktioner till “Lulzologiska tutorials – del 3 – ändra MAC-address”

  1. För de som har OpenBSD finns det i -current inbyggt i ifconfig-kommandot. Utdrag från man-sidan:

    [ … ]
    lladdr etheraddr|random
    Change the link layer address (MAC address) of the
    interface. This should be specified as six colon-
    separated hex values, or can be chosen randomly.
    [ … ]

    Så man gör bara
    $ sudo ifconfig iwn0 lladdr random

    inget extra paket eller något annat man måste ladda ner.

  2. Ett problem dock: ofta har man en ”router” eller ett modem och liknande mellan data och internet(s). Det är ”dennes” mac-adress som leverantören kan ”spara” vid behov – mac-adressen når inte längre än så i och med att mac-adressen enbart sparas i det som kallas för ”Layer-2” (Se layer-2 switch). Tyvärr går det inte att byta mac-adress på sådan utrustning (vet inte om det finns ”öppna” lösningar där). Skall undersöka mer – det kan hända att man kan skapa en ”brygga” mellan routern och internet(s). Dock får man då ”offra” en dator, med två nätverksinterface, som bara ”bryggar” trafiken, men jag är osäker om det går i detta fall.

  3. Ifall man sitter bakom en egen liten router för exempelvis trådlöst nätverk i hemmet så finns ofta möjligheten att ändra den mac-adress den visar upp utåt, vilket kan vara en lösning för den som sitter fast i ett maktfullkomligt operativ.

    Att kontrollera routern själv kanske i och för sig inte ska räknas som en fientlig nätverksmiljö. Jag är osäker på hur långt ut mac-adressen syns. Ens ISP lär ju kunna se den i alla fall, och jag undrar om det inte åtminstone i vissa fall är ISP:ns enda sätt att identifiera en? IP-adressen är ju ofta dynamisk. Går det att identifiera vilket nätverksuttag man är inkopplad på?

  4. Heiti: Helt sant. Om man vill göra detta hemma så lurar man ju mest sin egen router om man nu har en sådan 🙂 Skulle kanske lägga till att det är mest för laptops som detta är användbart.

    En rekommendation är att köpa rätt router. Exempelvis min Linksys WRTG54L kan både byta MAC med defaultmjukvaran, och så kan den köra Linux.

    Bygga en egen router av en gammal dator är tveksamt om det är klimat/budgetsmart med tanke på att dator drar ström. Men visst, då kan man ju sen göra lite vad man vill.

  5. I allmänhet kanske det inte är så mycket lönt att ändra på sin hemanslutning. Den säger ju egentligen inte så mycket mer än att man har ett internetabb. eftersom man för det mesta har routern påslagen konstant. Men, det finns alltid en anledning att testa!

    Lellee – Oj, så funkar det inte i debian/ubuntu. Om jag inte stänger ned nätverkinterfacet först så säger den ”device busy”. Har aldrig testat mint.

  6. Det går att få automatiskt vid påslagning av nätverkskortet också, jag vet inte hur Ubuntus automatnätverkskonfiguration fungerar, men om den också använder /et/network/interfaces så kan man lägga till macchanger som pre-up för ens nätverkskort.

    Hos mig ser det nu ut såhär:

    auto eth0
    iface eth0 inet dhcp
    pre-up /usr/bin/macchanger –random eth0
    post-up /home/albin/.bin/upunetlogin
    dns-nameservers 208.67.222.222 208.67.220.220

    (post-up och dns-nameservers-raderna är inte relevanta i sammanhanget, de loggar in på studentnätet i Uppsala respektive sätter OpenDNS namnservrar)

  7. Världsrekord i slarv: det ska vara /etc/network/interfaces såklart och det ska vara »blanksteg« på sista raden! Om det är för mycket spam kan du ta bort det här inlägget och ändra de tidigare om du orkar.

  8. albins: fick inte det att funka riktigt. Får

    Current MAC: 00:0f:9c:80:a0:3f (Panduit Corp)
    ERROR: Can’t change MAC: interface up or not permission: Device or resource busy
    There is already a pid file /var/run/dhclient.wlan0.pid with pid 23160
    killed old client process, removed PID file

    Med följande inställning:

    iface wlan0 inet dhcp
    pre-up /usr/bin/macchanger -A wlan0
    # post-up /home/christopher/.bin/upunetlogin

    (i debian lenny)

  9. Med FreeBSD 7.2-STABLE Görs det enkelt med ifconfig.

    ifconfig fxp0 ether **:**:**:**:**:**

    ** betyder att du får hitta på hextalen.

    Använd med försiktighet.

  10. No macchanger needed. When I was setting up my first proper Linux-box, I needed to register the MAC-address with the ISP, but I had three problems:
    1. I need to connect via SSL to register the MAC, and
    2. There exist no CLI/ncurses webbrowser capable of SSL surfing, and
    3. My kernel/X was too old to support my graphics adapter

    So.. I faked the MAC somehow (I think ifconfig eth0 hw ) to get through to http://ftp.se.debian.org to update my kernel/X to get a graphical UI working to register my real MAC-address with the ISP.

    Great fun.

    Also, at the place I am currently, the ISP also requires you to register a MAC-address to your name. Which is obviously retarded, but they do it anyway.

  11. Det där med att ändra MAC-adress kommer att bli VÄLDIGT viktigt när vi gör övergången till IPv6. IPv6 inkluderar MAC-adressen per default i de 64 minst signifikanta bitarna, vilket gör att alla datorer med en IPv6-adress som allokerats dynamiskt blir spårbara.

    Viktigt att poängtera..

  12. Administrerade en Maya licens-server på en skola för ett par år sen, flyttade den till en Linux-maskin när jag tog över (Windows-burken som nåt ställt upp behövde startas om med jämna mellanrum och då måste alla sparat och stängt av innan… suck).

    Deras ”kopieringsskydd” baserades på att generera en nyckel baserat på MAC-adressen… jag tänkte inte hela vägen utan registrerade MAC-adressen på kortet som gick in mot nätet, där det skulle användas… vilket inte funkade, för programvaran brydde sig inte om det, utan att *första* kortet hade rätt adress…

    Snabba lösningen medan jag väntade på en uppdaterad nyckel var att helt enkelt byta MAC mellan korten. Sverigerepresentanten bara skrattade och sa nåt om att han också undrat varför de valt MAC som säkerhet när det är så lätt att ändra.

    Det visade sig dessutom att servern funkar över internet, vilket var väldigt fint, för studenterna kunde köra lagliga Maya hemma när de jobbade på uppgifter.

    Som sidospår, de routers jag haft hemma har brukat kunna kopiera MAC från en dator på nätverket som ett menyval om man inte kunnat sätta den helt manuellt.

  13. Att ändra sin MAC-adress har flera intressanta konsekvenser.

    En vanlig switch, som ansvarar för att rätt paket går till rätt kabel i ett Ethernet-nätverk fungerar normalt väldigt primitivt. Om den har sett trafik från en MAC-adress på en viss kabel antar den att trafik adresserad till den MAC-adressen ska gå ut på den kabeln. Med detta kan du lyssna på andras trafik i nätverket och du kan förstås också ta över deras identitet. Mer allvarligt är att ta över nätverkets gemensamma kontakter med Internet. Då är det plötsligt du som är storebror. I seriösa nätverk finns bättre switchar.

    I ett trådlöst nätverk behöver du förstås inte ens utnyttja sånna här svagheter i infrastrukturen. Allt skickas redan till alla automatiskt, som i en vanlig hubb.

    Därmed inte sagt att man kan uppnå anonymitet i något av fallen. Men det är en hel diskussion i sig.

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Time limit is exhausted. Please reload CAPTCHA.