Storm-0940 élargit les attaques ARTEX aux fournisseurs informatiques et de logiciels
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Un acteur menaçant aligné sur la Chine, suivi sous le nom de Storm-0940, utilise ARTEX, un agent autonome de test de pénétration basé sur l’IA, pour cibler les fournisseurs de services informatiques et logiciels. Les attaques se concentrent sur les fournisseurs d’identité tels qu’Okta, Entra et Cognito pour identifier les faiblesses d’authentification et accéder aux données des clients. L’acteur affiche un comportement hautement automatisé et adaptatif, y compris la rotation d’IP et des changements fréquents d’agent utilisateur pour échapper à la détection.
Investigation
Wiz Research a identifié l’activité grâce à l’analyse des journaux d’accès HTTP, à la télémétrie des fournisseurs d’identité d’AWS Cognito, Entra et Okta, et aux artefacts liés à ARTEX. L’enquête a révélé un scénario répétable impliquant la cartographie d’applications via des cartes sources, des tests d’authentification et l’abus des flux de récupération de compte. La campagne a été liée à des activités récentes de la chaîne d’approvisionnement et ciblait plusieurs secteurs du logiciel dans le monde entier.
Atténuation
Les défenseurs devraient appliquer une limitation stricte du taux sur les terminaux d’authentification et de récupération de compte. Le renforcement des configurations des fournisseurs d’identité, notamment les flux OAuth et la validation JWT, est crucial pour réduire l’exposition. Les organisations devraient également surveiller les pics inhabituels d’événements refusés d’accès et les modèles récurrents associés à la reconnaissance automatisée.
Réponse
Lorsque cette activité est détectée, les équipes de sécurité devraient immédiatement enquêter sur les rafales de connexions échouées et les volumes anormaux d’événements refusés d’accès. Corréler la télémétrie des fournisseurs d’identité avec les journaux du serveur Web pour identifier le comportement de reconnaissance automatisée. Appliquer un blocage rapide des IP lorsqu’il est approprié et surveiller les tentatives de suivi provenant d’une nouvelle infrastructure ou d’agents utilisateurs divers.
Ajouter des détails de réponse axés sur la détection. Clarifier la séquence d’attaque de la campagne
Flux d’Attaque
Nous mettons toujours à jour cette partie.
Détections
Activité suspecte de persistance par exécution de commandes shell depuis les utilisateurs et groupes des services Web (via auditd)
Modèles d’agents utilisateurs suspects (via le web)
Modèles possibles d’inclusion de fichiers (via le web)
Modèles possibles d’injections de commandes OS (via le serveur Web)
Modèle possible de traversée de chemin dans l’URL (via le serveur Web)
Tentative possible de découverte des hôtes connus SSH [Linux] (via la ligne de commande)
Un fichier scripté a été créé dans des répertoires Webserver suspects [Linux] (via file_event)
IOCs (SourceIP) à détecter : ARTEX dans la nature : Storm-0940 étend le ciblage des fournisseurs de services informatiques et logiciels
IOCs (DestinationIP) à détecter : ARTEX dans la nature : Storm-0940 étend le ciblage des fournisseurs de services informatiques et logiciels
Détection de l’abus de récupération de compte dans des applications propriétaires [AWS Cloudtrail]
Attaque de pulvérisation de mot de passe sur Okta et Entra ID d’entreprise [Journal des événements de sécurité de Microsoft Windows]
Détection des activités liées à ARTEX ciblant les fournisseurs de services informatiques et logiciels [Serveur Web]
Exécution de simulation
-
Récit et commandes de l’attaque : L’adversaire effectue une reconnaissance pour cartographier la surface API de la cible. Ils commencent par tenter de télécharger la documentation OpenAPI (
/swagger/?format=openapi) pour identifier les points d’accès cachés. Pour vérifier la robustesse du routage du serveur Web et sonder les chemins potentiellement « cachés » ou les erreurs de configuration, l’attaquant suit immédiatement ceci par une demande à un URI totalement aléatoire et inexistant (/zzz-nonexistent-xyz123). Cette séquence spécifique est conçue pour correspondre à l’empreinte comportementale de la campagne ARTEX. -
Script de test de régression :
#!/bin/bash # Script de simulation ARTEX # Cible : Serveur Web Local TARGET_URL="http://localhost" echo "[+] Démarrage de la simulation de reconnaissance ARTEX..." # Étape 1 : Déclencher la sélection1 (Accès à la documentation Swagger) echo "[+] Tentative d'accès à la documentation OpenAPI..." curl -s -o /dev/null -w "%{http_code}" "$TARGET_URL/swagger/?format=openapi" echo -e "n[+] Sélection 1 déclenchée." # Étape 2 : Déclencher la sélection4 (Sondage de ressource inexistante) # C'est la condition 'AND' requise par la règle echo "[+] Sondage de ressource inexistante..." curl -s -o /dev/null -w "%{http_code}" "$TARGET_URL/zzz-nonexistent-xyz123" echo -e "n[+] Sélection 4 déclenchée." echo "[+] Simulation terminée. Vérifiez le SIEM pour la détection." -
Commandes de nettoyage :
# Aucune modification persistante faite par la simulation. # Si des fichiers ont été créés pendant le test, retirez-les : rm -f simulation_test_output.log