Hannemyr om ett av Telenor-skriptene

Forsker Gisle Hannemyr har gått gjennom et av skriptene som var åpent tilgjengelig hos Doktor Online, og viser hvordan det kunne vært brukt til skadeverk.

Digi har bedt forsker Gisle Hannemyr gjennomgå et skript som inntil torsdag kveld 10. april var fritt tilgjengelig på denne adressen:

http://www.doktoronline.no/ta_i_mot_best.pl

Dette er et annet skript – og et annet sikkerhetshull – enn det systemutvikler Espen Vestre i Telenor mener var brukt av mannen som er siktet for filslettingen i Telenor natt til søndag 6. april.

Hannemyr forklarer at i skriptet han er forelagt, finnes ingen "skjulte" parametre, og heller ingen kommandoer for å opprette filer.

Han gir denne kjappe gjennomgangen av hva skriptet gjør og hvordan det åpner for sletting av filer (og mye annen "moro"):

___

Skriptet får overlevert et sett med navngitte parametre som en del av URL-strengen. Denne vil ved normal bruk bli generert av den HTML-form som spør en bruker om navn, adresse og annet.

Den som har laget skriptet har ønsket at det skal gjøre følgende:

  • De data som brukeren oppgir blir splittet opp i navn/ verdi-par
  • "+"-tegn blir oversatt til blanke og eventuelle hex-koder oversatt til ASCII
  • E-post-adressen, som blir overført som en parameter med navnet "7", blir tilordnet variabelen $adresse, og det åpnes en såkalt "pipe" til shell for å sende e-post til denne adressen
  • De andre parametrene blir samlet sammen i en variabel ($brev) og blir innholdet i det brev som sendes
  • Når brevet er sendt vises det en kvittering: "Din bestilling er mottatt." for brukeren.

Problemet med skriptet er at en kommando som inneholder e-post-adressen $adresse pipes til shellet uten at det er gjort noe forsøk på å sjekke at det faktisk er en gyldig e-post-adresse.

Setningen:

open (MAIL,"|mail $adresse");

legger, slik Telenors server var konfigurert, adgangen til systemet temmelig åpent for den person som bestemmer hva som står i feltet $adresse.

Vedkommende kan slette de filer han vil (slik det skjedde her), men hullet kunne like gjerne vært brukt til å bryte seg helt inn på serveren (Telenor har nok rett når de sier at dette ikke skjedde i den aktuelle situasjon – men det skyldes i så fall at vedkommende inntrenger ikke hadde noen interesse av å gjøre det).

Hvordan kan man så bestemme hva som skal stå i feltet $adresse?

Vel, ganske enkelt ved selv å bygge parametrene til den URL man bruker for å aktivisere skriptet. Her er hvordan man sletter filer – i tre enkle steg:

1. Start opp Netscape Navigator eller Microsoft Internet Explorer.

2. I feltet "Location" (Netscape) eller "Adresse" (Microsoft IE) skriver du følgende URL: http://www.doktoronline.no/ta_i_mot_best.pl?7=a%3b+rm+-Rf+%2f

3. Trykk på Enter-tasten.

Dette er definitivt ikke rakettvitenskap.

Den aktuelle kommando i programmet ser nå slik ut:

open (MAIL,"|mail a;rm -Rf /");

som betyr følgende: Utfør først kommandoen "mail a" (send e-post til "a") – utfør deretter kommandoen "rm -Rf /" (slett alle filer).

Et par andre observasjoner:

  • All den tid dette sikkerhetshullet lot seg aktivisere via en URL, ville det vært uproblematisk utføre hærverk anonymt – eller å rigge en "booby-trap" hvor man fikk en uvitende og utenforstående tredjepart til å detonere bomben.
  • Å slette en masse filer vekker en del oppsikt, men all den tid det finnes backup så er skaden minimal. Dette sikkerhetshullet var av en slik karakter at det i realiteten ga full bruker-adgang til den aktuelle server. Dersom en slik "bakdør" hadde blitt utnyttet i all stillhet kunne en forbrytersk sinnet person gjort langt større skade enn det Telenor opplevde her.

Gisle Hannemyr

Til toppen