Des pirates ont été observés tentant de pénétrer dans des environnements cloud via des serveurs Microsoft SQL vulnérables à l’injection SQL.
Les chercheurs en sécurité de Microsoft rapportent que cette technique de mouvement latéral a déjà été observée dans des attaques contre d’autres services comme les machines virtuelles et les clusters Kubernetes.
Cependant, c’est la première fois qu’ils voient des serveurs SQL exploités à cette fin.
Chaîne d’attaque
Les attaques observées par Microsoft commencent par exploiter une vulnérabilité d’injection SQL dans une application de l’environnement cible.
Cela permet aux acteurs malveillants d’accéder à l’instance SQL Server hébergée sur la machine virtuelle Azure avec des autorisations élevées pour exécuter des commandes SQL et extraire des données précieuses.
Cela inclut les données sur les bases de données, les noms de tables, les schémas, les versions de bases de données, la configuration réseau et les autorisations de lecture/écriture/suppression.
Si l’application compromise dispose d’autorisations élevées, les attaquants peuvent activer la commande « xp_cmdshell » pour exécuter les commandes du système d’exploitation (OS) via SQL, leur donnant ainsi un shell dans l’hôte.
Les commandes exécutées par les attaquants à ce stade sont les suivantes :
- Lisez les répertoires, répertoriez les processus et vérifiez les partages réseau.
- Téléchargez des exécutables et des scripts PowerShell codés et compressés.
- Configurez une tâche planifiée pour lancer un script de porte dérobée.
- Récupérez les informations d’identification de l’utilisateur en supprimant les clés de registre SAM et SECURITY.
- Exfiltrez les données à l’aide d’une méthode unique qui implique le service gratuit « webhook.site », qui facilite l’inspection et le débogage des requêtes HTTP, des e-mails.
L’utilisation d’un service légitime pour l’exfiltration de données rend l’activité moins susceptible de paraître suspecte ou de déclencher des signaux d’alarme de la part des produits de sécurité, permettant ainsi aux attaquants de voler discrètement des données à l’hôte.
Ensuite, les attaquants ont tenté d’exploiter l’identité cloud de l’instance SQL Server pour accéder à l’IMDS (Instant Metadata Service) et obtenir la clé d’accès à l’identité cloud.
Dans Azure, les ressources se voient souvent attribuer des identités managées pour l’authentification auprès d’autres ressources et services cloud. Si les attaquants détiennent ce jeton, ils peuvent l’utiliser pour accéder à n’importe quelle ressource cloud pour laquelle l’identité dispose d’autorisations.
Microsoft affirme que les attaquants n’ont pas réussi à exploiter cette technique en raison d’erreurs, mais l’approche reste valable et constitue une menace sérieuse pour les organisations.
Enfin, les auteurs de la menace ont supprimé tous les scripts téléchargés et effacé les modifications temporaires de la base de données pour effacer les traces de l’attaque.
Conseils de défense
Microsoft suggère d’utiliser Defender pour Cloud et Defender pour Endpoint pour détecter les injections SQL et les activités SQLCMD suspectes, toutes deux utilisées dans l’attaque observée.
Pour atténuer la menace, Microsoft recommande d’appliquer le principe du moindre privilège lors de l’octroi des autorisations aux utilisateurs, ce qui ajoute toujours des frictions lors des tentatives de mouvements latéraux.
Les requêtes de recherche pour 365 Defender et Sentinel sont fournies en annexe de Le rapport de Microsoft.