SOC Prime Bias: Élevé

10 Aug 2026 17:25 UTC

Un faux installateur Zoom utilise un téléchargeur .NET pour distribuer Overlord RAT sur macOS

Author Photo
SOC Prime Team linkedin icon Suivre
Un faux installateur Zoom utilise un téléchargeur .NET pour distribuer Overlord RAT sur macOS
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Une campagne de logiciels malveillants sur macOS utilise un faux installateur Zoom pour distribuer le cheval de Troie d’accès à distance (RAT) Overlord. Le téléchargeur est un binaire Mach-O distinct basé sur .NET capable de cibler à la fois les systèmes macOS et Windows. Une fois lancé, il récupère des charges utiles spécifiques à la plate-forme à partir d’une infrastructure contrôlée par les attaquants.

Enquête

Jamf Threat Labs a analysé un téléchargeur Mach-O nommé ZoomMeetings qui contient du code .NET obscurci. L’enquête a révélé que le logiciel malveillant utilise le codage XOR avec la clé 0x94 pour dissimuler l’infrastructure C2 et les URL de charges utiles. La deuxième étape livre un agent Overlord compilé avec l’obfuscation garble pour compliquer l’analyse statique.

Atténuation

Les organisations devraient déployer des contrôles avancés de prévention des menaces et de protection web pour bloquer les téléchargements malveillants. Restreindre l’exécution de binaires non signés ou inattendus depuis /tmp/ est recommandé. Les équipes de sécurité devraient également surveiller la création non autorisée de LaunchAgents pour détecter et prévenir la persistance.

Réponse

Si une activité malveillante est détectée, le point de terminaison macOS affecté doit être isolé immédiatement pour perturber la communication C2. Les enquêteurs doivent rechercher des fichiers non autorisés dans /tmp/ and ~/Library/Application Support/. Les LaunchAgents suspects, y compris les entrées telles que com.zoom.plist, devraient être identifiés et supprimés.

Flux d’Attaque

Exécution de simulation

Prérequis : le contrôle préalable du vol de télémétrie et de base doit être passé.

Raisonnement : 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 la narration 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.

  • Narration et commandes de l’attaque : L’adversaire vise à déployer l’Overlord RAT sur une station de travail macOS en se faisant passer pour une mise à jour de Zoom. Après avoir trompé l’utilisateur pour qu’il exécute un faux installateur, l’installateur dépose une charge utile de la deuxième étape dans un répertoire ayant l’air caché dans le dossier temporaire : /tmp/ZoomMeetings. Pour s’assurer que le logiciel malveillant continue de fonctionner même si l’utilisateur ferme la session terminal, l’attaquant exécute la charge utile en utilisant l’utilitaire nohup . Ce comportement est destiné à contourner les vérifications de signature simples en utilisant un utilitaire système légitime (nohup) pour lancer un fichier suspect dans un répertoire accessible en écriture.

  • Script de test de régression :

    #!/bin/bash
    # Script de simulation Overlord RAT
    
    # 1. Créer le répertoire suspect dans /tmp
    TARGET_DIR="/tmp/ZoomMeetings"
    mkdir -p "$TARGET_DIR"
    
    # 2. Créer un binaire malveillant factice
    MALICIOUS_BIN="$TARGET_DIR/overlord_payload"
    echo "#!/bin/bash" > "$MALICIOUS_BIN"
    echo "echo 'Overlord RAT active' >> /tmp/overlord_status.log" >> "$MALICIOUS_BIN"
    chmod +x "$MALICIOUS_BIN"
    
    # 3. Exécuter le binaire en utilisant nohup pour déclencher la règle de détection
    echo "[+] Exécution de la charge utile via nohup pour déclencher la détection..."
    nohup "$MALICIOUS_BIN" > /dev/null 2>&1 &
    
    echo "[+] Simulation terminée. Vérifiez SIEM pour les alertes."
  • Commandes de nettoyage :

    # Supprimer le répertoire et les fichiers malveillants
    rm -rf /tmp/ZoomMeetings
    rm /tmp/overlord_status.log