[ InternetGuiden ]

nr 7-96

Mitnicks Tricks

Om du ens funderar på att slänga upp en värddator på Internet rekommenderar vi att du först läser Lille Louis artikel om hur Kevin Mitnick lurade sig in på värddatorer på Nätet.

Okej, då var det dags för de tyngre kanonerna. Vi skall prata datorintrång. Denna gång gäller det IP-spoofing, det hack som Kevin Mitnick åkte fast för. Utan att överdriva kan man påstå att Mitnick är en av världens mest kända hackers. Han blev arresterad förra året (se IG nr 1/95) efter att ha gjort intrång i ett stort antal värddatorer på självaste julafton. Idag räknas hacket som klassiskt även om det är ganska nytt, därför att det är så tekniskt avancerat. Dessutom gjorde det att många programtillverkare och systemadministratörer var tvungna att skriva om ganska mycket mjukvara och många datafiler.

Om du över huvud taget funderar på att slänga upp en värddator på Internet är det nog bäst att du läser vidare så att du greppar hur Mitnicks spoofing-hack (spoof eng: skoja med, lura) går till. Och hur du kan undvika att själv bli utsatt för något liknande.

It's a Spoof!
Det här med spoofing, vad är det då? Enkelt uttryckt, en inkräktare utger sig för att vara en dator för att till exempel komma åt en värddator som han vill ta sig in på. Men är det inte bara att logga in på värddatorn, frågar sig den skärpte läsaren. Jo, det är "nästan" sant, men i alla Unix-nätverk finns något som heter trusts (trust eng: lita på, betro). Det betyder att endast betrodda maskiner får prata med varandra. Idag ställer man oftast in trusts på ett sådant sätt att endast maskiner inom samma nätverk kan prata med varandra. Detta gör alltså att en inkräktare måste lura en maskin inom ett nätverk så att alla andra maskiner på nätverket tror att inkräktaren är den lurade maskinen.
Krångligt? Ja, men så är säkerheten viktig också.

Well, hello there...
När datorerna i ett nätverk ska prata med varandra börjar de alltid med att skaka hand. Datorer anslutna till Internet är mycket väluppfostrade och skall alltid hälsa på varandra. Kan de inte hälsa korrekt så vägrar de helt enkelt att prata med varandra. På Internet använder man sig av TCP/IP, som är språket (protokollet) som de hälsar på varandra med. TCP/IP består av ett flertal andra språk och har fått sitt namn från de två mest använda: IP (Internet Protocol) och TCP (Transmission Control Protocol). Det är TCP som ser till att det du skickar på Internet kommer dit det skall.

Port 513
Kevin Mitnick började med att skicka massor med förfrågningar till datorn Server som han hittat på Internet genom att använda finger (se IG 1/96).
Bakom en Internetansluten värddator brukar det finnas ett helt nätverk med datorer som man inte kommer åt. Detta beror på att de inte pratar med någon som inte tillhör familjen, med andra ord inte finns på det egna nätverket. Förfrågningskommandona skickades till port 513, vilket är en port som inte kan skicka TCP RST (TCP-nollställning). Detta fick till följd att, efter sisådär åtta förfrågningar, var kön till Servers port 513 full, eftersom den inte hade en riktig IP-adress att skicka tillbaka sina ACK-flaggor till. Mitnick kunde med största sannolikhet göra detta för hand eftersom port 513 har en time-out-period på hela 15 sekunder. Om du inte vet hur Unix-portar fungerar kan jag snabbt nämna att alla saker som en dator möjligtvis kan vilja göra med en annan dator via Internt styrs av vad som kallas portar. Dessa är inte fysiska datorportar, som den man ansluter sin skrivare till, utan finns enbart i mjukvaran. Portar är ett sätt för Unix att hålla ordning på kommunikationen, helt enkelt. Exempelvis så körs Telnet på port 23, SMTP (Epost) på port 25 och så vidare.
Fortsättningsvis skickade Mitnick en mängd förfrågningar till datorn X-Term för att kolla hur TCP-sekvensgeneratorn reagerade. Varje TCP-paket som skickas via ett nätverk får nämligen något som kallas TCP-toppsekvensnummer, som visar varifrån paketet kommer. Ungefär som en elektronisk poststämpel. Efter att ha tittat igenom vad Server och X-Term skickade tillbaka för "poststämplar" var det dags för Mitnick att sätta igång att luras.

Genom att på sin egen dator registrera, spela in om man så vill, de svar han fick tillbaka från de förfrågningarna han skickade till X-Term kunde Mitnick ganska enkelt skicka TCP-toppsekvensnummer som om hans egen dator fanns på nätverket han försökte bryta sig in i! Det är detta som kallas spoofing.

Falska förfrågningar
I nästa steg var det dags för Kevin Mitnick att ta sig fram till den dator han verkligen ville in på. Han skickade en falsk förfrågan till Måldatorn med hjälp av det TCP-sekvensnummer han fått fram genom att göra förfrågningar till X-Term. Förfrågningskommandona såg då ut att komma från Server och Måldatorn skakade glatt hand med denne eftersom det var en dator som var anslutet till samma nätverk. I sina inställningar (.rhost-fil) hade alltså Måldatorn information om att den fick prata med en dator som hette Server. Anledningen till att Server, den dator som Mitnick låtsades vara, inte började prata med Måldatorn var att den hade fullt upp med alla ogiltiga förfrågningar som hela tiden skickades till dess port 513. Shazam! Mitnick satt nu uppkopplad mot Måldatorn från Server via X-term.

Det djävulska är att allt ser normalt ut inifrån nätverket och i alla loggar. Problemet var bara det att även om Mitnick kunde svara på allt som Måldatorn skickade till Server, såg han ingenting av Måldatorns innehåll på sin skärm. Följaktligen måste han på något vis få Måldatorn att låta honom få logga in på ett normalt sätt. Han behövde få en Unix-prompt för att börja se sig om. Måldatorn ville gärna tjattra vidare med Server och genom att starta rsh (remote-shell) via X-term kunde Mitnick skriva dit ett + i Måldatorns .rhost-fil. Ett plus i en .rhost-fil betyder att alla datorer utanför nätverket (på Internet) är betrodda och att datorn får prata med dem. "Trust-skyddet" är frånkopplat. Efter denna slutmanöver kunde Mitnick lugnt skicka några TCP-nollställningskommandon till port 513 på Server och logga in på Måldatorn utan att ens bli avkrävd ett lösenord. Väl inne på Måldatorn kunde han upprepa proceduren och ta sig längre och längre in i nätverket. Kombinerat med Mitnicks andra kunskaper om datorintrång gjorde spoofing-tricket att han i princip inte gick att stoppa.

Kevin Mitnick har blivit berömd för att ha upptäckt den här formen av intrång. Han blev också jagad av FBI i åratal och slutligen fängslad för att ha praktiserat metoden. När det hela läckte ut började systemansvariga som gör skäl för sin lön att skydda sig mot IP-spoofing. Det togs även fram brandväggsprodukter som är bra. Dessutom kom det nya versioner på TCPMON och andra Unix-program som kan registrera och stänga av förutsättningarna för att intrång med hjälp av Mitnicks IP-spoofingmetod ska lyckas.

Länkar:

2600 Magazine
http://www.2600.com
Legendarisk hackertidning som alltid är först med det senaste om Mitnick.

Takedown
http://www.takedown.com/
Shimomura (killen som spårade upp Mitnick) berättar sin historia.

Om du vill ha tag på Kevin Mitnick går det att skriva E-mail till honom på:
kmitnick@2600.com, där man kommer att skriva ut ditt brev på papper och lämna det till honom i fängelset.


[Till början av sidan] [Till artikelförteckningen]