Hur (o)säkert är ditt trådlösa nätverk?

april 18, 2013 | Posted in system | By

Idag har de flesta av oss trådlöst nätverk hemma, det är väldigt bekvämt att slippa alla kablar och vi är mer mobila med surfplattor, telefoner och bärbara som vi inte vill ha kablar till hela tiden.

Vi vill ligga i sängen eller på soffan och surfa eller kolla på film, det har blivit en del av vår vardag

När vi beställer bredband idag får vi ofta ett modem med inbyggd router-funktion och med WiFi aktiverat, och det är oerhört enkelt att koppla in sina enheter idag.

 

Wi-Fi har mognat

Marknaden och användarna har mognat en del, borta är den tiden när man kunde hitta oskyddade nätverk i alla hus och den osäkra WEP autentiseringen är snart ett minne blott.

 

För att vi skall få en inblick i det hela skall jag ta en liten snabb genomkörare av historiken bakom att knäcka trådlösa nätverk, men först lite allmän bakgrundskunskap.

 

Att knäcka Wi-Fi

Som vi vet så bygger all trådlös datatrafik på radiovågor och dessa sänds ut på olika frekvenser eller som det heter i Wi-Fi, kanaler. Alla vi som har vart i ett Wi-Fi tätt område har fått problem med detta ibland, om för många nätverk sänder på samma frekvens, men idag har många accesspunkter automatisk kanalbyte för att hitta den minst trafikerade frekvensen.

Då tekniken bygger på radiovågor kan vem som helst med en radiomottagare sniffa eller ”lyssna av” trafiken som sänds där.

Vi kan fånga upp alla enheter via MAC adresser och isolera nätverk via accesspunkter eller bssid och på så sätt isolera den trafiken vi vill lyssna av, eller fånga upp och denna information kan användas för att läsa av din trafik, och på sikt, knäcka ditt nätverk.

WEP

WEP var nog den första generationens autentisering för Wi-Fi och den hade en brist i sin kryptering som gjorde det relativt enkelt att få fram din nyckel.

WEP har en relativt kort IV (initsierings vektor) endast 24-bitar och har man fångat upp 2 st IV kan man sen beräkna fram nyckelordet.

I stora drag gick attacken ut på att lura nätverket att kasta ur sig tillräckligt många IV för att samma IV skall användas 2 ggr och då du har ett begränsat antal kombinationer (24-bitar ger c:a 16 miljoner kombinationer) , och detta gjorde man igenom att skapa ett stort antal falska autentiseringar mot accesspunkten och spara trafiken i en s.k cap fil.

Denna fil kunde man senare använda för att beräkna fram nyckeln rätt enkelt.

FBI gjorde en demo där de knäckte ett WEP skyddat när på c:a 3 minuter.

Ända sättet att skydda sig var i princip att tunnla all sin trafik igenom ssh eller ipsec.

WPA / WPA2

Idag har WEP nästan gått i graven och vi använder nästa uteslutande WPA eller WPA2 som kommer i 2 olika implementationer, wpa-psk och wpa-802.1x.

wpa-802.1x är framtaget för företagsmiljöer och är rätt svårt att sätta upp, skall jag vara riktigt ärlig tror jag inte att jag någonsin kommit i kontakt med ett wpa-802.1x någon gång, så jag vågar inte uttala mig om säkerheten där.

Wpa-psk däremot är den vanligaste autentiseringen idag, psk står för ”private shared key”.

Detta bygger på ett lösenord som måste vara mellan 8 och 64 tecken, och wpa-psk anses vara säkert.

Dock har det kommit fram 2 st problem och jag skall lista båda, jag börjar med den sårbaraste delen.

WPS

Wps som står för ”Wi-Fi Protected Setup” togs fram 2007 för att förenkla för hemmaanvändare att koppla in sina trådlösa enheter, dessa metoder är ansluta via knapp, ansluta med pin-kod eller via fysisk nära kontakt.

Enligt standards skall alla routrar som stödjer WPS även stödja anslutning via pin-kod och det är just denna som är sårbar.

Pin koden är 8-siffrig varav den sista är en kontrollsiffra som beräknas på de övriga 7 siffrorna. Detta ger 10⁷ kombinationer = 10 000 000 stycken.

Dock verifieras koden med 4 tecken i taget, vilket förenklar det hela avsevärt.

Den första delen (första 4 siffrorna) ger 10⁴ = 10.000 möjligheter och den andra 10³ = 1.000 (kom ihåg att sista siffran bara är en kontrollsiffra) och detta ger 11.000 kombinationer, något som en dator kan testa på några timmar.

Vissa tillverkare har tagit detta till sig och byggt in vissa säkerhetsfunktioner, som t.ex automatisk nedstängning av pin-koden efter ett visst antal försök inom en viss tid.

På andra routrar kan man inte ens inaktivera pin-koden och nätverket är helt öppet för attack.

En lockdown eller nedstängning av tjänsten kan avskräcka de klantigaste attackerna, men en erfaren systemknäckare gör alltid sin hemläxa innan och tar reda på vilken router han arbetar emot och söker information om vilka hinder han kan möta på vägen.
Igenom att mixtra med pauser mellan attacker och antal sekunder man får vänta mellan att routern slutat svara kan man förhindra att systemet går i baklås.

En erfaren cracker kan enkelt ta reda på vilket fabrikat er router är igenom dess unika hårdvaruadress, eller MAC – adress som det heter.

Brute force mot lösenordet

Denna teknik kräver en lösenordslista och att vi har lösenord mellan 8 till 64 tecken långa ger oss oerhört många kombinationer och ett bra lösenord kan ta en räknemaskin flera år att knäcka.

Osäkerheten här ligger i att ett till synes säkert lösenord är extremt lättgissat för en lösenordsgenerator samt att de flesta av oss är för lata eller saknar kunskapen för att skapa egna lösenord, utan använder det förkonfigurerade som kommer med routern vi får av vår internetleverantör (som i och för sig redan har sårbarheten med WPS aktiverat som standard).

Det lösenordet vi får av vår internetleverantör brukar vara på 8 tecken och alfanumeriska tecken, endast gemener och från engelska alfabetet, vilket vilket bör ge 26+10 tecken på 8 ”bitar” vilket ger 36⁸ kombinationer.

För de som gör egna lösenord så brukar de ofta vara vanliga ordboksord som ”sommaren” eller personnamn, namnet på hunden, katten, båten ja vanliga saker som ofta finns med tidigt i de flesta lösenordslistorna.

Vidare, blandar man gemener och versaler så har vi idag bra verktyg som tar fram variationer på de ord vi matar in i lösenordslistan så att ”SoMMarEn123” kommer att genereras i vilket fall som helst.

Sen har vi de som försöker med vanliga utbyten av tecken, ”13374Ax0R” (leetHAXOR) och jag kan lova att även dessa genereras tidigt av de verktygen som finns idag.

Hur går en brute force till mot WPA/WPA2?

Först skall ni veta att detta är sista utvägen ofta för att ta sig in då det kan ta betydligt längre tid än en WPS attack.

Tekniken är enkel och görs i ett par enkla steg.

  1. Först lyssnar vi av trafiken och letar efter ett lämpligt offer, dvs en router med stark signal.

  2. Vi isolerar vår avlyssning på denna router (via MAC adress eller bssid) och letar reda på vilka klienter som är kopplade till denna router.

  3. Nästa steg går ut på att fånga upp en ”handskakning” som sker vid autentiseringen, denna handskakning används för att kryptera lösenordet och är nödvändigt om vi skall kunna attackera routern.
    Antingen kan vi vänta på att en klient skall koppla upp sig eller, otålig som man är så tvingar man en klient att ge ifrån sig en autentisering, dvs, man skickar eller injicerar en signal som kopplar bort klienten, som sedan automatiskt kopplar upp sig igen, varvid vi kan fånga upp ”handskakningen” och kan börja vår attack. Detta går så fort att klienten/användaren/offret inte har en chans att märka att detta händer.

  4. Ta fram en kraftig lösenordslista, det finns många halvbra ute på Internet, sedan är det bara att sätta ihop, köra igenom lösenordsgeneratorer för att ta fram variationer, sedan rensa listan på slask (dubbletter, lösenord på färre än 8 tecken eller fler än 64 tecken) och sen är det bara att köra på nästa steg.
    Innan man skapar sin lista kan det vara bra att veta lite om sitt offer.
    Ex. Om offret har den goda smaken att byta bort från det lösenordet som den fått av sin leverantör, som iofs är ovanligt, är det smart att ta reda på vilket språk de talar, husdjur? Barn? Make/maka? Deras namn? Sedan lägger man de mest troliga termerna tidigt i listan, allt detta går rätt snabbt om man är familjär med kommandoraden och dess verktyg i *NIX system.

  5. Här kan man gå flera vägar, beroende på situation.
    Om man inte kan ha en enhet nära sitt offer kan man förkryptera nycklarna på en mycket stark räknemaskin för att sedan bara komma tillbaks med sina färdigkrypterade lösenordssvar som då bara tar några minuter att gå igenom 1000 tals lösenord.
    Sitter man nära sitt offer kan man testa sitt svar medans man avkodar.
    Vissa föredrar att betala någon som sitter på en superdator och jättekraftiga lösenordslistor att beräkna färdiga svar, efter att de skickat in handskakningen.
    I vilket fall som helst, har du ett svagt lösenord så är det knäckt på ett par veckor.

Dessa är inte de ända attacktyperna

Det finns även andra tekniker att ta sig in, varav vissa går ut på att manipulera användarna via samtal eller att lura av dem lösenorden igenom att simulera ett fel, som t.ex onda tvillingen (evil twin) där du lurar in en användare på en ”falsk” webbsida som lurar av dem lösenordet på wi fi.
Jag komer inte att gå närmare in på detaljer, men googla så kommer ni att finna :-)

Hur kan man skydda sig?

Vi skall diskutera lite om hur man kan skydda sig, men innan måste jag slå hål på ett par myter som jag springer på lite då och då.

Läst några tips som ges ut på nätet och ja hittade en artikel av binero skriven 2012 som tar upp de vanligaste myterna som jag ny tänkte slå hål på. (obs, läs deras artikel först om ni ej förstår vad jag syftar på)

  1. Använd kryptering (de syftar på wpa/2 framför wep)
    Denna är jag beredd att hålla med om, dock används wep idag väldigt sällan, och kommer nästan aldrig förkonfigurerat på nya routrar.

  2. Gör ditt nätverk osynligt
    Här syftar de på att dölja sitt bssid.
    Detta gör det bara svårare för dig som användare att ansluta, en systemknäckare kommer att hitta dig i alla fall och isolera dig via din MAC adress.

  3. Begränsa tillgången till din MAC adress
    De syftar på att man kan begränsa via hårdvaruadressen vilka som kan ansluta till nätverket.
    Detta avskräcker dock bara de nyaste amatörerna, man kan s.k spoofa sin mac adress, dvs, man kan maskera eller byta sin hårdvaruadress till en som har access till nätverket, när man väl är inne är det en enkel sak att ta sig in i routern och lägga till sin egna hårdvara (dock spoofat med en påhittad adress) i listan på tillåtna klienter.

  4. Aktivera din brandvägg
    Detta är ett bra tips, dock skyddar det inte mot någon som vill knäcka din router.

Till Bineros försvar kan jag säga att artikeln har ett år på nacken och att den kan skydda mot en lat nybörjare, men en nybörjare med lite tålamod och som kan tänka lite själv och läsa instruktioner kommer att komma förbi dessa hinder på ett par timmar.

(Notera att jag endast tog med Bineros post för att de samlat de vanligaste myterna på en och samma sida, Binero gör nog ett bra jobb på det de skall göra, att administrera och tillhandahålla webbservrar.)

Så.. Vad kan man göra?

Inaktivera pin / WPS

Till att börja med skall ni inaktivera pin på WPS, och kan man inte det inaktivera WPS helt.
På vissa routrar kan det heta något annat, men det är funktionaliteten med att ansluta med en knapp/ pin/ eller att föra enheten nära.

Går det ej att inaktivera så leta efter en officiell firmware uppdatering för er router.

Om inte detta fungerar så finns det open source firmware.. men detta rekommenderar jag endast till avancerade användare, och dessa behöver nog inte ens läsa denna artikel :-)

Slå av DHCP och använd statiska ip adresser / byt subnät

Detta kan försvåra lite för inkräktaren, då när dom väl tagit sig in måste de gissa vilket subnät du använder.

Nackdelen med detta är att alla dina enheter måste tilldelas en adress innan, och även klienten måste konfigureras.

Skaffa ett bra lösenord

I humor serien http://xkcd.com/936/ tar de även upp denna fråga och det ligger en stor del av sanning i detta.

Dock, skall du ha ett säkert lösenord som dessutom är lätt att komma ihåg så kasta in ett par specialtecken och siffror med, men som fortfarande är lätta att komma ihåg.

Ex:

matpåburk // inte ok

MatPåBurk // bättre

MatPåBurk??? // ännu bättre

4Mat!På5Burk?? // Bra och lätt att minnas

Kom ihåg att en duktig systemknäckare tar de troligaste lösenordskombinationerna först på sin lista för att kunna träffa rätt så fort som möjligt så inga lösenord som baserar sig på riktiga ord är egentligen säkra, så kompromissen blir att hitta något som du kan komma ihåg men som inte är baserat på riktiga ord eller namn, sen kastar du in ett par siffror och specialtecken där du kan minnas dom.

Leta upp några nonsensord som du kan minnas, kasta in ett par siffror och något specialtecken, detta ökar knäcktiden med flera år!

Kom gärna med förslag i kommentarerna om hur man kan ta fram säkra lösenord.

Lämna aldrig ert lösenord på en webbsida som säger att ni måste autentisera om pga tappad anslutning, även om ni inte kommer ut på nätet. 

/C

Inkommande sökningar:

Read More →

Photoshop och Creative suite för LINUX?

november 12, 2012 | Posted in linux | By

Under gårdagen hände det något märkligt, Adobes tråd för support för linux på getsatisfaction för Creative suite (PhotoShop, Illustrator, InDesign mm).

Denna tråd har vart öppen länge och vart relativt inaktiv. Men igår hände det något, tråden fullkomligt exploderade med inlägg både för och emot Linux stöd för Adobes produkter.

Det som har utlöst denna explosion verkar vara en reaktion på Windows 8, och att många företag kommer att leta alternativ för Windows, och alla kommer inte att välja Mac.

Hur som helst, jag är en linux användare, och det finns inte en chans att jag går över till Mac eller Windows.

Mac:
Jag gillar inte användargränssnittet. Det finns lite roliga detaljer, men jag vill kunna byta gränssnitt efter vad jag skall göra med datorn,  och jag gillar inte det faktum att det inte är jag som kontrollerar vad som finns på min dator (både hård och mjukvarumässigt)

Windows:
Jag får magsår varje gång jag startar en Windows dator  Systemet är underlägset alla andra system och konfigurationen är ett skämt, jag skulle aldrig få för mig att betala för mjukvara som är underlägset andra system.

Adobe CS till Linux, vem bryr sig?

Det finns ett stort antal utvecklare som liksom mig inte tycker om de 2 stora systemen som finns därute, av olika anledningar.

Jag vet att många användare inte går över till linux som sitt första system pga bristen på professionell mjukvara, såsom spel och Adobes produkter.

Adobe är idag de facto standard i den grafiska branchen och jag arbetar nästan dagligen med .AI filer och tar emot .PSD eller så blir jag ombedd att skicka .PSD filer.

.AI kan jag arbeta med i Incscape, men .PSD däremot skapar problem med GIMP, samt att GIMP inte är lika bra som photoshop.

Många föreslår att man skall få Adobe CS att jobba med WINE, (ett alternativt windows API som ”översätter” instruktionerna mot kerneln), och detta ser jag som en icke lösning.

Jag kommer inte att betala för mjukvara som jag kan få igång med WINE, det är för instabilt och dessutom skulle inte supporten gälla från Adobes sida, så även om Adobe CS skulle fungera under wine skulle jag inte ta risken att betala för mjukvaran bara för att om det skulle bli några problem stå utan support ifrån mjukvaruutvecklaren.

Så jag jobbar vidare med gimp, Inkscape (som för övrigt är djävligt bra) och Scribus.

Det finns en risk att fler och fler kommer att upptäcka dessa mjukvaror och hjälpa till med utvecklingen av dem, så Adobe bör egentligen utveckla en Linux version om de vill behålla sin dominans på marknaden, ett steg de bör ha tagit för länge sedan.

Read More →

Ändra fontstorlek i realtid på urxvt

februari 12, 2011 | Posted in linux | By

wmii, urxvt med olika fontstorlekar och MC med transparansDen enskilt största anledningen till att jag haft väldigt svårt att lämna xterm som terminal har nog vart att det vart enkelt att ändra fontstorlek i realtid.

Nu har jag dock haft massa jobb och sitter massor och jobbar i terminalen, och det blir rätt mörkt när jag sitter med svarta terminalfönster i mörkret så jag bestämde mig för att göra något åt det.

True transparancy är något som alla som arbetar i terminaler älskar, och framför allt, jag får lite ljus från datorn så att jag ser tangenterna, dock stödjer inte xterm detta och att använda transset eller transset-dm gör även texten transparant, samt att det kan te sig lite buggigt, särskilt med ATI graffe…

Som tur är så är jag inte rädd för manualen eller för att söka information, och att kunna ändra fontstorlek i realtid är något som är viktigt när man jobbar som jag.

Lösningen blev detta:

I ~/.Xdefaults kan man ställa in olika x applikationers beteenden, och där kan man även göra key-bindings för urxvt med hjälp av perl-lib. Detta gör det möjligt att ändra fonter och således fontstorlek i realtid.

För att byta font i realtid via ett kommando kan man skriva detta i en terminal:

printf '\e]710;%s\007' "9x15bold,xft:Kochi Gothic"

Detta ändrar fonten till gothic och sätter storleken till 9×15 samt gör den till bold.

med detta komponerade jag detta enkla script:

#!/bin/bash

# ~/bin/fsize

# Ändrar fontstorlek vid behov

printf '\33]50;%s%d\007' "xft:Bitstream Vera Sans Mono:pixelsize=" $1

när jag anropar detta så sätts fontstorleken till $1, dvs den parameter jag skickar, i detta fall fontstorleken.

Man kan som sagt var även använda sig utav keybindings,  här kommer exemplet från man sidan för urxvt:

URxvt.keysym.M-C-1: command:\033]710;suxuseuro\007\033]711;suxuseuro\007
URxvt.keysym.M-C-2: command:\033]710;9x15bold\007\033]711;9x15bold\007

Detta sätter META-CTRL-1 till ena fonten och META-CTRL-2 till en annan, med detta kan man även ändra fontstorlek.

Nej nu jobba!

gonatt

Read More →

Transparant Midnight Commander

februari 11, 2011 | Posted in linux | By

MC med transparant bakgrundSom alla vet så kan ingen sann *nix nerd leva utan transparanta terminaler, de är helt underbara när man kodar i t.ex vim eller emacs (själv är jag en VI nerd).

Ett annat bra verktyg är just Midnight commander, dock har den en sån enormt ful blå bakgrund, och detta måste åtgärdas för att man skall kunna arbeta på ett produktivt sätt.

Som tur är så kan man lösa detta på ett relativt enkelt sätt, öppna filen ~/mc/ini i din favorit editor (vim) leta reda på [color] sektionen.

ändra på raden ”base_color=” till ”base_color=normal=” spara och njut.

Ahh en liten detalj till, för att detta skall fungera måste man använda en terminal med ”true transparancy”, så här ser det ut i min wmii med urxvt / compmgr och mc under arch linux.

Read More →

Ubuntu Linux, älska eller hata det?

februari 26, 2010 | Posted in linux | By

Lite bakgrundsfakta

Alla som inte är födda under en sten måste ha hört talas om LINUX, och inte minst UBUNTU linux.

OK, för att räta utt begreppen lite för er som inte är så tekniskt insatta.

LINUX är en kernel baserad på MINIX som utvecklades av Linus Torvalds.

De flesta program runt LINUX kommer från GNU projektet, kerneln var den
sista pusselbiten som saknades för att få GNU att fungera.

Ur GNU-LINUX föddes ett stort utbud av distrubutioner, där DEBIAN var ett
av dem, som sedan UBUNTU födder ur.

Problemet med alla dessa olika distrubutioner kan liknas det som funnits runt programeringsspråk och webbstandards, alla implementerar egna standards så det blir i princip omöjligt att ha kompatibilitet mellan systemen.

Min synvinkel

Jag anser att försöka ha öppna standards är bra för alla, alla system skall kunna kommunicera med varandra, oavsett hur de är implementerade.

Jag har suttit med Slackware sedan början av mitt Linuxanvändande, när jag sen fickl 64 bitars processor använde jag ett antal slack derivat, för att sedan landa på Arch Linux som desktop system.

Det finns många bra system därute, men jag har alltid landat tillbaks på slack/arch, nu har jag slack på servrar och arch på arbetsmaskiner.

Dessa system försöker hålla allt så orört som möjligt, och detta gör att all officiell dokumentation går att använda på dessa system.

UBUNTU och de andra stora linux distrubutionerna har valt att modifiera all mjukvara, och marra standards har brutits, vilket gör att det kan bli ett rent helvete för en som vill arbeta på en mer generisk dokumentation.

Denna inkopatibilitet kan vara både en styrka och en svaghet, men för mig ha det varit ett gissel sedan UBUNTU blev stort.

vad hände?

Innan UBUNTU var det mycket enkelt för mig att hitta generisk dokumentation, bara genom enkla google sökningar.

Men i och med att UBUNTU har tagit linux till en bredare publik så har detta blivit mycket svårare idag.

Många av användarna vill ha snabba svar och lever efter principen ”fråga först, leta sen”, vilket har fyllt sökmotors index med massa för mig irrelevant data.

Detta skulle vara OK om folk lärde sig en fundamental sak.

UBUNTU ≠ LINUX

De som använder ubuntu och framför allt de som förespråkar användandet av ubuntu bör även lära ut det är fel att dra ett likhetstecken mellan ubuntu och linux.

Ubuntu är en distrubution som använder en linux kernel, och därför bör de som skriver guider och söker om ubuntu specifiera detta!

Detta skulle underlätta en hel del för övriga användare av Llinux.

Men jag skall inte helt såga Ubuntu.

Jag anser att Unbuntu är ett väldigt bra användar system och har gjort UNIX liknande system tillgängliga för allmänheten.

Detta är mycket bra, då det även framtvingar en större förståelse för varför öppna standards är viktiga.

För en enkel användare som endast vill kolla sin mail, surfa och skriva lite dokument är Ubuntu-linux ett utmärkt val.

Detta var allt för mig, men jag vill bara be alla som använder detta utmärkta system att söka innan de postar samt skriva ubuntu istället för linux.

Detta gör det både enklare för er och mig.

Tack för er tid

/Cristian Herrera

Read More →