Artikel top billede

(Foto: Computerworld)

Professionel sikkerhedsscanning af netværket

Se på dit netværks infrastruktur gennem en hackers øjne
ved hjælp af to avancerede værktøjer.

Af Rasmus Elm Rasmussen, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

Vi har haft mange overvejelser omkring, hvorvidt vi burde bringe et emne op som dette. Som med så mange andre ting i livet, kan man bruge gode ting forkert, og dermed komme i rigtig stor klemme. Vi mener dog, at for at skabe så stor sikkerhed som muligt på dit netværk, er du nødt til at se din tilgængelighed med en hackers øjne.

Vi kan dog ikke sige nok gange, at hvis du vil forsøge dig med denne artikels indhold, så skal du i den grad have dine etiske og moralske briller på og kun – vi gentager – KUN anvende programmerne på dit EGET netværk. Vi gør dig opmærksom på, at brugen af den anvendte software på andre netværk end dit eget private er ulovlig ifølge dansk lovgivning. Vi forærer dig derfor heller ikke adgang til, hvor du kan hente den benyttede software, den må du selv finde ude i cyberspace.

Det er afgørende at opdatere systemet regelmæssigt og have firewall og antivirussoftware, men det er ikke altid nok til at sikre sig mod værktøjer, der samler information. Mange af de standardværktøjer, der bliver brugt af fagfolk inden for netværkssikkerhed (og af ondsindede hackere) kan man hente gratis på nettet. De kan nemt afsløre chokerende detaljer om dit netværk, og hvis man bruger et af dem, får man et bedre indtryk af behovet for at sikre sig, og hvad man skal sikre.

Alt om Nmap

Nmap er lavet af Gordon Lyon, der er kendt i netsikkerhedsmiljøet som ”Fyodor”. Det, Nmap gør, der både enkelt og sindrigt. Det er en portscanner, der er beregnet til at opregne åbne TCP- og UDP-porte på en computer, der kører på et net. Siden det blev lanceret i 1997, er denne enkle funktionalitet blevet udvidet til at gøre Nmap til et seriøst værktøj til dem, der vil analysere netværk eller angribe dem.

Nmap kan finde ud af langt mere om målet end blot, hvilke porte der er åbne. Ved at sende specielle sekvenser af datapakker og analysere de resultater, der bliver sendt tilbage af målet TCP/IP-staksoftware, kan Nmap identificere det operativsystem, der kører på fjernmaskinen med stor nøjagtighed.

Det kan også afsløre netværksadapterens mærke og model, oppetid for Linuxmaskiner og sågar også den software, der er forbundet med en bestemt port. Det gør programmet meget farligt i de forkerte hænder, men det kan også være meget nyttigt, hvis man prøver at forbedre sin egen sikkerhed ved at se på systemet gennem en hackers øjne.

Nmap blev født på Linux, men vi skal bruge Windowsversionen, der har en grafisk brugerflade, som gør arbejdet en smule nemmere.
Enkel scanning

Download den eksekverbare installationsfil (du må selv finde den…) og kør den. Som en del af installationsprocessen bliver softwaren Pcap, der fanger pakker, og som er opensource, installeret. Nmap skal bruge denne software til at køre ordentligt under Windows, så du skal ikke blive forskrækket, når du bliver bedt om at bekræfte installationen.

Hvis du har en tidligere version installeret på maskinen, bliver den gamle version først afinstalleret. Bortset fra det er hele installationsprocessen et spørgsmål om simpelthen at acceptere licensaftalen, og derefter blive ved at klikke ”Next”. Når det er overstået, kan du køre Nmap ved at starte Zenmap-brugerfladen, som du finder i Startmenuen. Maksimer startvinduet, når det kommer frem.

Lad os nu foretage en grundlæggende scanning af en maskine. Hvis du ikke har sat din ”værts” fil til at kortlægge navne til IP-adresser, skal du skrive IP’en på et mål. Eller skriver du navnet i inputboksen Target øverst på skærmen. I menuen Profile til højre vælger du ”Regular Scan” og trykker på knappen ”Scan” ved siden af.

Scanning tager få sekunder. Imens bliver Nmaps output sendt til brugerfladens hovedvindue. Hvis man starter det på et Linuxsystem med Apache 2-webserver og VNC (fjernstyringssoftware) installeret, afslører det næsten øjeblikkelig, at port 80 er åben for HTTP-forbindelser, og at port 5900 er åben for fjernforbindelser. Hvis denne maskine stod ubeskyttet ude i internettets vildmark, kunne man forvente, at den med få minutters mellemrum blev udsat for forsøg fra Nmap-lignende funktioner med henblik på et angreb.

Der er flere knapper på hovedvinduet i Zenmap-brugerfladen. Knappen Ports/Hosts gør det muligt at opregne og sortere de åbne porte på ens netværk, mens knappen Topology gradvis tegner et diagram over netværket, mens man scanner flere værter. Klik på knapperne ”Fisheye” og ”Controls” for at zoome ind og få et bedre overblik over netværket.

Omfattende scanninger

Vi kan bruge Nmap til at opdage endnu flere oplysninger om maskinen ved at bruge forskellige scantyper. Prøv funktionen ”Intense scan, all TCP ports”. Den er lidt længere om at blive færdig, men den scanner hele rækken af mulige TCP-portnumre (1 til 65.535) og leder efter åbne huller. Den foretager også identifikationstjek af operativsystemet og prøver at se den software, der kører bag hver åben port.

Hvis vi går tilbage til Ports/Hosts, viser den nu ikke kun de to porte, vi så for lidt siden, men også navnene på de applikationer, der kører på dem. Når det gælder Apache 2, viser den også softwareversionen og også det underliggende operativsystem (Ubuntu i vores tilfælde).

Klik nu på knappen Host Details. Det er en funktion, der ofte chokerer folk og får dem til at installere en rigtig firewall. Udvid sektionerne for at få flere detaljer. Nmap ved, at vores maskine kører Linux (inklusive kernens version). Den kender netkortets MAC-adresse, og derfor kan den slå producenten op. Med den viden i hænde kan en dygtig hacker smadre kortet.

Interessant nok fandt vores eksemplar af Zenmap også en P2p-fildelingsapplikation, der kørte. Den var teknisk forbundet til en port, men den var ikke forbundet til internettet under scanningen.

Den mest omfattende af de standardscanninger, Zenmap har til rådighed, er ”Show comprehensive scan.” Den er et stykke tid om at blive færdig, men enhver sten bliver vendt, mens den leder efter de mindste detaljer om målet. Efterhånden som man scanner flere mål, bliver de føjet til topologidiagrammet i Zenmap og giver en enestående grafisk fremstilling af ens netværk. Hvis ens netværk er segmenteret op i subnets ved hjælp af en router eller switch, kan man også prøve at scanne det.

Nmap – med eller uden Zenmapfladen – er et glimrende værktøj, når man skal forklare folk, hvorfor de skal sikre, at kun de porte, de faktisk skal bruge, er åbne på firewall’en, og at det er meget farligt at bruge gamle versionen af netsoftware. For eksempel har ældre udgaver af Apache 2 sårbarheder, som man kan udnytte ved hjælp af et bufferoverflow-angreb (se tekstboksen ”Bufferoverflow”). En hacker behøver kun at vide, hvilken version af Apache 2, man bruger, når han skal planlægge sit angreb. Den oplysning kan Nmap skaffe på få øjeblikke.

Lad os sniffe lidt

At ”sniffe” netværkstraffik er nemlig en anden vigtig teknik, som hackerne bruger. Den kan være endnu mere afslørende. Et førende standardværktøj til netværksnifferi er Wireshark, der tidligere hed Ethereal.

Når vi tidligere har skullet vurdere et netværks interne sikkerhed, har vi altid begyndt med Ethereal. Vi kom engang ud for, at alting virkede vældig sikkert. Der var ikke meget at sige. Men pludselig bemærkede vi noget telnettrafik i Ethereal, blandt andet brugernavnet ”root” og et kodeord. Kendere af Linux og Unix ved, at ”root” er systemadministratorens konto, den såkaldte ”superbruger”.

Telnet sender brugernavne og kodeord over netværket som ren tekst. En systemadministrator var ved at logge på en server ved hjælp af det, og han burde have brugt en sikker forbindelse. Vi loggede på serveren med den samme konto, downloadede systemets kodeordsfil og kørte det gennem en kodeords-cracker. Det viste sig, at brugernavne og kodeord var de samme på andre servere, så vi kunne logge in, hvor vi havde lyst.

Til sidst gav vi en konvolut med en rapport til alle medlemmerne i netværksteamet. De så ud til at kede sig. Det var ganske tilfredsstillende at se deres ansigter blive askegrå, da de læste teksten. Her kunne de se deres personlige kodeord, der burde have været sikre.

Men tilbage til hovedsagen: Download den eksekverbare Wireshark-fil og sæt installationen i gang. Under processen bliver du igen spurgt, om du vil installere Pcap. Sig nej denne gang, men sørg for, at der ikke er klikket i boksen Services på de skærmbillede, hvor brugere uden administratoradgang kan fange trafik. Det forhindrer, at normale brugere opdager, at Wireshark er installeret og bliver brugt til at snage hos andre.

Når Wireshark er installeret, skal du køre det. Programmet bruger Pcap til at sætte netkortet i ”promiskuøs” tilstand. Det betyder, at det accepterer pakker, der ikke er tiltænkt det. Det er nemt i Linux, men folkene bag Windows forestillede dig aldrig, at der blev brug for en sådan funktion. Det er derfor, vi har brug for Pcap.

Fang trafik

Vælg ”Interfaces” fra menuen Capture, så kommer der en boks med en liste over alle grænsefladerne, også de virtuelle. Du kan vælge en hvilken som helst af dem og fange trafik fra dem, men hvis du er forbundet direkte til din bredbåndsforbindelse, må vi hellere prøve noget, der kan chokere dig. Find dit WAN-interface. Det er det, der har en offentlig IP-adresse, og det hedder noget i retning af ”WAN (PPP/SLIP) Interface”. Tryk på ”Start”-knappen, og Wireshark går i gang med at fange.

Gå nu til din e-mail-klient og indstil den til at downloade nye beskeder fra din netudbyders server. Tilbage i Wireshark kan du se, at der begynder at blive indsamlet data. Efter et kort øjeblik stilner trafikken af. Når det er sket, går du til Wiresharks Capture-menu og vælger ”Stop”.

Hver fanget pakke har et tidspunkt, en kilde en destinationsadresse, en associeret protokol og en kort beskrivelse af dens indhold og type. Blad gennem dataene og led efter tekst, der begynder med ordene ”Request: USER” og ”Request:PASS”. Du bør genkende dem som det brugernavn og det kodeord, du har brugt til at lokke på netudbyderens mailserver – de bliver sendt over internettet som ren tekst!

Hvis din netudbyders server understøtter kryptering af brugernavn og kodeord, kan du bruge det for at forhindre, at det her sker. Hvis det ikke er tilfældet, men udbyderens webmail-interface bruger SSL (url’en begynder med ”HTTPS”), skal du bruge det i stedet. SSL er ideel, hvis du er bekymret for, at dine oplysninger bliver sendt som ren tekst og opsnappet på vejen, idet forbindelsen og informationen bliver krypteret, før den så meget som forlader din webbrowser.

God fornøjelse, og brug nu din fornuft godt.

Spor ruter gennem cyberspace

Med Windows og Linux følger der et meget nyttigt redskab ved navn ”traceroute” (”tracert” i Windows), der fungere som rutefinder i cyberspace.
Åbn en kommandolinje og skriv navnet på kommandoen, efterfulgt af en serveradresse (tracert www.google.co.uk, for eksempel). Der bliver opbygget en liste over hop, der viser ruten fra din maskine til den, du har specificeret på kommandolinjen.

Traceroute bruger den samme protokol (ICMO) som Ping-funktionen. Ping viser, om en maskine er i gang og opmærksom, men protokollen kan også specificere, hvor mange hop der skal være før timeout. Når det sker, kommer der en besked.

Beskeden indeholder IP-adressen på den maskine, hvor ping’en fik timeout. Det udnytter Traceroute ved at sende et ping med en TTL (time to deliver) på et hop. Det giver den første server timeout og returnerer dens IP-adresse. Derefter sender det endnu et ping med en TTL eller to og så fremdeles, indtil IP-adressen eller DNS-navnet på serveren svarer til den, du har skrevet.

Bufferoverflow finder sted, når nogle prøver at sende for mange data til et programs underrutine. Hvis programmet ikke tjekker længden af dataene, før det kalder underrutinen, er der risiko for, at operationen bliver afbrudt.

Når et program foretager et kald, anbringer det returadressen på stakken. Herover gør det plads på stakken til den bufferplads, der skal gemme de data, der bliver sendt. Et meget enkelt eksempel: Hvis den allokerede plads er 10 bytes, og dataene er på 11 bytes, overskriver den 11. byte returadressen.

Når underrutinen er færdig, henter computeren den nu ødelagte returadresse fra stakken og prøver at bruge den, hvilket udløser alle mulige besynderlige virkninger. Men hvad nu, hvis nogle med vilje arrangere dataene sådan, at de overskriver returadressen med det resultat, at computeren bliver ved med at eksekvere den byte, der følger efter?

Hvis dataene fylder med end 11 bytes, vil computeren prøver at eksekvere byte 12 og så videre. Den fremgangsmåde bliver brugt af folk, der angriber pc’er på afstand ved at bruge åbne porte. De får computeren til at gøre, som de synes – herunder at bede om et login.

[themepacific_accordion]
[themepacific_accordion_section title="Fakta"]

Det skal du bruge…

[/themepacific_accordion_section]
[themepacific_accordion_section title="Fakta"]

Resourcer

[/themepacific_accordion_section]
[themepacific_accordion_section title="Fakta"]

Ud med tyvene

[/themepacific_accordion_section]
[themepacific_accordion_section title="Fakta"]

Beviset

[/themepacific_accordion_section]
[themepacific_accordion_section title="Fakta"]

Advarsel

[/themepacific_accordion_section]
[/themepacific_accordion]