Avonturen van de ongrijpbare Malvari, deel I

Avonturen van de ongrijpbare Malvari, deel I

Met dit artikel beginnen we een reeks publicaties over ongrijpbare malware. Bestandsloze hackprogramma's, ook wel bestandsloze hackprogramma's genoemd, gebruiken doorgaans PowerShell op Windows-systemen om in stilte opdrachten uit te voeren om waardevolle inhoud te zoeken en te extraheren. Het detecteren van hackeractiviteit zonder kwaadaardige bestanden is een moeilijke taak, omdat... antivirussen en vele andere detectiesystemen werken op basis van handtekeninganalyse. Maar het goede nieuws is dat dergelijke software bestaat. Bijvoorbeeld, UBA-systemen, geschikt voor het detecteren van kwaadaardige activiteiten in bestandssystemen.

Toen ik voor het eerst onderzoek begon te doen naar het onderwerp badass-hackers, geen gebruik maken van traditionele infectiemethoden, maar alleen met de tools en software die beschikbaar zijn op de computer van het slachtoffer, had ik geen idee dat dit binnenkort een populaire aanvalsmethode zou worden. Beveiligingsprofessionals zeggendat dit een trend aan het worden is, en enge artikelkoppen - bevestiging hiervan. Daarom besloot ik een reeks publicaties over dit onderwerp te maken.

De grote en krachtige PowerShell

Ik heb al eerder over een aantal van deze ideeën geschreven PowerShell-verduisteringsserie, maar meer gebaseerd op een theoretisch concept. Later kwam ik tegen website voor hybride analyse, waar u voorbeelden kunt vinden van in het wild 'gevangen' malware. Ik besloot deze site te gebruiken om voorbeelden van bestandsloze malware te vinden. En het is mij gelukt. Trouwens, als je op je eigen zoektocht naar malware wilt gaan, moet je je door deze site laten verifiëren, zodat ze weten dat je het werk doet als white hat-specialist. Als beveiligingsblogger heb ik het zonder twijfel aangenomen. Ik weet zeker dat jij dat ook kunt.

Naast de samples zelf kun je op de site zien wat deze programma's doen. Hybride analyse voert malware uit in een eigen sandbox en monitort systeemaanroepen, lopende processen en netwerkactiviteit, en extraheert verdachte tekstreeksen. Voor binaire bestanden en andere uitvoerbare bestanden, d.w.z. waar je niet eens naar de daadwerkelijke code op hoog niveau kunt kijken, beslist hybride analyse of de software kwaadaardig of gewoon verdacht is op basis van de runtime-activiteit. En daarna wordt het monster al geëvalueerd.

In het geval van PowerShell en andere voorbeeldscripts (Visual Basic, JavaScript, enz.) kon ik de code zelf zien. Ik kwam bijvoorbeeld deze PowerShell-instantie tegen:

Avonturen van de ongrijpbare Malvari, deel I

U kunt PowerShell ook uitvoeren in base64-codering om detectie te voorkomen. Let op het gebruik van niet-interactieve en verborgen parameters.

Als je mijn berichten over verduistering hebt gelezen, weet je dat de optie -e aangeeft dat de inhoud base64-gecodeerd is. Overigens helpt hybride analyse hier ook bij door alles terug te decoderen. Als u zelf wilt proberen base64 PowerShell (hierna PS genoemd) te decoderen, moet u deze opdracht uitvoeren:

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

Ga dieper

Ik heb ons PS-script met deze methode gedecodeerd, hieronder staat de tekst van het programma, zij het enigszins door mij aangepast:

Avonturen van de ongrijpbare Malvari, deel I

Houd er rekening mee dat het script was gekoppeld aan de datum 4 september 2017 en sessiecookies heeft verzonden.

Ik schreef over deze aanvalsstijl in PS-verduisteringsserie, waarin het met base64 gecodeerde script zelf wordt geladen missend malware van een andere site, waarbij gebruik wordt gemaakt van het WebClient-object van de .Net Framework-bibliotheek om het zware werk te doen.

Wat is het voor?

Voor beveiligingssoftware die Windows-gebeurtenislogboeken of firewalls scant, voorkomt base64-codering dat de tekenreeks "WebClient" wordt gedetecteerd door een patroon met platte tekst om te beschermen tegen het doen van een dergelijk webverzoek. En aangezien al het ‘kwaad’ van de malware vervolgens wordt gedownload en doorgegeven aan onze PowerShell, stelt deze aanpak ons ​​in staat detectie volledig te omzeilen. Of beter gezegd: dat dacht ik eerst.

Het blijkt dat als Windows PowerShell Advanced Logging is ingeschakeld (zie mijn artikel), je de geladen regel in het gebeurtenislogboek kunt zien. ik ben als ander ) Ik denk dat Microsoft dit niveau van logboekregistratie standaard moet inschakelen. Daarom zullen we, als uitgebreide logboekregistratie is ingeschakeld, in het Windows-gebeurtenislogboek een voltooid downloadverzoek van een PS-script zien volgens het voorbeeld dat we hierboven hebben besproken. Daarom is het logisch om het te activeren, nietwaar?

Laten we extra scenario's toevoegen

Hackers verbergen op slimme wijze PowerShell-aanvallen in Microsoft Office-macro's die zijn geschreven in Visual Basic en andere scripttalen. Het idee is dat het slachtoffer een bericht ontvangt, bijvoorbeeld van een bezorgdienst, met een bijgevoegd rapport in .doc-formaat. U opent dit document dat de macro bevat en uiteindelijk wordt de kwaadaardige PowerShell zelf gestart.

Vaak is het Visual Basic-script zelf versluierd, zodat het antivirus- en andere malwarescanners vrijelijk kan omzeilen. In de geest van het bovenstaande heb ik besloten om de bovenstaande PowerShell als oefening in JavaScript te coderen. Hieronder vindt u de resultaten van mijn werk:

Avonturen van de ongrijpbare Malvari, deel I

Verduisterde JavaScript die onze PowerShell verbergt. Echte hackers doen dit een of twee keer.

Dit is een andere techniek die ik op internet heb zien rondzweven: Wscript.Shell gebruiken om gecodeerde PowerShell uit te voeren. Trouwens, JavaScript zelf is dat wel middelen levering van malware. Veel versies van Windows hebben ingebouwde Windows Script Host, die zelf JS kan uitvoeren.
In ons geval is het kwaadaardige JS-script ingebed als een bestand met de extensie .doc.js. Windows toont normaal gesproken alleen het eerste achtervoegsel, zodat het voor het slachtoffer als een Word-document zal verschijnen.

Avonturen van de ongrijpbare Malvari, deel I

Het JS-pictogram verschijnt alleen in het scrollpictogram. Het is niet verrassend dat veel mensen deze bijlage openen en denken dat het een Word-document is.

In mijn voorbeeld heb ik de PowerShell hierboven aangepast om het script van mijn website te downloaden. Het externe PS-script drukt alleen "Evil Malware" af. Zoals je kunt zien, is hij helemaal niet slecht. Natuurlijk zijn echte hackers geïnteresseerd in het verkrijgen van toegang tot een laptop of server, bijvoorbeeld via een opdrachtshell. In het volgende artikel laat ik u zien hoe u dit kunt doen met PowerShell Empire.

Ik hoop dat we voor het eerste inleidende artikel niet te diep in het onderwerp zijn gedoken. Nu laat ik je even ademhalen, en de volgende keer gaan we kijken naar echte voorbeelden van aanvallen met behulp van bestandsloze malware, zonder onnodige inleidende woorden of voorbereiding.

Bron: www.habr.com

Voeg een reactie