Med denne artikkelen starter vi en serie publikasjoner om unnvikende skadelig programvare. Filløse hackingprogrammer, også kjent som filløse hackingprogrammer, bruker vanligvis PowerShell på Windows-systemer for å kjøre kommandoer stille for å søke etter og trekke ut verdifullt innhold. Å oppdage hackeraktivitet uten skadelige filer er en vanskelig oppgave, fordi... antivirus og mange andre deteksjonssystemer fungerer basert på signaturanalyse. Men den gode nyheten er at slik programvare eksisterer. For eksempel,
Da jeg først begynte å forske på temaet dårlige hackere,
Det store og kraftige PowerShell
Jeg har skrevet om noen av disse ideene før i
I tillegg til selve prøvene kan du på nettstedet se hva disse programmene gjør. Hybridanalyse kjører skadelig programvare i sin egen sandkasse og overvåker systemanrop, kjørende prosesser og nettverksaktivitet, og trekker ut mistenkelige tekststrenger. For binærfiler og andre kjørbare filer, dvs. hvor du ikke engang kan se på den faktiske høynivåkoden, avgjør hybridanalyse om programvaren er skadelig eller bare mistenkelig basert på kjøretidsaktiviteten. Og etter det er prøven allerede evaluert.
Når det gjelder PowerShell og andre eksempelskript (Visual Basic, JavaScript, etc.), var jeg i stand til å se selve koden. For eksempel kom jeg over denne PowerShell-forekomsten:
Du kan også kjøre PowerShell i base64-koding for å unngå gjenkjenning. Legg merke til bruken av ikke-interaktive og skjulte parametere.
Hvis du har lest innleggene mine om obfuskering, så vet du at -e-alternativet spesifiserer at innholdet er base64-kodet. Hybridanalyse hjelper forresten også med dette ved å dekode alt tilbake. Hvis du vil prøve å dekode base64 PowerShell (heretter referert til som PS) selv, må du kjøre denne kommandoen:
[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))
Gå dypere
Jeg dekodet PS-skriptet vårt ved å bruke denne metoden, nedenfor er teksten til programmet, om enn litt modifisert av meg:
Merk at skriptet var knyttet til datoen 4. september 2017 og overførte øktinformasjonskapsler.
Jeg skrev om denne angrepsstilen i
Hva gjør den?
For sikkerhetsprogramvare som skanner Windows-hendelseslogger eller brannmurer, forhindrer base64-koding at strengen "WebClient" blir oppdaget av et vanlig tekstmønster for å beskytte mot en slik nettforespørsel. Og siden all "ondskapen" til skadelig programvare deretter lastes ned og sendes inn i PowerShell-en vår, lar denne tilnærmingen oss dermed fullstendig unngå oppdagelse. Eller rettere sagt, det var det jeg trodde først.
Det viser seg at med Windows PowerShell Advanced Logging aktivert (se artikkelen min), vil du kunne se den lastede linjen i hendelsesloggen. jeg er som
La oss legge til flere scenarier
Hackere skjuler på en smart måte PowerShell-angrep i Microsoft Office-makroer skrevet i Visual Basic og andre skriptspråk. Tanken er at offeret får en melding, for eksempel fra en leveringstjeneste, med vedlagt rapport i .doc-format. Du åpner dette dokumentet som inneholder makroen, og det ender opp med å starte selve den ondsinnede PowerShell.
Ofte er selve Visual Basic-skriptet tilslørt slik at det fritt unngår antivirus- og andre skadelige skannere. I ånden til det ovennevnte bestemte jeg meg for å kode PowerShell ovenfor i JavaScript som en øvelse. Nedenfor er resultatene av arbeidet mitt:
Tilsløret JavaScript som skjuler PowerShell. Ekte hackere gjør dette en eller to ganger.
Dette er en annen teknikk jeg har sett flyte rundt på nettet: å bruke Wscript.Shell til å kjøre kodet PowerShell. Forresten, selve JavaScript er det
I vårt tilfelle er det ondsinnede JS-skriptet innebygd som en fil med filtypen .doc.js. Windows vil vanligvis bare vise det første suffikset, så det vises for offeret som et Word-dokument.
JS-ikonet vises kun i rulleikonet. Det er ikke overraskende at mange vil åpne dette vedlegget og tro at det er et Word-dokument.
I eksemplet mitt endret jeg PowerShell ovenfor for å laste ned skriptet fra nettstedet mitt. Det eksterne PS-skriptet skriver bare ut "Evil Malware". Som du kan se, er han ikke ond i det hele tatt. Selvfølgelig er ekte hackere interessert i å få tilgang til en bærbar datamaskin eller server, for eksempel gjennom et kommandoskall. I den neste artikkelen skal jeg vise deg hvordan du gjør dette ved å bruke PowerShell Empire.
Jeg håper at vi for den første introduksjonsartikkelen ikke dykket for dypt inn i emnet. Nå lar jeg deg trekke pusten, og neste gang skal vi begynne å se på virkelige eksempler på angrep med filløs skadevare uten unødvendige innledende ord eller forberedelser.
Kilde: www.habr.com