MITRE Caldera est une plateforme d’émulation d’adversaires dont les agents – en particulier Sandcat et Manx – sont compilés dynamiquement au moment du téléchargement. Toutes les versions de Caldera publiées avant le commit 35bc06e (jusqu’aux versions les plus anciennes) sont vulnérables.
Cette vulnérabilité devient exploitable lorsque le système cible a Go, Python et gcc installés – des dépendances généralement requises pour le fonctionnement complet de Caldera. Dans de nombreuses distributions, l’installation de Go entraîne également l’installation de gcc, augmentant ainsi davantage l’exposition.
| Produit | Caldera Framework |
| Date | 10-03-2025 14:47:04 |
| Informations |
|
Résumé technique
La vulnérabilité réside dans la fonctionnalité de compilation dynamique utilisée par les agents de Caldera. Lorsqu’un agent est demandé, le serveur compile dynamiquement un binaire personnalisé en injectant des paramètres contrôlables par l’utilisateur (tels que les méthodes de communication, les clés de chiffrement et les adresses de rappel) à l’intérieur des drapeaux (flags) de l’éditeur de liens (linker). Le problème principal est la gestion non sécurisée de ces drapeaux — en particulier via l’utilisation d’options comme -X (similaire au -D de gcc), ainsi que des dangereux drapeaux -extld et -extldflags.
Bien que la compilation soit effectuée via subprocess.check_output() sans shell=True (ce qui atténue une partie des risques d’injection directe), un attaquant peut tout de même manipuler le processus de compilation en abusant des drapeaux du linker. En configurant un linker externe (par exemple gcc ou clang) et en transmettant des arguments contrôlés par l’attaquant via -extldflags, il est possible d’exécuter des commandes arbitraires pendant le processus de build.
Une preuve de concept (PoC) a démontré comment des valeurs opportunément construites dans les en-têtes HTTP peuvent déclencher ce comportement, menant à l’exécution de code à distance sur les systèmes vulnérables.
Recommandations
Mettre à jour immédiatement :
Passez à une version corrigée de MITRE Caldera (la dernière version de la branche Master ou la v5.1.0 et ultérieures) qui résout cette vulnérabilité.Restreindre l’accès réseau :
Autorisez l’accès au serveur Caldera uniquement depuis des hôtes de confiance, réduisant ainsi le risque d’exploits non autorisés.Renforcer les environnements de build :
Supprimez ou limitez les outils de compilation inutiles (Go, Python, gcc) sur les systèmes de production, ou isolez le serveur Caldera dans un environnement contrôlé.Surveiller et auditer :
Augmentez le niveau de surveillance et de journalisation pour détecter les activités anormales qui pourraient indiquer des tentatives d’exploitation. Vérifiez régulièrement la configuration et les contrôles d’accès sur les points de terminaison de compilation dynamique.
[Callforaction-THREAT-Footer]
Leave a Reply