Med denne artikel begynder vi en række publikationer om undvigende malware. Filløse hackingprogrammer, også kendt som filløse hackingprogrammer, bruger typisk PowerShell på Windows-systemer til lydløst at køre kommandoer for at søge efter og udtrække værdifuldt indhold. Det er en vanskelig opgave at opdage hackeraktivitet uden ondsindede filer, fordi... antivirus og mange andre detektionssystemer arbejder baseret på signaturanalyse. Men den gode nyhed er, at sådan software findes. For eksempel,
Da jeg først begyndte at forske i emnet badass hackere,
Den store og kraftfulde PowerShell
Jeg har skrevet om nogle af disse ideer før i
Ud over selve prøverne kan du på webstedet se, hvad disse programmer gør. Hybridanalyse kører malware i sin egen sandkasse og overvåger systemopkald, kørende processer og netværksaktivitet og udtrækker mistænkelige tekststrenge. For binære filer og andre eksekverbare filer, dvs. hvor du ikke engang kan se på den faktiske højniveaukode, afgør hybridanalyse, om softwaren er ondsindet eller blot mistænkelig baseret på dens runtime-aktivitet. Og derefter er prøven allerede evalueret.
I tilfælde af PowerShell og andre eksempelscripts (Visual Basic, JavaScript osv.), var jeg i stand til at se selve koden. For eksempel stødte jeg på denne PowerShell-instans:
Du kan også køre PowerShell i base64-kodning for at undgå registrering. Bemærk brugen af ikke-interaktive og skjulte parametre.
Hvis du har læst mine indlæg om obfuscation, så ved du, at -e-indstillingen angiver, at indholdet er base64-kodet. Hybridanalyse hjælper i øvrigt også med dette ved at afkode alt tilbage. Hvis du selv vil prøve at afkode base64 PowerShell (herefter benævnt PS), skal du køre denne kommando:
[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))
Gå dybere
Jeg afkodede vores PS-script ved hjælp af denne metode, nedenfor er teksten til programmet, omend lidt modificeret af mig:
Bemærk, at scriptet var knyttet til datoen 4. september 2017 og sendte sessionscookies.
Jeg skrev om denne angrebsstil i
Hvad gør det?
Til sikkerhedssoftware, der scanner Windows hændelseslogfiler eller firewalls, forhindrer base64-kodning strengen "WebClient" i at blive opdaget af et almindeligt tekstmønster for at beskytte mod at lave en sådan webanmodning. Og da alt det "onde" ved malwaren derefter downloades og overføres til vores PowerShell, giver denne tilgang os således mulighed for fuldstændigt at undgå opdagelse. Eller rettere sagt, det tænkte jeg først.
Det viser sig, at med Windows PowerShell Advanced Logging aktiveret (se min artikel), vil du kunne se den indlæste linje i hændelsesloggen. jeg er ligesom
Lad os tilføje yderligere scenarier
Hackere skjuler smart PowerShell-angreb i Microsoft Office-makroer skrevet i Visual Basic og andre scriptsprog. Tanken er, at offeret modtager en besked, for eksempel fra en udbringningstjeneste, med en vedhæftet rapport i .doc-format. Du åbner dette dokument, der indeholder makroen, og det ender med at starte selve den ondsindede PowerShell.
Ofte er selve Visual Basic-scriptet sløret, så det frit undgår antivirus- og andre malware-scannere. I ånden af ovenstående besluttede jeg at kode ovenstående PowerShell i JavaScript som en øvelse. Nedenfor er resultaterne af mit arbejde:
Sløret JavaScript skjuler vores PowerShell. Rigtige hackere gør dette en eller to gange.
Dette er en anden teknik, jeg har set flyde rundt på nettet: at bruge Wscript.Shell til at køre kodet PowerShell. Det er JavaScript i sig selv
I vores tilfælde er det ondsindede JS-script indlejret som en fil med filtypenavnet .doc.js. Windows vil typisk kun vise det første suffiks, så det vil fremstå for offeret som et Word-dokument.
JS-ikonet vises kun i rulleikonet. Det er ikke overraskende, at mange mennesker vil åbne denne vedhæftede fil og tro, at det er et Word-dokument.
I mit eksempel ændrede jeg PowerShell ovenfor for at downloade scriptet fra min hjemmeside. Det eksterne PS-script udskriver bare "Evil Malware". Som du kan se, er han slet ikke ond. Selvfølgelig er rigtige hackere interesserede i at få adgang til en bærbar computer eller server, for eksempel gennem en kommandoskal. I den næste artikel vil jeg vise dig, hvordan du gør dette ved hjælp af PowerShell Empire.
Jeg håber, at vi i den første indledende artikel ikke dykkede for dybt ned i emnet. Nu vil jeg lade dig trække vejret, og næste gang vil vi begynde at se på rigtige eksempler på angreb med filløs malware uden unødvendige indledende ord eller forberedelse.
Kilde: www.habr.com