Jamf Blog
April 26, 2021 op Jaron Bradley

Shlayer-malware misbruik van Gatekeeper-bypass op macOS

Met Shlayer-malware kan een aanvaller de Gatekeeper, Notarization en File Quarantine beveiliging in macOS omzeilen. Dit zorgt ervoor dat niet-goedgekeurde software op Mac kan worden uitgevoerd en wordt verspreid via gecompromitteerde websites of vergiftigde zoekresultaten van zoekmachines.

In een recente blog vertelde Objective-See dat vóór macOS 11.3 een aanvaller een nep-applicatiebundel kon maken met een script als het primaire uitvoerbare bestand, waardoor ze File Quarantine, Gatekeeper en Notarization op het macOS-platform kunnen omzeilen. Dit zijn allemaal technologieën die voorkomen dat niet-goedgekeurde software op macOS wordt uitgevoerd.

Om de situatie urgenter te maken, observeerde het Jamf Protect-detectieteam dat deze exploit in het wild werd gebruikt door een variant van de Shlayer-adware-dropper. De waargenomen variant heeft sterke banden met een sample waar Intego Security over geschreven heeft. Beide malware-samples zijn feitelijk bijna identiek. Het belangrijkste verschil is in dit geval dat de variant is herverpakt in een formaat dat nodig is om de kwetsbaarheid van de Gatekeeper bypass te kunnen gebruiken. Het Jamf Protect-detectieteam identificeerde al op 9 januari 2021 samples die misbruik maakten van deze kwetsbaarheid.

De details achter hoe de kwetsbaarheid kan worden misbruikt door aanvallers, zijn:

  1. Een aanvaller maakt handmatig een applicatiebundel met een script als belangrijkste uitvoerbare bestand (bijvoorbeeld: (example:myapplication.app/Contents/MacOS/myapplication waar 'myapplication' een bash-script is). Wanneer deze bundel wordt aangemaakt, maken ze geen Info.plist bestand.
  2. De applicatie kan vervolgens in een dmg worden geplaatst voor distributie.
  3. Wanneer de dmg is gemount en de toepassing wordt geopend, wordt de combinatie van een script-based applicatie zonder Info.plist-bestand uitgevoerd, zonder quarantaine, handtekening of notarisatie-verificatie. Dit werkt op elk systeem met macOS versie 10.15 tot 11.2.

Voorgaande varianten van deze malware verspreiden zich via vergiftigde zoekmachine resultaten en deze variant is geen uitzondering. Dit is een benadering waarbij kwaadwillende actoren die de malware verspreiden, webpagina's maken met inhoud die is afgestemd op de zoekresultaten voor veelvoorkomende zoekopdrachten of legitieme websites kapen zonder medeweten van de eigenaar. Omdat de meeste zoekmachines de indexering en ranking automatiseren, leidt dit tot het onbedoeld publiceren van links naar kwaadaardige of gehackte sites die malware hosten. In een realistisch voorbeeld kunnen gebruikers mogelijk op malware stuiten bij het zoeken naar veelgebruikte termen. Dit is een voorbeeld van een gebruiker die in april 2021 naar 'Alexa en Disney' zocht op Google Search.

Screenshot of Google results when searching “alexa and disney” taken by Jamf on April 12, 2021.

Screenshot van Google-resultaten bij het zoeken naar 'alexa en disney' gemaakt door Jamf op 12 april 2021.

Door op een gecompromitteerd resultaat te klikken, in dit geval de gemarkeerde link hierboven, wordt de gebruiker omgeleid naar een nieuwe webpagina met de vraag om een ongevraagde softwaretoepassing te downloaden die lijkt op een echte waarschuwing om verouderde software bij te werken. Dit is natuurlijk niet iets specifieks voor Amazon, Disney of Google, maar eerder kwaadwillende actoren die het indexeren van zoekmachines misbruiken en/of webpagina's compromitteren.

Screenshot of fake installer taken by Jamf on April 12, 2021. Adobe Flash Player reached End of Life on 12/31/2020

Screenshot van nep-installatieprogramma, gemaakt door Jamf op 12 april 2021. Adobe Flash Player heeft het einde van de levensduur bereikt op 31-12-2020

Een oudere variant van de Shlayer-malware zou een dmg-bestand leveren dat een systeemkoppeling naar een shellscript bevat. Aan dit shellscript zou een installatielogo zijn gekoppeld, waardoor de gebruiker de schijn van legitimiteit krijgt. De aangekoppelde dmg gaf ook instructies om met de rechtermuisknop op het bestand te klikken en 'Openen' te selecteren, in een poging de gebruiker ervan te overtuigen de kwaadaardige applicatie te installeren. En hoewel het op deze manier uitvoeren van het bestand is toegestaan door het ontwerp van Apple, is een gevolg van deze methode dat applicaties, zowel vertrouwd als kwaadaardig, kunnen worden geopend, terwijl de controles van Gatekeeper helemaal worden omzeild, wat in dit geval leidt tot infectie van de Mac.

The old variant of Shlayer attempting to convince a user to right click and open the malware

De oude variant van Shlayer probeert een gebruiker te overtuigen om de malware te openen met de rechtermuisknop.

Deze nieuwe variant vereist niet langer de rechtsklikmethode, omdat de malware wordt verpakt in het formaat dat nodig is om CVE-2021-30657 te misbruiken.

De nieuwe Gatekeeper-bypass stapsgewijs

Na het koppelen van de dmg en het installatieprogramma te hebben geopend, wordt de volgende toepassing aan de gebruiker getoond:

Shlayer malware installation prompt.

Bij verder onderzoek van de lay-out van de applicatie worden meer details onthuld.

File structure of the DMG installer for the malicious application.

De afbeelding die wordt getoond aan de gebruiker na het koppelen van de DMG lijkt het bestand 'Installeren' te zijn. In werkelijkheid is het gewoon een systeemkoppeling die verwijst naar de 1302.app-applicatiebundel of de kwaadaardige toepassing zelf. Door te dubbelklikken op de 'Install'-afbeelding in Figuur C, voert het systeem feitelijk de 1302.app uit, waarbij 1302.app/Contents/MacOS/1302 slechts een bash-script is.

File path displayed in Terminal displaying the script to be executed.

Vanwege de layout van het bestandspad waarin dit script is opgezet, wordt door te dubbelklikken op het installatiepictogram het script uitgevoerd binnen 1302.app, en worden de controles van Gatekeeper omzeild, zoals verder beschreven in CVE-2021-30657.

Aanvullend malware-gedrag

Zoals eerder vermeld, is de inhoud van het bash-script zelf al eerder in varianten van deze malware gezien. Het script begint met het aanroepen van het 'mktemp -t Installer'-commando om een unieke bestandsnaam te maken. In dit geval wordt 'Installer.XXXXXXXX' gemaakt in een tijdelijke directory. De achterliggende 'X’en' in de bestandsnaam wordt automatisch gegenereerd met het huidige procesnummer en/of een lettercombinatie die uniek is voor dit bestand.

Truncated Output of Bash Script Contained Within 1302.app

Afgekapte uitvoer van Bash-script in 1302.app

In een slimme poging om zijn aanwezigheid voor detectie te maskeren, verbergt de malware een gecomprimeerd uitvoerbaar bestand onderaan het script zelf, zoals hierboven te zien is in afbeelding E.

Een secundair commando, 'tail -c 58853 $0 | funzip -1uD9jgw > ${TEMP_NAME}', voert de volgende acties uit:

Tail — Neem de laatste 58853 bytes van het lopende script.

Funzip — Behandel die bytes als een zip-bestand en voer het uit met het meegeleverde wachtwoord.

>${TEMP_NAME} — Schrijf het nieuw uitgepakte bestand naar de schijf op de eerder genoemde tijdelijke bestandslocatie.

Het uitgepakte uitvoerbare bestand wordt aangeroepen met het commando 'nohup', dat het proces instrueert om HUP- of hangup-signalen te negeren. Dit wordt vaak gebruikt door aanvallers om programma's op de achtergrond te draaien. De uiteindelijke uitgepakte payload is een sample van de Bundlore-adware, maar deze uiteindelijke payload kan variëren tussen verschillende Shlayer-samples.

Gepatcht door Apple

Apple heeft deze kwetsbaarheid gepatcht in versie 11.3 van macOS. Wanneer dezelfde malware wordt uitgevoerd op een gepatchte versie van macOS, ziet de gebruiker een pop-upbericht waarin staat dat de software 'niet kan worden geopend omdat de ontwikkelaar niet kan worden geïdentificeerd'. Omdat de kwaadaardige applicatie niet is geregistreerd of ondertekend met een geldig ontwikkelaarscertificaat, zal het bericht de gebruiker vragen om de gekoppelde DMG met de app-bundel uit te werpen.

Installation prompt attempt blocked by updated macOS version 11.3 and later.

Conclusie

Shlayer blijft zichzelf met innovatieve manieren ontwikkelen om macOS-systemen te infecteren. Jamf Protect biedt gedragsanalyses om ingebouwde scripttalen te detecteren die worden uitgevoerd alsof het app-bundels zijn. Dit zou gebruikers moeten helpen malware te ontdekken die deze techniek misbruikt op Mac-computers met macOS-versies ouder dan 11.3, evenals andere verdachte toepassingen. Jamf Protect verdedigt tegen bekende malware-samples van Shlayer, inclusief de adware-varianten ervan. Jamf raadt gebruikers aan “snel en vaak te patchen” om hun Mac up-to-date te houden door macOS te upgraden naar versie 11.3. Dit is nu beschikbaar via de Mac App Store en biedt de nieuwste bescherming tegen de kwetsbaarheden die in dit artikel worden besproken.

Indicatoren van Infectie

Bestanden Hashes:

  • AdobeFlashPlayer.dmg → 55869270ed20956e5c3e533b44e4eb53dc2
  • 1302.app/Inhoud/MacOS/1302 → 085a136c03f8b024a17306876c67b1a5ad928c1
  • Bundlore Dropped Executable → 20ac95c44549710a43490226739452533e96c0b

Domains Serving Malware:

  • hxxps://supportversion[.]yourlinkforplaceforupgrading[.]info

Bescherm je omgeving vandaag

Jaron Bradley
Schrijf je in voor het Jamf blog

Krijg markttrends, Apple updates en Jamf nieuws direct in je inbox.

Raadpleeg ons Privacybeleid voor meer informatie over de manier waarop we uw gegevens verzamelen, gebruiken, bekendmaken, verplaatsen en bewaren.