ANY.RUN Malware Hunting
Malware Hunting is niet makkelijk. Het vereist veel kennis, de juiste apparatuur en de juiste mindset. Er zijn uiteraard wat tools om je te helpen bij dit proces. Een van deze tools is het interactieve Malware Hunter platform genaamd “ANY.RUN”. Met ANY.RUN is het mogelijk om dynamisch en statisch onderzoek te verrichten op potentieel gevaarlijke content. ANY.RUN wordt aangeboden als een SAAS dienst (interactieve service) en komt met een gratis basisplan alsmede met geavanceerde betaalde plannen. ANY.RUN was zo vriendelijk om mijn account te upgraden naar een “COMRADE” account zodat ik dit artikel volledig en gegrond kon schrijven. Hartelijk dank daarvoor. Laten we gaan malware hunten op ANY.RUN.
ANY.RUNANY.RUN is opgericht in 2015 en heeft in die periode een aantal fases doorlopen om uit te groeien tot het malware hunting platform dat ze nu zijn. Meer dan 100.000 professionals uit de industrie zijn dagelijks actief op ANY.RUN en nog veel meer gebruikers profiteren van de onderzoeksresultaten die daar behaald worden. Vele grote bedrijven zoals McAfee en Canon maken eveneens gebruik van de ANY.RUN diensten. Het doel van ANY.RUN is om een volledig onderzoek platform te bieden voor malware welke de meeste informatie biedt tijdens een onderzoek en waarbij de maximale veiligheid gewaarborgd is.
In het kort maakt ANY.RUN het mogelijk potentiele malware samples te uploaden in de digitale ANY.RUN sandbox, deze op verschillende systemen te onderzoeken en de resultaten te analyseren. Dit alles kan individueel, met een team of openbaar. Door gebruik te maken van de ANY.RUN dienst kunnen er kosten bespaard worden omdat apparatuurskosten omlaag kunnen en verschillende malware research tools overbodig worden. Het mooie van ANY.RUN is dat alle resultaten in real-time getoond worden. Worden er processen gecreëerd? Worden er bestanden weggeschreven? Dit alles is meteen inzichtelijk voor de onderzoeker.
ANY.RUN is dus primair een interactieve analysetool en secundair een threat exchange tool. Zo beschikt ANY.RUN over de “Malware Trends TrackerMalware Trends Tracker” welke de malware laat zien die op dit moment actief is alsmede inactieve malware families zoals Grandcrab en Nemty.

Door op de malware te klikken kunnen we veel meer te weten komen over de malware. We kunnen hem zelfs in actie zien op een video:

Zo laat de detailpagina een duidelijk overzicht zien van IOC’s (Indicators Of Compromise) zoals IP adressen, hashes en domeinen.

Er is overigens veel meer informatie beschikbaar. Zoals een beschrijving van de malware, wat het doet en hoe de analyse is gedaan. Denk b.v. aan de lifecycle van de malware:

Nu is bovenstaande lifecycle redelijk straightforward, maar deze grafiek wordt een stuk waardevoller bij ingewikkelde malware zoals de “Adwind” RAT:

Er is dus veel goede informatie te vinden in de Malware Trend Tracker. Hier kun je de kracht van ANY.RUN goed proeven. Laten we eens gaan kijken of de rest net zo krachtig is. Laten we eens naar de homepage gaan. Ook hier zien we meteen een trend overzicht van de laatste 24 uur met o.a. landen waar momenteel veel malware activiteit geconstateerd is.

Vanuit hier kun je uiteraard je abonnement en overige accountgegevens aanpassen. Maar eigenlijk kun je hier slechts 2 belangrijke opties aanklikken. Namelijk het aanmaken van een nieuwe taak en het bekijken van alle publieke taken. Laten we eerst eens even bij die laatste gaan kijken. Hier krijg je een overzicht van alle publieke onderzoeken. Wanneer een onderzoek gedaan wordt met een gratis account dan zal deze altijd publiekelijk geplaatst worden. Met een betaald account heb je de keuze om hem private te houden. Maar omdat de meeste mensen profiteren van publiek openbare content is het van vitaal belang om zoveel mogelijk te publiekelijk te publiceren. Deze publieke taken kunnen gefilers worden wat ze tevens ook erg interessant maken voor OSINT analyses. Heb je een potentiele IOC, filter hier dan op en bekijk de resultaten die nog meer deze IOC bevatten.

Door te filteren op “Significant tasks” krijg je alle public tasks te zien die als “Malicious” of als “Suspicious” zijn aangemerkt. Elke task krijg na de analyse een zogenaamde “Verdict” ofwel status. Er zijn 3 soorten “verdicts”, namelijk:
- Malicious – Er is bevestigd dat er malicious activiteit heeft plaatsgevonden
- Suspicious – De kans is aanzienlijk dat het onderzochte bestand malicious is maar dit is nog niet bevestigd
- No Threats Detected – ANY.RUN heeft geen malicious of mogelijke malicious activiteit geconstateerd
Door op een public task te klikken zie je welk bestand geanalyseerd is. Deze sample kun je ook downloaden en vervolgens zelf weer analyseren. Je ziet de resultaten van de analyse alsmede de gemaakte analyse op het bestand welke volledig als video of “screenshot diapresentatie” te bekijken is.

Daarnaast beschikt de analyse over de uiteindelijke verdict, een lijst met IOC’s en de malware lifetime grafiek.

Vervolgens is er de mogelijkheid om het onderzoek te herstarten met eventueel afwijkende configuratie.

Zo kun je meteen ontdekken of Windows 10 ook vatbaar is voor dezelfde exploit die wel vatbaar was op Windows 7. In dit geval dus niet:

Wanneer we nu zouden zoeken op de hash dan zouden we zien dat Windows 7 alleen vatbaar was tijdens de run in 2018. Alle run’s daarna incl. mijn Windows 10 run zijn niet meer vatbaar (omdat simpelweg de website niet meer bestaat).

Wanneer ik zelf een sample wil analyseren krijg ik dezelfde opties als tijdens de rerun van voorgaande task.

Deze opties configureren het doelsysteem waar ik de analyse op plaats laat vinden. Mijn “Comrade” abonnement heeft meer opties dan het gratis abonnement. Zo kan ik kiezen voor Windows 10 systemen, heb ik de mogelijkheid tussen 32- en 64 bits, kan ik ervoor kiezen om het verkeer over TOR of over een VPN te laten gaan en heb ik 3 pre-installs ter beschikking. Ik kan namelijk kiezen voor systemen die als volgt zijn ingericht:
- Clean = Alleen Windows
- Office = Typische office PC incl. MS Office en Skype
- Complete = Typische gebruikersomgeving met MS Office en extra usertools zoals b.v. FileZilla
Daarnaast kan ik ervoor kiezen hoe lang de analyse moet lopen. Ik kan er echter niet voor werken om de analyse privé of alleen voor een beperkt team beschikbaar te stellen. Om dit te kunnen doen zou ik moeten beschikken over het “Hunter” pakket. Zie hierbij een overzicht van de verschillende commerciële ANY.RUN abonnementen:

Verder kan ik met mijn custom “Comrade” plan een perfecte analyse uitvoeren. Laten we eens een test doen met de “GrandCrab” sample in de vorm van een VBS bestand met de volgende configuratie:

Na de eerste analyse is de “verdict” op Windows 10 “malicious”. Dit is echter een false-positive omdat er meerdere .COM executions uitgevoerd zijn.

Laten we eens een re-run doen met “Heavy Anti-Evasion” ofwel met malware scanning.

De final verdict is dan anders. Nu is er geen malicious activiteit ontdekt. Echter is dit voorbeeld niet valide omdat de GrandCrab distributie ten einde is en de C&C server niet te benaderen is om de werkelijke payload te downloaden.

Het verschil tussen beide sessies is echter wel meteen goed inzichtelijk wanneer we de lifecycle grafieken van beide runs met elkaar vergelijken:

Bovenstaande lifecycle is erg interessant en geeft een duidelijk beeld van de uitgevoerde acties. Wil je echter in detail kijken wat er gebeurt tijdens een specifieke actie (als er files aangemaakt, verwijderd of gemodificeerd worden) dan is dat geen probleem. Alle file modifications worden getoond in het “Files Modification” venster.

Nog ineressanter wordt het als we kijken naar de gearchiveerde taak (https://app.any.run/tasks/41caa83f-f431-492d-9e30-70a1521c1dd0/) van het moment dat GrandCrab nog wel actief was.

Wanneer de inhoud van de bestanden “leesbaar” zijn zoals tekst, binaries, HTML, XML, Images etc dan is de inhoud van deze bestanden in detail te bekijken. Wanneer bestanden getoond worden als “not available” betekent dit dat de bestanden zijn verwijderd (bijvoorbeeld een tijdelijke bestand welke is verwijderd na uitvoering van de malware). Op dat moment is er dus geen toegang meer tot het bestand en de statische analyse hierop.

ANY.RUN geeft je de mogelijkheid om individuele bestanden en payloads ook te controleren op VirusTotal. Individuele bestanden kunnen eventueel opnieuw aangemeld worden voor analyse.

Ook overige bevindingen zoals gemaakte connections en threats kunnen inhoudelijk bekeken worden.

Wanneer je verschillende samples analyseert heb je gemakkelijk toegang tot deze analyses via de “History” tab en via de icoontjes in het linker actie menu:

De allersterkste kant van ANY.RUN is niet alleen het sandboxen van bestanden en het opnemen van de gebeurtenissen. Hiervoor kennen we diverse andere diensten zoals “Cuckoo” en “Joe Sandbox”. De kracht van ANY.RUN zit heb in de interactieve analyse tijdens het uitvoeren van malware samples. Als gebruiker krijg je meteen inzicht in de activiteiten die op de achtergrond worden uitgevoerd.
Op mijn lijstje staat ook nog de review voor de Falcon Sandbox. Ik heb heel benieuwd naar de grote verschillen tussen Falcon en ANY.RUN. Maar ANY.RUN heeft me absoluut weten te overtuigen als onmidbare tool tijdens malware analyse. De automatische analyse is een prachtige feature en de mogelijkheid om daarna nog statische analyse te doen is fantastisch! ANY.RUN neemt alle activiteit op en geeft je alle IOC’s op een presenteerblaadje. Ook ben ik erg gecharmeerd van de malware lifecycle threatmaps en de rapportages die automatisch voor je gegenereerd worden. Daarnaast is ANY.RUN fantastisch om de actieve malware trends te monitoren en om te leren hoe malware zich gedaagt en hoe het functioneert.
Kortom: persoonlijk erg verrast door de kracht van ANY.RUN en ik verwacht deze dienst in de toekomst veel vaker te zullen gebruiken.
★ Wil je ook ANY.RUN gaan gebruiken, of vond je deze post op een andere manier interessant? Dan zou ik het fantastisch vinden als je deze post zou willen delen op je social media of op je eigen website! Een “Like” vof leuk berichtje ind ik uiteraard ook erg leuk! Dankjewel! ★