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 :
- 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.
- L'application peut ensuite être placée dans un fichier dmg pour distribution.
- 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.
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.
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.
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 :
En examinant de plus près la mise en page de l'application, d'autres détails font surface.
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.
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.
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.
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
S’abonner au blog de Jamf
Recevez les tendances du marché, les mises à jour d'Apple et les dernières nouvelles de Jamf directement dans votre boîte mails.
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é.