Skip to content

🦠 Øvelse 52 – Grundlæggende malwareanalyse med VirusTotal


🎯 Formål

Formålet med øvelsen er at give dig en introduktion til malwareanalyse ved brug af værktøjet VirusTotal. Du lærer at:

  • uploade filer og hashes til analyse
  • tolke resultater fra antivirusmotorer
  • reflektere over begreber som signaturer, heuristik og falsk-positiver
  • vurdere malwarefund uden at afvikle dem

🧠 Baggrund

Malware (malicious software) er blot almindelig software. Det består af kode og data og kan kun udføre det, systemet tillader. Analyse handler derfor om at finde tegn på skadelig hensigt.

Antivirusværktøjer – som dem VirusTotal bruger – identificerer malware vha. blandt andet:

  • Signaturer – kendte mønstre, fx i filens indhold eller hash
  • Heuristik – regler, der vurderer om noget ligner malware
  • Mønstre – klassificering baseret på adfærd eller struktur

VirusTotal er en gratis tjeneste, der analyserer filer og URLs med over 70 antivirusmotorer. Det bruges af sikkerhedsteams, udviklere og analytikere til hurtigt at vurdere, om en fil er mistænkelig.


⚠️ Vigtigt

Du må aldrig afvikle filer, du ikke kender – heller ikke i tests.
I denne øvelse analyserer du udelukkende uden at køre noget. Uploads til VirusTotal er sikre og isolerede.


🔍 Trin 1 – Undersøg “Martins very non suspicious app”

I dette trin skal du uploade en binær fil, der er designet til at ligne en simpel malware launcher, men uden at indeholde kode, der udfører skadelige handlinger.

Billede 1 viser implementeringen i programmeringssproget C:

Malware launcher look alike

Billede 1. Implementering der ligner en malware launcher

Programmet indeholder blandt andet:

  • Et forsøg på at skifte bruger til root (setresuid(0,0,0))
  • Et kald til at starte en shell

Koden i sig selv er ikke nødvendigvis skadelig, men kan være problematisk afhængigt af kontekst.


🔗 Perspektiv: SUID og sårbarheder

Implementeringen illustrerer samme princip som virkelige sårbarheder, hvor legitime programmer kan misbruges til privilege escalation.

Et kendt eksempel er CVE-2021-4034 (PwnKit), hvor et SUID-program (pkexec) kunne udnyttes til at opnå root-rettigheder.

Fælles for sådanne tilfælde er:

  • Programmet er ikke malware i sig selv
  • Sårbarheden opstår i samspillet med systemet
  • Antivirus opdager det typisk ikke

🧠 Vigtig pointe

⚠️ Antivirus detekterer ikke intention – kun mønstre, signaturer og kendt adfærd.
Det betyder, at nye eller ukendte programmer ofte ikke bliver opdaget.

Derfor kan et program:

  • se mistænkeligt ud for et menneske
  • men stadig ikke blive markeret som skadeligt

🛠️ Opgave

  1. Hent zip-filen martins_very_non_suspicous_app.7z fra Ressourcer i dagens lektion på Itslearning
  2. Udpak filen
  3. Upload den til https://www.virustotal.com
  4. Besvar:
    • Bliver filen markeret som skadelig?
    • Hvor mange antivirusmotorer reagerer?
    • Er der enighed blandt motorerne?
    • Hvorfor kunne denne type program være farlig i en anden kontekst?

🛡️ Perspektiv: Defense in Depth

Denne øvelse illustrerer et centralt princip i IT-sikkerhed: Defense in Depth (forsvar i dybden).

Den analyserede binære fil bliver ikke markeret som skadelig af antivirusmotorer og indeholder ikke i sig selv kendt malware. Isoleret set fremstår den derfor som ufarlig.

Men i den rette kontekst kan den blive problematisk.

Et enkelt sikkerhedslag (fx antivirus) vil typisk ikke være tilstrækkeligt alene.

🔗 Eksempel på risikofaktorer

Hvis følgende forhold er til stede:

  • Filen har SUID-bit sat (kører som root)
  • Den kan eksekveres af almindelige brugere
  • Den indgår i en større kæde (fx sammen med andre scripts eller fejlkonfigurationer)

…kan den potentielt bruges til at opnå uautoriseret adgang.

Dette minder om kendte sårbarheder som CVE-2021-4034, hvor legitime programmer kunne misbruges til privilege escalation.


🧠 Vigtig læring

❗ Sikkerhed afhænger sjældent af én enkelt kontrol.

Antivirus alene er ikke nok, fordi:

  • Den ikke forstår kontekst
  • Den ikke vurderer systemkonfiguration
  • Den primært genkender kendte mønstre

🛡️ Defense in Depth betyder derfor:

Man kombinerer flere sikkerhedslag, fx:

  • Begrænsning af SUID-programmer
  • Rettighedsstyring (least privilege – og ideelt ingen unødvendige SUID-programmer)
  • Overvågning og logging / Endpoint detection (EDR)

🎯 Konklusion

Selvom en fil ikke bliver markeret som skadelig:

  • kan den stadig være risikabel
  • hvis den indgår i den forkerte sammenhæng

👉 Det er kombinationen af flere faktorer – ikke én enkelt indikator – der afgør, om noget er sikkert.


💬 Refleksion

  • Hvilket lag i Defense in Depth ville have stoppet denne situation?
  • Er antivirus et stærkt eller svagt lag i dette eksempel – og hvorfor?

🧪 Trin 2 – Undersøg en EICAR-testfil

EICAR (European Institute for Computer Antivirus Research) er en nonprofit-organisation, der samarbejder med antivirusbranchen om at udvikle standarder og testværktøjer.

EICAR har udviklet en testfil, som indeholder en helt ufarlig tekststreng, men som med vilje udløser en advarsel i antivirusprogrammer.

⚠️ OBS: Brug ikke EICAR-filen direkte på din egen laptop – antivirus såsom windows defender vil typisk blokere den.
Brug i stedet et virtuelt miljø, fx Kali Linux i VirtualBox eller Proxmox.

  1. Gå til https://www.eicar.org/download-anti-malware-testfile
  2. Kopiér tekstindholdet fra EICAR.COM.TXT (Næste i bunden af siden. Åben den ved at klikke på teksten EICAR.COM.TXT )
  3. Opret en ny fil og gem den som eicar.txt
  4. Upload filen til https://www.virustotal.com
  5. Undersøg:
    • Genkender alle antivirusmotorer filen?
    • Hvorfor bliver den markeret som malware, selvom den ikke er det?

EICAR-filen bliver markeret som malware, fordi antivirusmotorer er programmeret til at reagere på enten:

  • en eksakt hashværdi af testfilen(signature)
  • eller selve tekststrengen i indholdet, som matcher en kendt test-signatur

Strengen udfører ikke noget – den er blot en ufarlig tekstsekvens.


🧾 Trin 3 – Undersøg en kendt hash

  1. Gå til https://www.virustotal.com
  2. Søg på følgende SHA-256-hash værdi: e9104fcd09a12192bb49579a999db843a86ca2a75d750973daf9e618f829ff40
  3. Analyser:
    • Hvad viser analysen? Er filen klassificeret som malware?
    • Hvilken type malware er det?

🤔 Refleksionsspørgsmål

  • Hvad kan vi lære af at sammenligne flere antivirusmotorer?
  • Hvad betyder det, når nogle motorer markerer og andre ikke gør?
  • Hvordan kan VirusTotal bruges i et incident response-forløb?
  • Hvad kan du ikke konkludere ud fra en VirusTotal-analyse?
  • Hvordan kunne du bruge den type data i en større sikkerhedsløsning?
  • Hvordan kunne hashbaseret søgning bruges til at identificere kendt malware i systemer?
  • Hvad ville du gøre, hvis kun én motor udpegede en fil som skadelig?
  • Hvorfor kan nogle skadelige programmer undgå detektion i VirusTotal?
  • Hvilke begrænsninger har VirusTotal i forhold til at opdage nye eller ukendte trusler?
  • Ville du stole på en fil, som 0/70 antivirusmotorer markerer som skadelig? Hvorfor / hvorfor ikke?

🧩 CIS Controls – Kobling

CIS Control: 10 – Malware Defenses
Relevans: Øvelsen bruger statisk signaturanalyse til vurdering af malware

CIS Control: 03 – Data Protection
Relevans: Testfiler håndteres forsigtigt og aldrig eksekveres

CIS Control: 17 – Incident Response Management
Relevans: Øvelsen træner analysemetoder, som kan bruges i IR-forløb


🔭 Videre perspektiv

I større systemer bruges SIEM-løsninger som fx Wazuh, som kan:

  • indsamle metadata om filer og hashes fra hele systemet
  • sammenligne mod virusdatabaser og kendte signaturer
  • udløse alarmer baseret på fund som dem, du har analyseret her

Dermed kan du automatisere malwaredetektion og korrelation på tværs af logs og systemer.


Last update: 2026-04-27 17:41:00