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. |