Jamf Blog
Avril 26, 2021 Par Jesus Vigo

Le programme malveillant Shlayer abuse du contournement de Gatekeeper sur macOS

Le programme malveillant Shlayer permet à un attaquant de contourner les technologies de sécurité de Gatekeeper, Notarization et File Quarantine sur macOS. Cette faille permet à des logiciels non approuvés de s'exécuter sur Mac, et le programme est distribué via des sites Web compromis ou des résultats de moteur de recherche infectés.

Dans un billet de blog récent, Objective-See a noté qu'avant macOS 11.3, un attaquant pouvait créer un faux lot d'applications en utilisant un script comme exécutable principal, ce qui permettait de contourner File Quarantine, Gatekeeper et Notarization sur macOS, des technologies qui empêchent les logiciels non approuvés de s'exécuter sur macOS.

Le problème est d'autant plus urgent que l'équipe de détection de Jamf Protect a observé que cette faille était exploitée par une variante du diffuseur de logiciels publicitaires Shlayer. La variante observée a des liens étroits avec un échantillon précédemment relevé par Intego Security. En fait, les deux échantillons de logiciel malveillant sont quasiment identiques. La différence majeure est que la nouvelle variante a été reconditionnée pour exploiter la vulnérabilité de contournement de Gatekeeper. L'équipe de détection de Jamf Protect a identifié des échantillons qui abusaient de cette vulnérabilité dès le 9 janvier 2021.

Voici comment la vulnérabilité peut être exploitée par les attaquants :

  1. Un attaquant crée manuellement un lot d'applications en utilisant un script comme exécutable principal. (exemple : monapplication.app/Contents/MacOS/monapplication où « monapplication » est un script bash). Lorsque ce lot est créé, aucun fichier Info.plist n'est produit.
  2. L'application peut ensuite être placée dans un fichier dmg pour distribution.
  3. Lorsque le dmg est monté et que vous double-cliquez sur l'application, une application basée sur un script et sans fichier Info.plist s'exécute sans aucune vérification de mise en quarantaine, de signature ou de notarisation. Cela fonctionnera sur n'importe quel système exécutant macOS entre les versions 10.15 et 11.2.

Les variantes précédentes de ce programme malveillant se propagent via des résultats de moteur de recherche infectés, et cette variante ne fait pas exception. Il s'agit d'une approche dans laquelle les acteurs malveillants qui diffusent le programme créent des pages Web avec un contenu adapté pour apparaître dans les résultats de recherche courantes, ou détournent des sites Web légitimes à l'insu du propriétaire. Étant donné que la plupart des moteurs de recherche automatisent l'indexation et le classement, cela les conduit à publier par inadvertance des liens vers les sites malveillants ou piratés hébergeant ces programmes.

Pour donner un exemple concret, les utilisateurs pourraient potentiellement tomber sur des programmes malveillants lors de la recherche de termes couramment utilisés. Voici un exemple d'un utilisateur recherchant « Alexa and Disney » sur Google en avril 2021.

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

Capture d'écran des résultats de Google lors pour la recherche « Alexa and Disney » prise par Jamf le 12 avril 2021.

En cliquant sur un résultat compromis, dans ce cas le lien encadré, l'utilisateur est redirigé vers une nouvelle page Web lui demandant de télécharger une application logicielle non sollicitée. Elle ressemble à une véritable alerte invitant à mettre à jour un logiciel obsolète. Ce n'est bien sûr pas quelque chose de spécifique à Amazon, Disney ou Google. Nous avons ici des acteurs malveillants qui abusent de l'indexation des moteurs de recherche et/ou de pages Web compromises.

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

Capture d'écran d'un faux programme d'installation prise par Jamf le 12 avril 2021. Adobe Flash Player est arrivé en fin de vie le 31/12/2020

Une variante plus ancienne du programme malveillant Shlayer fournissait un fichier dmg contenant un lien système vers un script shell. Ce script shell avait un logo d'installation attaché, donnant à l'utilisateur une illusion de légitimité. Le dmg monté présentait également des instructions pour cliquer avec le bouton droit sur le fichier et sélectionner « Ouvrir », dans une tentative de convaincre l'utilisateur d'installer l'application malveillante. L'exécution du fichier de cette manière est autorisée par le système d'Apple : les applications, fiables comme malveillantes, peuvent être ouvertes tout en contournant complètement les contrôles de Gatekeeper, conduisant dans ce cas à l'infection du Mac.

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

L'ancienne variante de Shlayer tente de convaincre un utilisateur de cliquer avec le bouton droit de la souris et d'ouvrir le programme malveillant.

Cette nouvelle variante découverte ne nécessite plus la méthode du clic droit, car le programme malveillant est livré dans le format requis pour abuser de CVE-2021-30657.

Le nouveau contournement de Gatekeeper, étape par étape

Après avoir monté le dmg et ouvert le programme d'installation, l'utilisateur voit l'application suivante :

Shlayer malware installation prompt.

En examinant de plus près la mise en page de l'application, d'autres détails font surface.

File structure of the DMG installer for the malicious application.

L'image affichée à l'utilisateur après le montage du dmg semble être le fichier « Install ». En réalité, il s'agit simplement d'un lien système qui pointe vers le lot d'applications 1302.app ou l'application malveillante elle-même. En double-cliquant sur l'image « Install » de l'illustration C, le système exécute en fait 1302.app, où 1302.app/Contents/MacOS/1302 est un simple script bash.

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

En raison de la disposition du chemin de fichier dans lequel ce script est configuré, un double-clic sur l'icône d'installation exécute le script contenu dans 1302.app et contourne les vérifications effectuées par Gatekeeper, décrites plus en détail dans CVE-2021-30657.

Vous souhaitez savoir comment Jamf protège vos appareils contre ce type de logiciel malveillant ?

Autres comportements des programmes malveillants

Comme mentionné précédemment, le contenu du script bash lui-même a déjà été vu dans des variantes de ce programme malveillant. Le script commence par appeler la commande « mktemp -t Installer » pour créer un nom de fichier unique. Dans ce cas, « Installer.XXXXXXXX » est créé dans un répertoire temporaire. Les « X » à la fin du nom de fichier sont automatiquement générés à l'aide du numéro de processus actuel et/ou d'une combinaison de lettres propre à cette instance de fichier.

Truncated Output of Bash Script Contained Within 1302.app

Sortie tronquée du script bash contenu dans 1302.app

Dans une tentative intelligente de masquer sa présence, le programme malveillant cache un exécutable compressé au bas du script lui-même, comme indiqué ci-dessus.

Une commande secondaire, « tail -c 58853 $0 | funzip -1uD9jgw > ${TEMP_NAME} » effectue les actions suivantes :

Tail - Prend les 58853 derniers octets du script en cours d'exécution.

Funzip - Traite ces octets comme un fichier zip et le décompresse en utilisant le mot de passe fourni.

>${TEMP_NAME} - Écrit le fichier nouvellement décompressé sur le disque à l'emplacement du fichier temporaire susmentionné.

Le fichier exécutable décompressé est appelé avec la commande « nohup », qui indique au processus d'ignorer tout signal HUP (raccrochage). Cela est souvent utilisé par les attaquants pour exécuter des programmes en arrière-plan. La charge utile finale décompressée est un échantillon du logiciel publicitaire Bundlore, mais cette charge utile finale peut varier selon les échantillons de Shlayer.

Correctif d'Apple

Apple a corrigé cette vulnérabilité dans la version 11.3 de macOS. Lorsque ce même programme malveillant est exécuté sur une version corrigée de macOS, l'utilisateur verra un message contextuel indiquant que le logiciel « ne peut pas être ouvert, car le développeur ne peut pas être identifié ». Étant donné que l'application malveillante n'est pas notariée ou signée avec un certificat de développeur valide, le message invite l'utilisateur à éjecter le dmg monté contenant le lot d'applications.

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

Conclusion

Shlayer continue de se réintroduire avec des moyens innovants pour infecter les systèmes basés sur macOS. Jamf Protect fournit des analyses comportementales pour détecter les langages de script intégrés exécutés comme s'il s'agissait de lots d'applications. Les utilisateurs devraient donc être en mesure de découvrir les programmes malveillants abusant de cette technique sur les Mac exécutant des versions de macOS antérieures à 11.3, ainsi que d'autres applications suspectes. Jamf Protect protège contre les échantillons de programmes malveillants connus de Shlayer, y compris les variantes de logiciels publicitaires qu'il diffuse. Jamf recommande aux utilisateurs « d'appliquer les correctifs rapidement et souvent » pour maintenir les Mac à jour en mettant à niveau macOS vers la version 11.3, qui est désormais disponible sur le Mac App Store et fournit la dernière protection contre les vulnérabilités évoquées dans cet article.

Indicateurs de compromis

Hachage des fichiers :

  • AdobeFlashPlayer.dmg → 55869270ed20956e5c3e5533fb4472e4eb533dc2
  • 1302.app/Contents/MacOS/1302 → 085a136c03f8b024a173068768c67b1a5ad928c1
  • Exécutable Bundlore diffusé → 20ac95c44549710a434902267394525333e96c0b

Domaines servant le programme malveillant :

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

Protégez votre environnement dès aujourd'hui

Photo of Jesus Vigo
Jesus Vigo
Jamf
Jesus Vigo, Sr. Copywriter, Security.
S'abonner au blog

Recevez directement dans votre boîte mail les tendances du marché informatique, les mises à jour Apple et les actualités Jamf.

Pour en savoir plus sur la manière dont nous collectons, utilisons, partageons, transférons et protégeant vos informations personnelles, veuillez consulter notre Politique de confidentialité.