Cybersikkerhed er et magtspil. Cyberkriminelle og virksomheder er i konstant tovtrækkeri, med privilegerede oplysninger som den eftertragtede præmie. Mens virksomheder kæmper for at beskytte følsomme data, kæmper cyberkriminelle for at få adgang til dem. Hver side vælger deres våben. I denne blog vil vi udforske et våben, som er et populært valg for begge sider: PowerShell.

Indhold:

Hvad er PowerShell?

At kalde Windows PowerShell for en kommandolinjefortolker ville være at underminere dens muligheder. Selvom den kan alt, hvad et shell-program som Kommandoprompt kan, er PowerShell også et script-sprog, der bruges af administratorer til at automatisere opgaver. Et godt eksempel er Active Directory-styring. Administratorer kan bruge timevis på at administrere deres organisations Active Directory manuelt eller bruge et enkelt PowerShell-script eller en enkelt kommando til at udføre massehandlinger. Mange administratorer foretrækker PowerShell frem for GUI-værktøjer som AD Administrative Center eller AD Users and Computers.

5 måder, cyberkriminelle bruger PowerShell-scripts på for at udføre cyberangrebFig. 1: Et PowerShell-vindue

PowerShell-scripting er et omfattende emne. For bedre at forstå de begreber, der diskuteres i denne blog, skal vi se nærmere på tre vigtige komponenter i PowerShell-scripting.

  • Cmdlet: PowerShell bruger letvægtskommandoer kaldet cmdlets. En cmdlet (udtales command-let) kan identificeres ved sin unikke struktur, der normalt er skrevet i formatet verbum-kommando eller verbum-substantiv. For eksempel er den cmdlet, der bruges til at søge efter en brugerkonto i Active Directory, Search-ADAccount. Her er Search verbet, og ADAccount er kommandoen. Funktionen af både kommandoer og cmdlets er stort set den samme – de fortæller computeren, hvad den skal gøre.
  • Modul: Et modul er et sæt kommandoer, cmdlets, scripts, funktioner m.m., som er samlet til et bestemt formål. Et modul består af fire vigtige komponenter: et stykke kode, yderligere script- eller hjælpefiler, som koden kan have brug for, en manifestfil og en mappe. En manifestfil er som et indeks: Den viser indholdet af et modul og beskriver, hvordan det behandles.
  • Transskription: En transskription er en komplet oversigt over, hvad der blev udført under en bestemt PowerShell-session. For at generere transskriptioner af PowerShell-sessioner skal administratoren eller brugeren aktivere handlingen. Det kan gøres på to måder: gennem PowerShell-kommandoer eller gennem en ændring af gruppepolitikken. Administratorer kan tilføje Start-transcript- og Stop-transcript-kommandoer for at aktivere transskription. Alt, hvad der udføres mellem disse to kommandoer, gemmes som en tekstfil i mappen Dokumenter. Vi vil se nærmere på, hvordan man konfigurerer transskriptionslogføring via en ændring af gruppepolitikken senere i bloggen.

5 måder, cyberkriminelle bruger PowerShell på for at udføre cyberangreb

PowerShell er administratorens foretrukne værktøj, men det er også hackernes foretrukne angrebsvektor. Det skyldes PowerShells sporbarhed, eller mangel på samme, i et Windows-miljø. Da PowerShell er et hvidlistet værktøj, er det lettere for cyberkriminelle at eskalere deres rettigheder og udføre skadelige scripts.

PowerShell bruges mest som et post-exploitation-værktøj. Det skyldes, at PowerShell er aktiveret som standard i de fleste brugerkonti. Når en hacker kommer ind på netværket, kan vedkommende køre programmet som administrator eller nemt bruge et par kommandoer til at eskalere rettighederne. Lad os se nærmere på fem måder, hvorpå cyberkriminelle kan bruge PowerShell til at udføre cyberangreb.

  1. PowerShell-scripting: Ifølge MITRE ATT&CK®-strukturen er PowerShell opført som en underteknik under kommando- and scriptingfortolker. Cyberkriminelle misbruger ofte PowerShell-cmdlets til at få oplysninger om deres mål og udføre skadelig kode på afstand. PowerShell bruges også til at downloade og udføre malwarefiler i computerens hukommelse uden at blive skrevet på drevet. Nogle PowerShell-cmdlets, der bruges til at udføre cyberangreb, er Invoke-Command og Start-Process. Invoke-Command bruges til at udføre en kommando eksternt, og Start-process bruges til at køre et program eller en proces lokalt på systemet.

  2. Opdagelse af domæne: Når angriberne er trængt ind i virksomhedens netværk, kan de bruge visse cmdlets til at få en liste over eksisterende domæner, grupper og bruger- eller computerkonti i disse domæner som lokal administrator. Det hjælper dem med at finde deres næste mål baseret på de rettigheder, som disse konti eller grupper måtte have. I et Windows-miljø er nogle af de cmdlets, de kan bruge, Get-ADDomain for at få en liste over domæner i kataloget, Get-ADUser for at få en liste over brugere, Get-ADComputer for at få en liste over computere i kataloget og Get-ADGroupMember for at få en liste over brugere i en bestemt gruppe. Disse cmdlets giver en hel del information om hvert af objekterne, især Get-ADComputer, som giver dybdegående oplysninger om hver vært.

  3. Eskalering af rettigheder: Adgang til PowerShell betyder mulighed for nemt at eskalere rettigheder. Som vi så tidligere, når angriberen, der udgiver sig for at være en lokal administrator, får listen over computere i domænet og har valgt et mål, bruger de Get-Acl-cmdletten til at tjekke adgangskontrollisten for deres mål.

    Når angriberne har fået en liste over rettigheder, vælger de den bruger eller brugergruppe, der har flest rettigheder til destinationscomputeren. De vil få oplysninger om medlemmerne af gruppen (ved hjælp af Get-ADGroupMember-cmdletten). Derefter gennemgår de listen over gruppemedlemmer, for at tjekke om nogle af kontiene matcher dem, de har fået adgang til. Når de har gjort det, bruger de PS-Exec-kommandoen til at køre scripts på deres destinationsmaskine ved hjælp af det aktuelle system.

  4. Lateral bevægelse: Lateral bevægelse er en angrebsteknik, der indebærer, at angriberen flytter sig fra en kompromitteret vært til en anden i netværket. Normalt indebærer lateral bevægelse brug af et af to værktøjer: Windows Remote Management (WinRM) eller Cobalt Strike. WinRM er et indbygget værktøj i alle Windows-maskiner, som bruges til at etablere fjernforbindelser, og Cobalt Strike er et penetrationstestværktøj, som bruges til at simulere angreb.

    PowerShell kan bruges til lateral bevægelse på to måder:

    • Når angriberen er kommet ind på netværket, kan vedkommende køre PowerShell som lokal administrator, eskalere rettighederne, bruge PS-Exec-kommandoen til at køre et script på en anden vært og til sidst etablere en privilegeret fjernforbindelse.
    • Den anden måde indebærer brug af WinRM til at oprette forbindelse til en klient, som angriberen ønsker at udnytte. For at WinRM kan bruges til at oprette forbindelse til en anden klient, skal sidstnævnte have en lyttefunktion aktiveret. PowerShell kan bruges til at aktivere lytning i klienten. Alternativt, hvis Cobalt Strike bruges, kan PowerShell bruges til at starte Cobalt Strike.
  5. Filløs malware: Filløs malware bruger indbyggede værktøjer på offerets maskine i stedet for skadelige eksekverbare filer som dens filbaserede modstykker. Den kører i computerens hukommelse i stedet for på harddisken, hvilket gør den sværere at detektere. Da PowerShell bruges til at undgå, at angrebet kan spores, bruges det i vid udstrækning til at køre filløs malware. En angriber kan bruge PowerShell til at udføre kommandoer i et fjerndestinationssystem ved hjælp af Invoke-Command-cmdletten.

PowerShell-logføring i Windows-systemer

Windows har tre slags logføringsmekanismer til at spore PowerShell-aktivitet.

  • Modullogføring: Disse logfiler sporer alle PowerShell-moduler, der er blevet udløst. Lad os tage eksemplet med Active Directory-modulet, som Windows har til PowerShell. Når en IT-administrator bruger PowerShell til at oprette brugere eller ændre gruppepolitikobjekter, køres Active Directory-modulet i baggrunden. Dette spores gennem modullogføring. Hændelses-ID'et for disse logfiler er 4103. Mens modullogfiler giver nogle oplysninger om det kørte modul, er det ikke sikkert, at de fanger de kommandoer, der er blevet udført, pålideligt.
  • Scriptblok-logføring: Scriptblokke er blokke af scripts eller cmdlets, der udføres på én gang. De skrives normalt inden for krøllede parenteser. Scriptblok-logfiler registrerer hele scriptet, de kommandoer, der er blevet udført, og hvem der kørte det. Hændelses-ID'et for scriptblok-logfiler er 4104.
  • Transskriptionslogføring: Transskriptioner registrerer hele det script, der er blevet udført under PowerShell-sessionen. Denne fil gemmes derefter i brugerens dokumentmappe. Transskriptioner gemmes som tekstfiler med navne, der begynder med "PowerShell_transcript". De registrerer metadata og tidsstempler for de scripts, der er blevet udført i den pågældende session, og er nyttige under forensisk analyse. Men de fleste af de data, der genereres ved hjælp af transskriptionslogfiler, registreres i modul- og scriptbloklogfiler.

PowerShell-logføring kan aktiveres via den lokale gruppepolitikeditor for en bestemt maskine eller via Group Policy Management Editor for en brugergruppe eller organisationsenhed i et domæne. Lad os se, hvordan du gør det i seks enkle trin:

  1. Åbn Group Policy Management Editor.

    5 måder, cyberkriminelle bruger PowerShell-scripts på for at udføre cyberangrebFig. 2: Åbn Group Policy Management Editor

  2. Klik på Administrative Templates under Brugerkonfiguration eller Computerkonfiguration, alt efter behov.

    5 måder, cyberkriminelle bruger PowerShell-scripts på for at udføre cyberangreb

  3. Klik på Windows Components.

    5 måder, cyberkriminelle bruger PowerShell-scripts på for at udføre cyberangreb

  4. Rul ned, og klik på Windows PowerShell.

    5 måder, cyberkriminelle bruger PowerShell-scripts på for at udføre cyberangreb

  5. Vælg de PowerShell-logføringsmekanismer, der skal aktiveres, blandt de viste. Lad os sige, at du vil aktivere scriptbloklogfiler.

    5 måder, cyberkriminelle bruger PowerShell-scripts på for at udføre cyberangreb

  6. Klik på Turn on PowerShell Script Block Logging. Vælg Enabled fra de viste alternativknapper, og klik på Anvend.

    5 måder, cyberkriminelle bruger PowerShell-scripts på for at udføre cyberangreb

En lignende proces kan bruges til at aktivere generering af andre PowerShell-logfiler. Mange organisationer deaktiverer PowerShell-logføring på grund af det store antal hændelseslogfiler, der genereres. Som bedste praksis for cybersikkerhed anbefales det, at organisationer aktiverer PowerShell-logføring – i det mindste scriptblok-logføring, hvis de ikke vil aktivere alle tre typer.

Revision af PowerShell ved hjælp af Active Directory-overvågning i en SIEM-løsning

Det kan være svært for IT-administratorer at holde styr på de mange hændelseslogfiler, der genereres for at spore PowerShell-scripts. En SIEM-løsning som Log360, der har en funktion til overvågning af Active Directory, kan gøre det lettere for IT-administratorer sådan her:

  • Overvåg netværket for udførelse af skadelig kode ved hjælp af modullogførings- og scriptbloklogføringsrapporter.

    5 måder, cyberkriminelle bruger PowerShell-scripts på for at udføre cyberangrebFig. 3: Modullogføringsrapporter i ManageEngine Log360

    5 måder, cyberkriminelle bruger PowerShell-scripts på for at udføre cyberangrebFig. 4: Scriptbloklogføringsrapporter i ManageEngine Log360

  • Spor alle processer, der er blevet udført af PowerShell, ved hjælp af specifikke PowerShell-processporingsrapporter.

    5 måder, cyberkriminelle bruger PowerShell-scripts på for at udføre cyberangrebFig. 5: PowerShell-processporingsrapporter i ManageEngine Log360

  • Få øjeblikkelige sikkerhedsadvarsler via SMS og e-mail ved hjælp af advarselsfunktionen.

    5 måder, cyberkriminelle bruger PowerShell-scripts på for at udføre cyberangrebFig. 6: Konfigurationsfunktion for advarselsprofiler i ManageEngine Log360

  • Udfør scripts for at stoppe skadelige processer, når advarsler om disse udførelser udløses.

    5 måder, cyberkriminelle bruger PowerShell-scripts på for at udføre cyberangrebFig. 7: Udfør scriptfunktionen i ManageEngine Log360

Hvis du vil vide mere om PowerShell-overvågning ved hjælp af Log360, kan du kontakte vores produkteksperter for at få en tilpasset demo eller downloade en 30-dages gratis prøveperiode for selv at prøve det.

Vil du gerne se på en SIEM-løsning?

ABONNER PÅ DET SENESTE OPDATEREDE INDHOLD

Hold mig opdateret