EvilQuest: ransomware, spyware en gegevensdiefstal in één

Het nieuws over een nieuwe macOS-dreiging met ransomwaremogelijkheden heeft veel aandacht getrokken. De macOS-community werd voor het eerst op deze bedreiging gewezen door malwareonderzoeker Dinesh Devadoss. Vervolgens is de dreiging uitgebreid onderzocht door beveiligingsonderzoekers. Hierbij is uitstekend werk verricht door de onderzoekers Scott Knight, Patrick Wardle en ons eigen SentinelLabs-team. We weten intussen dat deze dreiging veel meer is dan zomaar een nieuw soort ransomware. Er wordt nog actief aan gewerkt en het is een van de meer complexe dreigingen tot nu toe die specifiek op het Mac-platform zijn gericht. In dit artikel bespreken we wat er tot nu toe bekend is en brengen we u op de hoogte van de laatste iteraties.

Drie verschillende namen: EvilQuest, ThiefQuest en MacRansom.K

Onderzoekers van Malwarebytes noemden deze dreiging eerst “EvilQuest”, maar veranderden de naam een paar dagen later in “ThiefQuest”. Ook de naam “MacRansom.K” duikt regelmatig op.

Dit heeft helaas tot enige verwarring geleid, zowel over de dreiging als over de mogelijkheden ervan.

Mac.Ransom.K volgt weliswaar een bekende conventie (platform/type/variant), maar is problematisch omdat het niet alleen − en misschien ook niet primair − een ransomwaredreiging is. Makers van malware op alle platforms gebruiken code steeds vaker opnieuw om meerdere functies te bieden. Classificeren op type dreiging is dan ook niet altijd even nuttig.

In een goede conventie voor de naamgeving van malware zouden malwaresamples idealiter gegroepeerd moeten worden op basis van gemeenschappelijke kenmerken. Het gemeenschappelijke kenmerk dat we tot nu toe het meest hebben gezien in de samples is de __cstring literal “toidievitceffe”, die net als andere strings zoals “rennur.c” het omgekeerde is van herkenbare Engelse woorden: respectievelijk “effectiveidiot” en “c.runner”:

echo 'toidievitceffe' | rev
effectiveidiot

Ook zien we duidelijk dat de ontwikkelaars “toidievitceffe” hebben gebruikt als de naam van hun Xcode-project.

Andere interessante omgekeerde strings zijn “naughtycuckoo”, “keylogger” en “filewatcher”. Deze geven wellicht meer inzicht in de werkelijke motieven van de threat actor, zoals we hieronder zullen uitleggen.

In sommige samples komt de omgekeerde string van “effectiveidiot” meer dan 60 keer voor. Hieruit zou je kunnen afleiden dat de makers van de malware het een leuk idee vonden dat de beveiligingsonderzoekers deze naam zouden vinden. Wij gebruiken hier de uitstekende floss-tool om strings te extraheren, als alternatief voor het native hulpprogramma strings:

Het verdoezelen van strings in recente samples wijst erop dat de ontwikkelaars met opzet de gebruikersnaam “drozdovsky” en de buildnaam “toidievitceffe” hebben gebruikt, ongetwijfeld om de toekenning op het verkeerde spoor te zetten.

Conventies voor de naamgeving van malware zijn misschien niet cruciaal, maar ze zijn wel nuttig, vooral voor onderzoekers en anderen die dit volgen in verband met openbare discussies en onderzoek. Er valt veel voor te zeggen om deze nieuwe dreiging “OSX.EffectiveIdiot” te noemen, maar het is de vraag of dit nu nog mogelijk is. De kans is groot dat “EvilQuest/ThiefQuest” zal blijven hangen, omdat dit de namen zijn die in het begin al in de media werden gebruikt. En een dief of een slechterik doet het natuurlijk altijd goed in de nieuwskoppen.

Wankele encryptie: ransomwaremogelijkheden alleen voor de show?

De eerste opwinding over “EvilQuest/ThiefQuest” had vooral te maken met het feit dat dit een nieuwe ransomwaredreiging was voor macOS. Daarom kijken we hier eerst naar. Ransomware is de laatste tijd een grote plaag in de Windows-wereld, maar dit is nog maar de derde bekende ransomware “in het wild” die zich specifiek op macOS richt. Dat is op zich al vreemd, omdat Macs tegenwoordig ook in het bedrijfsleven veel gebruikt worden, met name op directieniveau en door ontwikkelaars, wat beide toch aantrekkelijke doelen zijn voor theat actors. Het verschijnen van wat eruitziet als Mac-ransomware is dus nieuw, maar niet onverwacht.

Voor ransomware valt “EvilQuest/ThiefQuest” echter in alle opzichten behoorlijk door de mand. Als je mensen wilt afpersen door hun bestanden te versleutelen, moet je er in de eerste plaats voor zorgen dat je encryptie niet verbroken kan worden. Encryptie is moeilijk en iedereen die slim genoeg is om dit te kunnen zal zeggen: probeer het niet zelf te maken want dan ga je vast en zeker de mist in. Succesvolle ransomwarecriminelen begrijpen dit en gebruiken daarom bestaande encryptiealgoritmen. Meestal is minstens één component hiervan asymmetrisch, dat wil zeggen dat er toegang nodig is tot een persoonlijke sleutel die alleen de aanvaller in handen heeft.

De ontwikkelaars van “EffectiveIdiot” hebben echter gekozen voor symmetrische encryptie, waarbij een bestand dus kan worden ontsleuteld met dezelfde sleutel die ook is gebruikt voor de versleuteling ervan. Jason Reaves, hoofdonderzoeker bij SentinelLabs, ontdekte bovendien het volgende:

“…de sleutel in platte tekst die wordt gebruikt voor het coderen van de bestandsencryptiesleutel, wordt toegevoegd aan de encryptiesleutel van het gecodeerde bestand. Als je een volledig versleuteld bestand bekijkt, zie je dat er een blok data aan is toegevoegd.”

Hierdoor konden Jason en het SentinelLabs-team een openbare decryptor maken die door alle slachtoffers van deze malware kunnen worden gebruikt. In deze video ziet u hoe u deze gebruikt:

Bekijk de decryptor voor de EvilQuest-ransomware in actie

Voor een ransomwarecrimineel is het normaal gesproken dus belangrijk dat zijn encryptie min of meer bulletproof is. En natuurlijk moet het ook financieel wat opleveren. Het eerste dat erop wees dat er iets vreemds aan de hand was met de “EvilQuest/ThiefQuest”-malware, was de losgeldeis.

Twee dingen vallen op: het belachelijk lage losgeldbedrag en het feit dat er geen e-mailadres is of een andere manier waarop het slachtoffer contact kan opnemen met de aanvaller. In de Windows-wereld weten ransomwarecriminelen inmiddels heel goed hoe ze mensen zover moeten krijgen om te betalen. De methoden die ze daarvoor gebruiken, zijn vaak een combinatie van dreiging en geruststelling, soms zelfs met een zekere mate van klantenondersteuning. Hier is dat allemaal niet het geval. De losgeldeis is gewoon: “Stuur ons geld, wij nemen contact op.” Er is echter geen enkele manier om aan de afpersers te laten weten dat je betaald hebt, geen verzoek om een contactadres en geen verzoek om een voorbeeld van een versleuteld bestand of een andere identificerende factor. Het klinkt een beetje als “U hoort nog van ons”, om daarna niks meer te vernemen.

Het zal u dan ook niet verbazen dat de actoren er nog niet rijk van zijn geworden. Het enige bekende BitCoin-adres dat alle samples gemeenschappelijk hebben, laat tot op heden precies nul transacties zien.

Wat de ransomwarecomponent betreft, ontdekte SentinelLabs bovendien dat de ontsleutelingsroutine, uncarve_target, geen aanroepers heeft in de code. Dit wijst erop dat de functionaliteit ofwel niet volledig is of dat de auteurs besloten dat ze helemaal niet van plan waren om ontsleuteling te bieden. In dat laatste geval zou de aanwezigheid van de ontsleutelingsroutine in de code een achterblijfsel van eerdere tests kunnen zijn.

Wie deelt? Een datadief in de gedeelde map

Nadatbovenstaande informatie bekend werd ging men kijken naar de andere mogelijkheden van de malware, met name het feit dat deze drie Python-scripts downloadt en uitvoert vanuit de map /Gebruikers/Gedeeld. Deze scripts zijn bedoeld om bestanden met bepaalde extensies te zoeken en te exfiltreren:

De scripts hebben verschillende namen in de samples, maar in eerste instantie werden de volgende korte namen gebruikt:

/Users/Shared/.dr
/Users/Shared/.p
/Users/Shared/.gp

Ook interessant zijn de mogelijkheden voor het stelen van data in de onzichtbare Mach-O binaries die in de Bibliotheek-map van de gebruiker worden gezet.

Let op de volgende versleutelde strings:

We kunnen deze ontsleutelen met een tool die is ontwikkeld door macOS-onderzoeker Scott Knight. We zien dan het volgende in platte tekst:

bytearray(b'*id_rsa*/ix00')
bytearray(b'*.pem/ix00')
bytearray(b'*.ppk/ix00')
bytearray(b'known_hosts/ix00')
bytearray(b'*.ca-bundle/ix00')

Het lijkt erop dat de malware SSH-sleutels en vertrouwde certificaten zoekt om het gemakkelijker te maken om extern in te loggen en webbrowsers te manipuleren zodat deze sites vertrouwen en geen beveiligingswaarschuwingen geven.

Andere onderzoekers hebben gewezen op duidelijk bewijs van keyloggingfunctionaliteit door de aanwezigheid van API-aanroepen die gericht zijn op hardwaregebeurtenissen op een laag niveau zoals toetsaanslagen. Let op de eerste helft van de functienaam, omgekeerd, en mogelijk met een typefout in “file”: “klgr_flie”:

Wat ook opvalt, is dat de ransomwarecomponent de gebruiker niet belet om het apparaat te blijven gebruiken. Dat is bij wissermalware en andere agressieve ransomwarevarianten op andere platforms wel het geval. De gebruiker wordt met een eenvoudig osascript-dialoogvenster op de hoogte gesteld van de situatie:

Dat dialoogvenster verdwijnt als je op OK klikt en de gebruiker kan de computer dan gewoon blijven gebruiken, wat natuurlijk handig is voor de spywarecomponenten!

Nieuwe variant verwijst naar macOS-onderzoeker

Een groot deel van de eerste technische details werd gepubliceerd door macOS-onderzoeker Patrick Wardle. In plaats van hier alle details te herhalen, verwijzen we u door naar zijn uitstekende artikelen (hier) over de vroege “AppQuest”-sample die eerder in 2020 voor het eerst werd ontdekt. Wardle denkt dat de malware virusfunctionaliteit heeft. Er zijn ook andere aanwijzingen dat de malware probeert bestaande uitvoerbare bestanden in de thuismap van de gebruiker te infecteren, maar dat gedrag kwam niet naar voren in onze tests.

Sinds het eerdere onderzoek zijn er nieuwe varianten opgedoken met bijgewerkte hardgecodeerde strings en paden. In het bijzonder is er een verwijzing naar het onderzoek van Wardle naar de methode “react_ping”, die de versleutelde string “Hello Patrick” bevat.

In de recente versie is bovendien het hardgecodeerde C2-adres 167.71.237.219 veranderd in 159.65.147.28 en staat de “Knock Knock”-meldingstool van Wardle in de lijst van software waarop moet worden gecontroleerd:

Een andere wijziging is het gebruik van “abtpd” als executable-label. De code bevat aanwijzingen dat “.ab**d” mogelijk een variant is in verschillende installaties, maar dat is op dit moment nog niet bevestigd. In plaats van de mapnaam “AppQuest” te gebruiken, wijst de persistentieagent nu naar een map met de naam “PrivateSync” die door de aanvaller is gemaakt.

In de vroege samples werd er op een vergelijkbare manier een onzichtbaar tekstbestand met een string van 43 bytes in /var/root/ en /Users/User1/ geplaatst met de naam “.ncspot”. In de meest recente sample die we hebben getest, werd het spot-bestand op dezelfde locaties gezet, maar nu met de naam “.aespot”.

Gezien de snelle iteratie tot nu toe verwachten we dat al deze details binnen enkele dagen of zelfs uren weer veranderd zijn.

Bescherming tegen macOS-malware EvilQuest/ThiefQuest

Het SentinelOne-platform beschermt uw bedrijf effectief tegen EvilQuest/ThiefQuest.

Hoe SentinelOne beschermt tegen de macOS-ransomware EvilQuest

Als u niet wordt beschermd door SentinelOne en slachtoffer bent geworden van deze malware, raden we u aan een volledig herstel uit te voeren met een goede back-up. Vanwege de keyloggingfunctionaliteit en andere spywarefuncties is het ook raadzaam om alle wachtwoorden opnieuw in te stellen en de SSH- en certificate trust-inloggegevens te resetten.

Als u bestanden heeft die zijn versleuteld door EvilQuest, dan is hier onze openbare decryptortool beschikbaar.

Conclusie

Of je het nu “EffectiveIdiot”, “ThiefQuest” of “EvilQuest” noemt, deze combinatie van ransomware, datadief en spyware is een significante ontwikkeling. De nieuwe malware heeft niet alleen veel beveiligingstools verrast, maar heeft wellicht ook slachtoffers op het verkeerde been gezet. Mensen bleven hun geïnfecteerde computers gebruiken en vitale gegevens lekken terwijl ze op zoek waren naar een oplossing voor hun versleutelde bestanden. We willen macOS-gebruikers vooral op het hart drukken dat malware niet meer alleen een Windows-probleem is en dat ook zij goede beveiliging nodig hebben.

Voorbeeldhashes

06974e23a3bf303f75c754156f36f57b960f0df79a38407dfdef9a1c55bf8bff Mach-O
d18daea336889f5d7c8bd16a4d6358ddb315766fa21751db7d41f0839081aee2 Mach-O
c5a77de3f55cacc3dc412e2325637ca7a2c36b1f4d75324be8833465fd1383d3 Mach-O

Indicatoren van inbreuk

/var/root/.aespot
~/.aespot
~/Library/LaunchAgents/com.apple.abtpd.plist
~/Library/PrivateSync/com.abtpd.questd
/Library/LaunchDaemons/com.apple.abtpd.plist
/Library/PrivateSync/com.abtpd.questd