Adventures of the Elusive Malvari, del I

Adventures of the Elusive Malvari, del I

Med den här artikeln börjar vi en serie publikationer om svårfångade skadliga program. Fillösa hackningsprogram, även kända som fillösa hackningsprogram, använder vanligtvis PowerShell på Windows-system för att tyst köra kommandon för att söka efter och extrahera värdefullt innehåll. Att upptäcka hackeraktivitet utan skadliga filer är en svår uppgift, eftersom... antivirus och många andra detektionssystem fungerar baserat på signaturanalys. Men den goda nyheten är att sådan programvara finns. Till exempel, UBA-system, som kan upptäcka skadlig aktivitet i filsystem.

När jag först började forska i ämnet dåliga hackare, inte använder traditionella infektionsmetoder, men bara de verktyg och programvara som finns på offrets dator, hade jag ingen aning om att detta snart skulle bli en populär attackmetod. Säkerhetsproffs de sägeratt detta börjar bli en trend, och skrämmande artikelrubriker - bekräftelse på detta. Därför bestämde jag mig för att göra en serie publikationer om detta ämne.

Det stora och kraftfulla PowerShell

Jag har skrivit om några av dessa idéer tidigare PowerShell obfuskationsserie, men mer baserat på ett teoretiskt koncept. Senare stötte jag på webbplats för hybridanalys, där du kan hitta prover av skadlig programvara "fångad" i naturen. Jag bestämde mig för att försöka använda den här webbplatsen för att hitta exempel på fillös skadlig programvara. Och jag lyckades. Förresten, om du vill åka på din egen skadlig jaktexpedition måste du bli verifierad av den här webbplatsen så att de vet att du gör jobbet som specialist på vita hattar. Som säkerhetsbloggare klarade jag det utan att ifrågasätta. Det kan du säkert också.

Förutom själva proverna kan du på sajten se vad dessa program gör. Hybridanalys kör skadlig programvara i sin egen sandlåda och övervakar systemanrop, pågående processer och nätverksaktivitet och extraherar misstänkta textsträngar. För binärfiler och andra körbara filer, dvs. där du inte ens kan titta på den faktiska högnivåkoden, avgör hybridanalys om programvaran är skadlig eller bara misstänkt baserat på dess körtidsaktivitet. Och efter det är provet redan utvärderat.

När det gäller PowerShell och andra exempelskript (Visual Basic, JavaScript, etc.) kunde jag se själva koden. Till exempel stötte jag på den här PowerShell-instansen:

Adventures of the Elusive Malvari, del I

Du kan också köra PowerShell i base64-kodning för att undvika upptäckt. Notera användningen av icke-interaktiva och dolda parametrar.

Om du har läst mina inlägg om obfuskation, så vet du att alternativet -e anger att innehållet är base64-kodat. Hybridanalys hjälper förresten också till med detta genom att avkoda tillbaka allt. Om du vill prova att avkoda base64 PowerShell (hädanefter kallad PS) själv måste du köra detta kommando:

 [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))

Gräv djupare

Jag avkodade vårt PS-skript med den här metoden, nedan är texten i programmet, om än något modifierad av mig:

Adventures of the Elusive Malvari, del I

Observera att skriptet var kopplat till datumet 4 september 2017 och överförde sessionscookies.

Jag skrev om denna attackstil i PS obfuscation-serien, där det base64-kodade skriptet självt laddas saknas skadlig programvara från en annan webbplats, med hjälp av .Net Framework-bibliotekets WebClient-objekt för att göra det tunga arbetet.

Vad gör det?

För säkerhetsprogram som skannar Windows händelseloggar eller brandväggar, förhindrar base64-kodning att strängen "WebClient" upptäcks av ett vanlig textmönster för att skydda mot att göra en sådan webbförfrågan. Och eftersom allt "ondska" med skadlig programvara sedan laddas ner och skickas till vår PowerShell, tillåter detta tillvägagångssätt oss att helt undvika upptäckt. Eller rättare sagt, det var vad jag trodde först.

Det visar sig att med Windows PowerShell Advanced Logging aktiverat (se min artikel) kommer du att kunna se den laddade raden i händelseloggen. jag är som och andra ) Jag tycker att Microsoft bör aktivera denna nivå av loggning som standard. Därför, med utökad loggning aktiverad, kommer vi att se i Windows-händelseloggen en avslutad nedladdningsbegäran från ett PS-skript enligt exemplet vi diskuterade ovan. Därför är det vettigt att aktivera det, håller du inte med?

Låt oss lägga till ytterligare scenarier

Hackare gömmer skickligt PowerShell-attacker i Microsoft Office-makron skrivna i Visual Basic och andra skriptspråk. Tanken är att offret får ett meddelande, till exempel från en leveranstjänst, med en bifogad rapport i .doc-format. Du öppnar det här dokumentet som innehåller makrot och det slutar med att det skadliga PowerShell själv startas.

Ofta är själva Visual Basic-skriptet fördunklat så att det fritt undviker antivirus och andra skadlig kod. I andan av ovanstående bestämde jag mig för att koda ovanstående PowerShell i JavaScript som en övning. Nedan är resultatet av mitt arbete:

Adventures of the Elusive Malvari, del I

Obfuskerat JavaScript som döljer vårt PowerShell. Riktiga hackare gör detta en eller två gånger.

Det här är en annan teknik som jag har sett flyta runt på webben: att använda Wscript.Shell för att köra kodad PowerShell. Förresten, JavaScript i sig är det innebär att leverans av skadlig programvara. Många versioner av Windows har inbyggda Windows Script Host, som i sig kan köra JS.
I vårt fall är det skadliga JS-skriptet inbäddat som en fil med filtillägget .doc.js. Windows visar vanligtvis bara det första suffixet, så det visas för offret som ett Word-dokument.

Adventures of the Elusive Malvari, del I

JS-ikonen visas endast i rullningsikonen. Det är inte förvånande att många människor öppnar den här bilagan och tror att det är ett Word-dokument.

I mitt exempel modifierade jag PowerShell ovan för att ladda ner skriptet från min webbplats. Det fjärranslutna PS-skriptet skriver bara ut "Evil Malware". Som du kan se är han inte alls ond. Naturligtvis är riktiga hackare intresserade av att få tillgång till en bärbar dator eller server, till exempel genom ett kommandoskal. I nästa artikel kommer jag att visa dig hur du gör detta med PowerShell Empire.

Jag hoppas att vi inte fördjupade oss i ämnet för den första inledande artikeln. Nu låter jag dig ta ett andetag, och nästa gång börjar vi titta på verkliga exempel på attacker med fillös skadlig programvara utan onödiga inledande ord eller förberedelser.

Källa: will.com

Lägg en kommentar