The pull between sound and syntax creates a kind of musical tension in the language that interests me.
Jeg går nu ud fra at du har et kørende system med Linux enten som bund OS eller installeret virtuelt så det kan startes op oven på dit bund OS. Jeg går også ud fra at du som minimum kan bruge de helt grundlæggende Linux kommandoer og navigerer filsystemet uden brug af den grafiske flade. Det at kunne arbejde uden den grafiske flade er helt nødvendigt for at kunne hacke og der kommer vi meget mere ind på senere, så du kan lige så godt vende dig til det.
Lektion 2 handler om snifning. Årsagen til at vi starter her, er at vi helt grundlæggende skal bruge snifning til flere forskellige ting i vores arbejde frem mod målet. I starten skal vi bruge snifning til at opnå protokol forståelse, til at lære hvad netværks trafik er for noget og til at lære at kunne se og analyserer data pakker helt ned på deres mest grundlæggende niveau i bits og bytes. Jeg vil våge den påstand at denne lektion er den vigtigste du kommer ud for og hvis du ikke får nok ud af denne lektion, bruger nok tid på den og kommer nok i dybten, så vil du få problemer længere frem. Senere skal vi bruge snifning til at dokumenterer hvad vi gør og til at finde oplysninger vi har brug for
Vi arbejder med den sniffer der hedder TCPDump (den fås også til windows, der hedder den WINDump, men jeg anbefaler at du arbejder i Linux fra starten og vender dig til det) samt den ovenbygning til tcpdump der hedder WireShark (tidligere hed den Ethereal)
Øvelse:
1. Start med at søge på nettet og læs alt hvad du kan finde om snifning, netværks sniffere, tcpdump, windump, ethereal, wireshark. Læs især tcpdump Man page så du kan bruge værktøjet (Linux kommandoen man tcpdump)
2. Nu skal du så i gang med at sniffe. Her er det væsentligt at forstå at når man sniffer med et værktøj som tcpdump, så vil man næsten altid opbygge sine sniffe kommandoer trindvis. Altså sniffe og konstaterer at det man har sniffet har alt for mange oplysninger med, sætte endnu en option på kommandoen og sniffe igen. Det er sådan man lære til at starte med så når du sniffer og får så meget data at du ikke forstår det, så er det fordi din kommando ikke har været præcis nok og du skal tilføje flere options eller gøre den du har mere specifikke. Start med følgende:
Åben http://www.bufferzone.dk i din browser og start tcpdump op (begge dele i Linux naturligvis) med kommandoen tcpdump. Herefter reloader (Ctrl + F5) du hjemmesiden og ser hvad tcpdump fanger. Prøv herefter at lege med -n, -v og -X (læs man pagen). Hver gang du tilføjer en ny option, så reload hjemmesiden.
3. Når du er rimelig fortrolig med tcpdump til grundlæggende og upræcis snifning, skal du i gang med mere præcis og helt specifik snifning for at få den nødvendige protokol forståelse. Jeg giver dig her nogle grundlæggende ting som du bør sniffe og analyserer, men det er kun begyndelsen og du bør kaste dig over meget mere end det.
-
snif et TCP tree way handshake og identificer det blandt de fangede pakker
-
Snif en FTP session og se at du faktisk kan læse password og brugernavn i klar tekst
-
Snif afhentning af email med POP3 (den protokol du bruger til at hente din mail) og se at du faktisk kan se dit brugernavn og password.
-
Snif noget ssl trafik (når du f.eks. indtaster passwords til gmail og der står https i browseren) og se at trafikken er krypteret. Husk også at kigge efter hvilke porte der er i brug osv
-
snif et HTTP GET request (når du åbner en ny hjemmeside). Brug -x optionen og sæt pakken sammen så du kan se hvilke variabler der medsendes en sådan request
-
Snif SMTP-, ICMP-, IRC, streaming video, osv, osv trafik.
Denne lille øvelse bør tage dig flere måneder at gennemføre, med mindre du arbejder mange timer hver dag med dette. Flere af underopgaverne er formuleret med så lidt tekst at du bliver nødt til selv at google for at få oplysninger nok. Det er ikke nok at du kan fange trafikken, du skal kunne læse den og forstå hvad det er der sker, hvilke elementer der indgår og hvordan pakkerne er sat sammen.
Når du i fremtiden går i gang med øvelserne, vil snifning altid indgå. Det bør være rygmarvs handling at du altid starter en sniffer før du gør noget som helst andet. Den sniffede trafik skal fortælle dig hvad der er sket, at der er sket noget overhoved og den skal give dig mulighed for at gennemskue når noget ikke går som forventet. Senere vil du skulle bruge snifning som dokumentation på hvad du har foretaget dig, så du kan genskabe tingene og gøre det samme igen.
Tags: Hacking, IT sikkerhed, TCPDump