Artikel top billede

(Foto: Computerworld)

Lav et virtuelt netværk, der kan hackes - del 2

Prøv at hacke seriøst ved at opbygge et virtuelt netværk med VirtualBox.

Af Redaktionen, 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 gik i gang i sidste nummer med at installere og konfigurere en virtualiseringspaskke og fortsætter her i denne anden del.

Netværk i fængsel

Et fængsel, også kaldet en sandkasse, er et privat netværk af virtuelle maskiner, der ikke har adgang til noget andet netværk, herunder værtens fysiske netværk og internettet. Det er ideelt til at køre software, der kan indeholde malware. Med det kan man studere, hvad ondsindet software gør ved de computere, som den prøver at køre på. Der er ingen risiko for, at infektionen spreder sig. Det svarer fuldstændig til at arrangere en eller flere fysiske computere med en hub, der forbinder dem til det samme undernet.

Lad os oprette et fængsel, der rummer to Ubuntu-gæster. Vi kan kalde dem Gæst 1 og Gæst 2. Installer først to eksemplarer af Ubuntu. Når gæsterne er oppe at køre, indstiller du deres netværksadaptere til ’Internal’. Boot gæsterne.

Når de er bootet, skal du indstille gæsternes ip-adresser, for der er ingen dhcp-server til at uddele adresserne. I Ubuntu gør man det ved at klikke på ’System | preferences | network Connections’ fra desktoppens startbjælke. I det efterfølgende vindue skal du dobbeltklikke på netværksgrænsefladen ’Auto eth0’ og derefter klikke på ’IPv4 settings’.

Du skal ændre indstillingen for Method-menuen til ’Manual’. Klik ’Add’. På Gæst 1 skal du skrive adressen 192.168.1.2. Klik i kolonnen ’Netmask’, og skriv 255.255.255.0. På Gæst 2 skriver du den samme information, men med ip-adressen 192.168.1.3. I begge gæster skal du klikke ’Apply’ og skrive dit kodeord for at autorisere ændringen af systemet.

På desktoppens startbjælke ser du et ikon, der ligner to pile. For at sikre, at operativsystemet opfatter ændringerne, klikker du her, efterfulgt af ’Auto eth0’. Det genstarter netværksgrænsefladen med den nye konfiguration. Gør det på begge gæster.

Nu bør du kunne åbne en terminal og skrive kommandoen ping 192.168.1.3 fra Gæst 1 og ping 192.168.1.2 fra Gæst 2, og så bør pakkerne blive accepteret. Hvis du prøver at pinge andre adresser, herunder dns-navne, bør du modtage en fejlmeddelelse. Gæsterne tror, at de er på deres eget lille netværk.

Private undernet

Private undernet, der er forbundet til det fysiske netværk via en gæst, der er konfigureret til at fungere som en router, lader os oprette større netværk, vi kan udforske, og som i højere grad ligner dem fra den virkelige verden.

Metoden er blot en udvidelse af den ovennævnte teknik, som vi brugte til at oprette fængslet. Vi lader faktisk Gæst 1 og 2 bryde ud af fængslet og gør dem tilgængelige fra det fysiske netværk og dermed fra værtsoperativsystemet.

Først skal vi få en gæst til at fungere som router. Til det formål bruger vi igen Ubuntu. Opret eller navngiv en gæst, der bruger Ubuntu, og indstil adapter 1 til ’Bridged’. Slå den anden adapter til ved at klikke i dens tjekboks, og indstil den til ’Internet’.

Boot denne gæst, og klik ’System | Preferences | Network connections’. Denne gang er der to grænseflader. Giv ’Auto eth0’ en manuel ip-adresse på 192.168.0.100. Det er den netværksforbindelse, der kan ses fra det fysiske netværk. Skriv en netmask på 255.255.255.0 og en gateway på 0.0.0.0.

Giv den anden netværksgrænseflade en manuel ip-adresse på 192.168.0.1, en netmask på 255.255.255.0 og en gatewayadresse på 192.168.1.1.

Klik ’OK’ efterfulgt af ’Apply’. Ligesom da vi opsamlede de statiske ip-adresser i fængselsscenariet, skal du klikke på pileikonet og desktoppens startbjælke og vælge hver grænseflade efter tur for at sikre dig, at sys-temet er opmærksomt på ændringerne.

Nu skal vi bede routeren videresende pakker til de to undernet. Åbn en terminal ved at klikke ’Applications | Accessories | Terminal’. I den forbindelse skal vi bruge udvidede rettigheder, men af en eller anden grund virker det ikke at skrive ”sudo” før den ønskede kommando og skrive sit kodeord.

Skriv i stedet kommandoen sudo su og dit kodeord. Dermed logger du ind i rod- eller superbrugerkontoen. Skriv nu kommandoen echo 1> /proc/sys/net/ipv4/ip_forward. Det beder kernen videresende ip-adresser fra en grænseflade til en anden, afhængig af deres destinationsadresser.

Vi skal modificere Gæst 1 og 2 en anelse, så de kan finde det fysiske netværk. For at gøre det skal du modificere deres netværksgrænseflader for at tilføje en gateway på 192.168.1.1.

Nu skal du åbne en dos-prompt på værtsoperativsystemet ved at højreklikke den på Startmenuen (du finder den under ’Tilbehør’) og vælge ’Kør som administrator’. Når den kører, skriver du ROUTE ADD 192.168.1.0 MASK 255.255.255.0 192.168.0.100. Når du gør det, beder du Windows sende al trafik til det private netværk til den gæst, der er konfigureret som vores router (192.168.0.100).

For at teste forbindelsen til det private undernet skal du skrive kommandoen tracert 192.168.1.2 i dos-prompten. Det går ret langsomt, men hvis alt er indstillet rigtigt, vil den spore en rute fra den fysiske vært til 192.168.0.100 og til sidst til 192.168.1.2.

Måden, ”tracert” virker på, er at sende en ping til 192.168.1.2, men med et udløb af pakken på kun et ”hop”. Det får den til at udløbe, når den når til routeren, der returnerer en pakke for at meddele det. Returpakken indeholder routerens ip-adresse, som ”tracert” viser. Så sender programmet endnu en pakke, der er beregnet til at udløbe på det andet hop.

Eftersom den svarer til destinationens ip-adresse, kan ”tracert” stoppe, når den modtager en udløbspakke. Den omstændighed, at pakkerne bliver returneret fra det private undernet, viser, at routeren videresender pakker i begge retninger. Du bør også kunne pinge værten fra gæsterne.

Understøttelse af usb-enheder

Med VirtualBox kan gæsteoperativsystemer få adgang til ekstraudstyr, der er sluttet til usb-portene. Det giver en meget sikker metode til at undersøge indholdet af en suspekt usb-nøgle, der kan indeholde en eller anden form for malware. VirtualBox’ usb-understøttelse er meget avanceret. Hver virtuel maskine bliver præsenteret for en emulering af den fysiske usb-controller.

Bemærk, at for at forebygge enhedskonflikter bliver en usb-enhed utilgængelig for værtsoperativsystemet, når et gæsteoperativsystem bruger enheden. Det forhindrer beskadigelse af data, men du skal sikre dig, at værten ikke bruger enheden, når gæsten booter, ellers er det, som om enheden er blevet trukket ud af gæstens fysiske stik.

Når vi vil gøre usb-enheder tilgængelige for gæster, skal vi downloade VirtualBox’ extension-pack fra www.virtualbox.org/wiki/Downloads. Den rummer understøttelse af usb 2.0-enheder. På siden ’Download’ vælger du ’All platforms’ på VirtualBox 4.0.4 Oracle VN VirtualBox Extension Pack. Windows’ download-manager kommer frem. Vælg standard-instillingen, der lader VirtualBox Package Manager håndtere installationen.

Når den er downloadet, bliver du spurgt, om du vil installere hele pakken. Klik på ’Install’ for at gå videre, gå til bunden af licensbetingelserne for at klikke på knappen ’I agree’. Klik på den, så begynder installationsproccessen. Når den er færdig, klikker du ’OK’ for at afslutte. Når du vil føje usb-support til en gæst, skal du først sikre dig, at den er stoppet. I VirtualBox Manager vælger du den og klikker ’USB’. I det efterfølgende vindue skal du sikre dig, at ’Enable USB controller’ er slået til.

I de fleste tilfælde er det alt, hvad du behøver for at aktivere usb-understøttelse. Imidlertid har VirtualBox startet denne extension pack som et filsystem. I Linux kommer den frem på desktoppen. Du kan simpelthen højreklikke på den og vælge ’Eject’ for at fjerne den fra gæsteoperativsystemet.

Mens den virtuelle maskine kører, klikker du ’Devices | USB devices’ og vælger den enhed, som gæsten skal have adgang til. Efter nogle få sekunder bør den være tilgængelig. I Ubuntu og mange andre Linux-distributioner kommer enheden frem på desktoppen. Dobbeltklik på den for at få adgang til de filer og foldere, den indeholder.

Installation af servere

Rigtige netværk indeholder servere, og dem kan vi oprette i VirtualBox lige så nemt, som vi kan oprette enhver anden gæst. Vi skal bruge Ubuntu 11.04-serverens iso, downloadet fra http://www.ubuntu.com/download/server/download. Den er gratis. Opret en virtuel maskine, og boot den. Når den første run-wizard kommer frem, skal du vælge den iso, der skal bruges som installationsmedie. Når iso’en kører, vælger du engelsk som sprog ved at trykke [Enter]. Vælg ’Install Ubuntu Server’ ved at trykke [Enter] igen.

Vælg ’English’ som installationssprog, og vælg dit land i den efterfølgende liste. Der er ingen grund til, at Ubuntu skal identificere din tastaturtype. Accepter standarden (’No’) ved at trykke [Enter] en gang igen, og vælg land og tastaturtype i den efterfølgende liste. Begge disse standardindstillinger burde virke fint.

Efter at installationssoftwaren har identificeret netværkshardwaren, skriver du et navn på serveren. Accepter tidszonen, så fortsætter hardwareidentifikationen. Diskpartitioneringen kører. Vi vil bruge al pladsen på den virtuelle disk. Vælg derefter funktionen ’Guided – use entire disk’, og tryk [Enter].

Der er kun en disk på den virtuelle maskine. Vælg den ved igen at trykke [Enter]. Accepter partitionerne ved at vælge ’Yes’, og tryk så [Enter]. Efter diskpartitionering udpakker installationsprocessen baseoperativsystemet fra iso-filen. Det tager nogle få minutter. Når det er overstået, skriver du dit navn, et brugernavn og et kodeord. Nu kan du vælge at kryptere din hjemmemappe, hvis du vil, men det er ikke nødvendigt.

Nu skal installationsprocessen kende navnet på en eventuel proxyserver, som du vil have adgang til på internettet. Hvis der ikke er nogen proxy, kan du simpelthen trykke [Enter] igen for at gå videre. Nu spørger Ubuntu, hvordan du vil opdatere det kørende system. Med denne testserver vælger du ’No automatic updates’ og trykker [Enter].

For at gøre sagerne nemmere kan du vælge forud definerede pakker og grupper af pakker, der skal installeres. Flyt cursoren ned til ’LAMP Server’ (det står for Linux, Apache, MpSQL og php), tryk [Space] for at vælge den, og tryk så [Enter]. Installationsproceduren spørger, om den må installere Grub-bootloader på gæstens virtuelle harddisk. Svar ’Yes’ og genstart. Når serveren genstarter, bliver du præsenteret for en kommandolinje. Skriv dit brugernavn og kodeord for at logge ind. Til lykke – du har med succes installeret en server.

Delte mapper

Gæster kan nemt dele data med andre gæster og værten ved hjælp af noget, der kaldes delt mappe. Det virker lidt som en Windows-deling eller et Linux-filsystem, men er altid under VirtualBox’ kontrol og kræver ikke nogen form for netværk. I Windows ser hver delt mappe ud til at være endnu et netværksdrev. I Linux er de medier, som man kan starte.

I teorien kan man have så mange delte mapper, man vil. Når du vil arrangere en delt mappe, skal du oprette en mappe i værtsoperativsystemet. Vi kalder den ’Delt’. I VirtualBox Manager vælger du en gæst, der får adgang til denne mappe, og vælger sektionen ’Shared Folders’ i feltet til højre.

I det efterfølgende vindue klikker du på det ikon, der forestiller en mappe med et grønt plustegn. Klik på rullemenuen, vælg ’Other’, og gå så til mappen ’Delt’. Klik ’OK’. Hvis du vil have, at mappen skal være read-only for gæsten, vælger du boksen ’Read-only’. Klik også ved ’Auto-mount’.

Nu kan du boote gæsten. Uanset OS skal noget, der kun flygtigt er nævnt i dokumentationen, installeres. Det hedder Guest Additions, og det er en del af VirtualBox-distributionen, og der skal derfor ikke downloades noget. Du installerer Guest Additions ved at klikke ’Devices | Install Guest Additions’. Det burde automatisk starte den Guest Additions-iso, der følger med VirtualBox’ software.

I praksis kan gæster, der kører Linux, få lidt problemer med at starte Guest Additions-iso’en, og nogle distributioner er ikke indstillet til at autostarte den. Med Ubuntu 11.04 skal man for eksempel genstarte VirtualBox og starte gæsten for at få Guest Additions-iso-filen frem på desktoppen. Når det sker, højreklikker du og vælger ’Open with Autorun Prompt’. Et vindue bliver åbnet, og installationen begynder. Mod slutningen bliver du bedt om at trykke [Enter]. Gør det, og klik ’Places | Computer’.

I gæster, der kører Windows, er det lidt nemmere. Klik simpelthen ’Devices | Install guest additions’, og accepter standardindstillingerne i den wizard, der kommer frem.

Når Guest Additions er blevet installeret, bør den delte mappe være synlig som en deling i Windows. I Linux skal man klikke på ’Places | Computer’ og dobbeltklikke på filsystemet. Åbn mappen /media, så bliver den delte mappe, vi kaldte ’Delt’, synlig. Bemærk, at den har præfikset ”sf_”.

1. Start først den virtuelle maskine. Mens Ubuntu-dvd’en eller iso-filen bliver indlæst, får du valget mellem at installere eller at prøve Ubuntu som live-cd uden at installere den først. Klik ’Install Ubuntu’ for at gå videre.

2. Hvis du er koblet på internettet, kan du vælge ’Download updates while installing’ for at sikre dig, at systemet har alle de patches, der skal bruges. Tryk ’Forward’ for at få videre.

3. Klik igen ’Forward’ for at bekræfte, at du vil slette al den diskplads, der er knyttet til den virtuelle maskine. Diskens størrelse er omkring 8,6GB, og det er rigeligt. Klik ’Install now’ for at gå videre.

4. Mens installationsproceduren formaterer diskpladsen, bedes du skrive din tidszone og dit tastaturlayout. Standardindstillingerne burde være korrekte. Hvis de ikke er det, skal du vælge dem i den tilknyttede liste og klikke ’Forward’.

5. Skriv dit fornavn og et navn til maskinen. Hvis det genererede brugernavn er i orden, skal du skrive et kodeord til din konto og bekræfte det. Vælg ikke muligheden for at logge på automatisk. Det er usikkert. Klik ’Forward’.

."]

."']

Windows har en glimrende, om end alt for lidt udnyttet, fjernbetjeningsfunktion ved navn Remote Desktop Protocol (RDP). Eftersom den er blevet standard, kan den bruges til at styre ethvert operativsystem, der kan bruge den protokol.
VirtualBox har sin en udgave af RDP, og den kan man bruge til at få forbindelse med en gæst på en fjerncomputer.

Man kan endda på afstand styre en gæst, der er låst inde i sit eget private netværk. Ligesom gæsten ikke aner, at den kører på en virtuel computer, således ved den heller aldrig, at man ikke får forbindelse til den over RDP. Når man bruger RDP, kommunikerer man med VirtualBox, snarere end med gæsteoperativsystemet.

Det er meget enkelt at oprette en fjernforbindelse til en gæst. Sæt først gæsten i gang. Klik så på ’Devices | Enable remote display’. Værtens Windows-firewall kommer med en advarsel om, at den blokerer visse dele af VirtualBox. Det drejer sig om RDP-protokollen. Besvar popuppen ved at tillade protokollen at passere uhindret.

Så skal du i gæsteoperativsystemet holde [Windows]-tasten nede og trykke [R]. Det udløser Startmenuens ’Kør’-funktion. Nu skal du skrive kommandoen mstc her og trykke [Enter]. En popup-advarsel fortæller, at fjerncomputerens identitet ikke kan afgøres. Klik ’Yes’.

Nu bør der komme et vindue med den kørende gæsts desktop. Du får bevis for, at det, der bliver modtaget i Windows, er gæsteoperativsystemet via VirtualBox: Når du genstarter systemet, kan du se det ske. Du lukker fjernforbindelsen ved simpelthen at lukke vinduet.

Der kan forekomme en mærkbar forsinkelse mellem musebevægelser og den markør, der bevæger sig på gæstens desktop. Det skyldes standardindstillingen for forbindelseshastigheden. Næste gang du kører ”mstc”, skal du klikke på ’Options’ og derefter klikke på knappen ’Experience’. Vælg ’LAN’ fra menuen. Nu burde ydelsen blive bedre.

[themepacific_accordion]
[themepacific_accordion_section title="Fakta"]

Det skal du bruge:

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

Antivirus

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

Ældre hardware

[/themepacific_accordion_section]
[/themepacific_accordion]