Blog

Plongée en profondeur : La vulnérabilité zero-day de MOVEit à la loupe

Laura Verheyde
Publié le 30 septembre 2023

Les cyberattaques contre la chaîne d'approvisionnement des logiciels sont de plus en plus fréquentes, suscitant une vague de changements législatifs au niveau du gouvernement américain, tandis que les entreprises s'efforcent d'atténuer leur profil de risque étendu et d'améliorer rapidement la qualité de leurs logiciels. Rien que cette année, trois vulnérabilités de type "zero-day" ont été liées à des services de partage de fichiers, la plus importante et la plus destructrice étant l'exploit de masse MOVEit.

Mené par le groupe de ransomware CL0P, l'incident MOVEit domine l'actualité de la cybersécurité depuis un certain temps, avec plus de 1 000 organisations touchées. Ce nombre devrait continuer à augmenter, ce qui en fait l'une des attaques les plus puissantes contre la chaîne d'approvisionnement en logiciels depuis Solarwinds en 2021.

Le catalyseur de cette violation généralisée a été un groupe de vulnérabilités d'injection SQL, qui ont reçu un score de gravité de 9,8 sur 10 de la part de MITRE. L'injection SQL est la bête noire des professionnels de la sécurité depuis la fin des années 90 et, bien qu'elle soit assez simple à corriger, elle continue à se frayer un chemin dans les logiciels modernes et à offrir aux acteurs de la menace un tapis rouge vers les données sensibles. 

Le scénario MOVEit est un peu différent de ce que de nombreux développeurs et professionnels de l'AppSec ont pu connaître auparavant, et vous pouvez tester vos compétences de tueur de SQLi dans une simulation en direct ici :

>>> PLAY THE MOVEit MISSION (Jouez la mission MOVEit)

La vulnérabilité : Injection SQL

Comment l'injection SQL a-t-elle été utilisée pour exploiter l'application de transfert de fichiers MOVEit de Progress Software ?

Le groupe de ransomware CL0P a réussi à exploiter la vulnérabilité CVE-2023-34362 d'injection SQL, ce qui lui a permis d'accéder sans restriction et sans autorisation à la base de données de MOVEit. À partir de là, ils ont pu installer LEMURLOOT, un shell web qui leur a permis d'exécuter plusieurs processus critiques à haut risque, tels que la récupération des paramètres du système, l'énumération de la base de données SQL, la récupération de fichiers à partir du système de transfert MOVEit et la création d'un nouveau compte avec des privilèges d'administration complets.

Il va sans dire que ce vecteur d'attaque peut être le résultat d'une erreur relativement simple - que l'on pourrait mettre sur le compte de l'utilisation perpétuelle de mauvais modèles de codage - mais son potentiel à causer des problèmes continus au niveau de l'entreprise est immense. 

Comparable à l'exploit MOVEit, jetons un coup d'œil à cet explicatif SQLi, qui simule la méthode d'injection et d'exécution d'un code SQL malveillant :

Chaîne de requête et variable :

string emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";


aboutira à la requête suivante :

var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'" ;

... et avec une entrée malveillante :

string emailAddress = "contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--" ;
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";

il deviendra :

var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--'" ;

Comment cela se présente-t-il en vol ?

Notez qu'en raison de la concaténation de chaînes, l'entrée est interprétée comme une syntaxe SQL. Tout d'abord, un guillemet simple est ajouté pour s'assurer que l'instruction SELECT est une syntaxe SQL valide. Ensuite, un point-virgule est ajouté pour terminer la première instruction. 

Une fois que cela est en place, une instruction DELETE valide est ajoutée, suivie de deux traits d'union pour commenter les caractères de fin (le guillemet simple). Une instruction UPDATE pourrait tout aussi bien être ajoutée, par exemple, si le code SQL malveillant consistait à mettre à jour les rôles ou les mots de passe des utilisateurs.

Essayez-le vous-même dans cette mission jouable :

>>> JOUER LA MISSION MOVEit

Bien que relativement simple, SQLi reste un vecteur d'attaque puissant et bien trop courant. Dans le cas de MOVEit, cet exploit a permis l'installation d'une porte dérobée préjudiciable et d'un groupe d'autres attaques de gravité similaire.

Comment réduire le risque d'injection SQL ?

Les entreprises qui utilisent MOVEit dans le cadre de leurs activités doivent impérativement suivre les conseils de Progress Software en matière de remédiation. Cela inclut, sans s'y limiter, l'application des correctifs de sécurité en tant que priorité de niveau d'urgence.

Pour l'injection SQL en général, consultez notre guide complet.

Vous voulez en savoir plus sur la façon d'écrire du code sécurisé et de réduire les risques ? Essayez gratuitement notre défi d'injection SQL.

Si vous souhaitez obtenir d'autres conseils de codage gratuits, consultez Secure Code Coach pour vous aider à rester au fait des meilleures pratiques en matière de codage sécurisé.

Voir la ressource
Voir la ressource

Le scénario MOVEit est un peu différent de ce que de nombreux développeurs et professionnels de l'AppSec ont pu connaître auparavant, et vous pouvez tester vos compétences de tueur de SQLi dans une simulation en direct ici même.

Vous souhaitez en savoir plus ?

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Réservez une démonstration
Partager sur :
Auteur
Laura Verheyde
Publié le 30 septembre 2023

Laura Verheyde est développeuse de logiciels à l'adresse Secure Code Warrior . Elle se consacre à la recherche de vulnérabilités et à la création de contenu pour Missions et Coding labs.

Partager sur :

Les cyberattaques contre la chaîne d'approvisionnement des logiciels sont de plus en plus fréquentes, suscitant une vague de changements législatifs au niveau du gouvernement américain, tandis que les entreprises s'efforcent d'atténuer leur profil de risque étendu et d'améliorer rapidement la qualité de leurs logiciels. Rien que cette année, trois vulnérabilités de type "zero-day" ont été liées à des services de partage de fichiers, la plus importante et la plus destructrice étant l'exploit de masse MOVEit.

Mené par le groupe de ransomware CL0P, l'incident MOVEit domine l'actualité de la cybersécurité depuis un certain temps, avec plus de 1 000 organisations touchées. Ce nombre devrait continuer à augmenter, ce qui en fait l'une des attaques les plus puissantes contre la chaîne d'approvisionnement en logiciels depuis Solarwinds en 2021.

Le catalyseur de cette violation généralisée a été un groupe de vulnérabilités d'injection SQL, qui ont reçu un score de gravité de 9,8 sur 10 de la part de MITRE. L'injection SQL est la bête noire des professionnels de la sécurité depuis la fin des années 90 et, bien qu'elle soit assez simple à corriger, elle continue à se frayer un chemin dans les logiciels modernes et à offrir aux acteurs de la menace un tapis rouge vers les données sensibles. 

Le scénario MOVEit est un peu différent de ce que de nombreux développeurs et professionnels de l'AppSec ont pu connaître auparavant, et vous pouvez tester vos compétences de tueur de SQLi dans une simulation en direct ici :

>>> PLAY THE MOVEit MISSION (Jouez la mission MOVEit)

La vulnérabilité : Injection SQL

Comment l'injection SQL a-t-elle été utilisée pour exploiter l'application de transfert de fichiers MOVEit de Progress Software ?

Le groupe de ransomware CL0P a réussi à exploiter la vulnérabilité CVE-2023-34362 d'injection SQL, ce qui lui a permis d'accéder sans restriction et sans autorisation à la base de données de MOVEit. À partir de là, ils ont pu installer LEMURLOOT, un shell web qui leur a permis d'exécuter plusieurs processus critiques à haut risque, tels que la récupération des paramètres du système, l'énumération de la base de données SQL, la récupération de fichiers à partir du système de transfert MOVEit et la création d'un nouveau compte avec des privilèges d'administration complets.

Il va sans dire que ce vecteur d'attaque peut être le résultat d'une erreur relativement simple - que l'on pourrait mettre sur le compte de l'utilisation perpétuelle de mauvais modèles de codage - mais son potentiel à causer des problèmes continus au niveau de l'entreprise est immense. 

Comparable à l'exploit MOVEit, jetons un coup d'œil à cet explicatif SQLi, qui simule la méthode d'injection et d'exécution d'un code SQL malveillant :

Chaîne de requête et variable :

string emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";


aboutira à la requête suivante :

var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'" ;

... et avec une entrée malveillante :

string emailAddress = "contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--" ;
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";

il deviendra :

var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--'" ;

Comment cela se présente-t-il en vol ?

Notez qu'en raison de la concaténation de chaînes, l'entrée est interprétée comme une syntaxe SQL. Tout d'abord, un guillemet simple est ajouté pour s'assurer que l'instruction SELECT est une syntaxe SQL valide. Ensuite, un point-virgule est ajouté pour terminer la première instruction. 

Une fois que cela est en place, une instruction DELETE valide est ajoutée, suivie de deux traits d'union pour commenter les caractères de fin (le guillemet simple). Une instruction UPDATE pourrait tout aussi bien être ajoutée, par exemple, si le code SQL malveillant consistait à mettre à jour les rôles ou les mots de passe des utilisateurs.

Essayez-le vous-même dans cette mission jouable :

>>> JOUER LA MISSION MOVEit

Bien que relativement simple, SQLi reste un vecteur d'attaque puissant et bien trop courant. Dans le cas de MOVEit, cet exploit a permis l'installation d'une porte dérobée préjudiciable et d'un groupe d'autres attaques de gravité similaire.

Comment réduire le risque d'injection SQL ?

Les entreprises qui utilisent MOVEit dans le cadre de leurs activités doivent impérativement suivre les conseils de Progress Software en matière de remédiation. Cela inclut, sans s'y limiter, l'application des correctifs de sécurité en tant que priorité de niveau d'urgence.

Pour l'injection SQL en général, consultez notre guide complet.

Vous voulez en savoir plus sur la façon d'écrire du code sécurisé et de réduire les risques ? Essayez gratuitement notre défi d'injection SQL.

Si vous souhaitez obtenir d'autres conseils de codage gratuits, consultez Secure Code Coach pour vous aider à rester au fait des meilleures pratiques en matière de codage sécurisé.

Voir la ressource
Voir la ressource

Remplissez le formulaire ci-dessous pour télécharger le rapport

Nous aimerions que vous nous autorisiez à vous envoyer des informations sur nos produits et/ou sur des sujets liés au codage sécurisé. Nous traiterons toujours vos données personnelles avec le plus grand soin et ne les vendrons jamais à d'autres entreprises à des fins de marketing.

Soumettre
Pour soumettre le formulaire, veuillez activer les cookies "Analytics". N'hésitez pas à les désactiver à nouveau une fois que vous aurez terminé.

Les cyberattaques contre la chaîne d'approvisionnement des logiciels sont de plus en plus fréquentes, suscitant une vague de changements législatifs au niveau du gouvernement américain, tandis que les entreprises s'efforcent d'atténuer leur profil de risque étendu et d'améliorer rapidement la qualité de leurs logiciels. Rien que cette année, trois vulnérabilités de type "zero-day" ont été liées à des services de partage de fichiers, la plus importante et la plus destructrice étant l'exploit de masse MOVEit.

Mené par le groupe de ransomware CL0P, l'incident MOVEit domine l'actualité de la cybersécurité depuis un certain temps, avec plus de 1 000 organisations touchées. Ce nombre devrait continuer à augmenter, ce qui en fait l'une des attaques les plus puissantes contre la chaîne d'approvisionnement en logiciels depuis Solarwinds en 2021.

Le catalyseur de cette violation généralisée a été un groupe de vulnérabilités d'injection SQL, qui ont reçu un score de gravité de 9,8 sur 10 de la part de MITRE. L'injection SQL est la bête noire des professionnels de la sécurité depuis la fin des années 90 et, bien qu'elle soit assez simple à corriger, elle continue à se frayer un chemin dans les logiciels modernes et à offrir aux acteurs de la menace un tapis rouge vers les données sensibles. 

Le scénario MOVEit est un peu différent de ce que de nombreux développeurs et professionnels de l'AppSec ont pu connaître auparavant, et vous pouvez tester vos compétences de tueur de SQLi dans une simulation en direct ici :

>>> PLAY THE MOVEit MISSION (Jouez la mission MOVEit)

La vulnérabilité : Injection SQL

Comment l'injection SQL a-t-elle été utilisée pour exploiter l'application de transfert de fichiers MOVEit de Progress Software ?

Le groupe de ransomware CL0P a réussi à exploiter la vulnérabilité CVE-2023-34362 d'injection SQL, ce qui lui a permis d'accéder sans restriction et sans autorisation à la base de données de MOVEit. À partir de là, ils ont pu installer LEMURLOOT, un shell web qui leur a permis d'exécuter plusieurs processus critiques à haut risque, tels que la récupération des paramètres du système, l'énumération de la base de données SQL, la récupération de fichiers à partir du système de transfert MOVEit et la création d'un nouveau compte avec des privilèges d'administration complets.

Il va sans dire que ce vecteur d'attaque peut être le résultat d'une erreur relativement simple - que l'on pourrait mettre sur le compte de l'utilisation perpétuelle de mauvais modèles de codage - mais son potentiel à causer des problèmes continus au niveau de l'entreprise est immense. 

Comparable à l'exploit MOVEit, jetons un coup d'œil à cet explicatif SQLi, qui simule la méthode d'injection et d'exécution d'un code SQL malveillant :

Chaîne de requête et variable :

string emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";


aboutira à la requête suivante :

var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'" ;

... et avec une entrée malveillante :

string emailAddress = "contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--" ;
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";

il deviendra :

var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--'" ;

Comment cela se présente-t-il en vol ?

Notez qu'en raison de la concaténation de chaînes, l'entrée est interprétée comme une syntaxe SQL. Tout d'abord, un guillemet simple est ajouté pour s'assurer que l'instruction SELECT est une syntaxe SQL valide. Ensuite, un point-virgule est ajouté pour terminer la première instruction. 

Une fois que cela est en place, une instruction DELETE valide est ajoutée, suivie de deux traits d'union pour commenter les caractères de fin (le guillemet simple). Une instruction UPDATE pourrait tout aussi bien être ajoutée, par exemple, si le code SQL malveillant consistait à mettre à jour les rôles ou les mots de passe des utilisateurs.

Essayez-le vous-même dans cette mission jouable :

>>> JOUER LA MISSION MOVEit

Bien que relativement simple, SQLi reste un vecteur d'attaque puissant et bien trop courant. Dans le cas de MOVEit, cet exploit a permis l'installation d'une porte dérobée préjudiciable et d'un groupe d'autres attaques de gravité similaire.

Comment réduire le risque d'injection SQL ?

Les entreprises qui utilisent MOVEit dans le cadre de leurs activités doivent impérativement suivre les conseils de Progress Software en matière de remédiation. Cela inclut, sans s'y limiter, l'application des correctifs de sécurité en tant que priorité de niveau d'urgence.

Pour l'injection SQL en général, consultez notre guide complet.

Vous voulez en savoir plus sur la façon d'écrire du code sécurisé et de réduire les risques ? Essayez gratuitement notre défi d'injection SQL.

Si vous souhaitez obtenir d'autres conseils de codage gratuits, consultez Secure Code Coach pour vous aider à rester au fait des meilleures pratiques en matière de codage sécurisé.

Accès aux ressources

Cliquez sur le lien ci-dessous et téléchargez le PDF de cette ressource.

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Voir le rapportRéservez une démonstration
Partager sur :
Vous souhaitez en savoir plus ?

Partager sur :
Auteur
Laura Verheyde
Publié le 30 septembre 2023

Laura Verheyde est développeuse de logiciels à l'adresse Secure Code Warrior . Elle se consacre à la recherche de vulnérabilités et à la création de contenu pour Missions et Coding labs.

Partager sur :

Les cyberattaques contre la chaîne d'approvisionnement des logiciels sont de plus en plus fréquentes, suscitant une vague de changements législatifs au niveau du gouvernement américain, tandis que les entreprises s'efforcent d'atténuer leur profil de risque étendu et d'améliorer rapidement la qualité de leurs logiciels. Rien que cette année, trois vulnérabilités de type "zero-day" ont été liées à des services de partage de fichiers, la plus importante et la plus destructrice étant l'exploit de masse MOVEit.

Mené par le groupe de ransomware CL0P, l'incident MOVEit domine l'actualité de la cybersécurité depuis un certain temps, avec plus de 1 000 organisations touchées. Ce nombre devrait continuer à augmenter, ce qui en fait l'une des attaques les plus puissantes contre la chaîne d'approvisionnement en logiciels depuis Solarwinds en 2021.

Le catalyseur de cette violation généralisée a été un groupe de vulnérabilités d'injection SQL, qui ont reçu un score de gravité de 9,8 sur 10 de la part de MITRE. L'injection SQL est la bête noire des professionnels de la sécurité depuis la fin des années 90 et, bien qu'elle soit assez simple à corriger, elle continue à se frayer un chemin dans les logiciels modernes et à offrir aux acteurs de la menace un tapis rouge vers les données sensibles. 

Le scénario MOVEit est un peu différent de ce que de nombreux développeurs et professionnels de l'AppSec ont pu connaître auparavant, et vous pouvez tester vos compétences de tueur de SQLi dans une simulation en direct ici :

>>> PLAY THE MOVEit MISSION (Jouez la mission MOVEit)

La vulnérabilité : Injection SQL

Comment l'injection SQL a-t-elle été utilisée pour exploiter l'application de transfert de fichiers MOVEit de Progress Software ?

Le groupe de ransomware CL0P a réussi à exploiter la vulnérabilité CVE-2023-34362 d'injection SQL, ce qui lui a permis d'accéder sans restriction et sans autorisation à la base de données de MOVEit. À partir de là, ils ont pu installer LEMURLOOT, un shell web qui leur a permis d'exécuter plusieurs processus critiques à haut risque, tels que la récupération des paramètres du système, l'énumération de la base de données SQL, la récupération de fichiers à partir du système de transfert MOVEit et la création d'un nouveau compte avec des privilèges d'administration complets.

Il va sans dire que ce vecteur d'attaque peut être le résultat d'une erreur relativement simple - que l'on pourrait mettre sur le compte de l'utilisation perpétuelle de mauvais modèles de codage - mais son potentiel à causer des problèmes continus au niveau de l'entreprise est immense. 

Comparable à l'exploit MOVEit, jetons un coup d'œil à cet explicatif SQLi, qui simule la méthode d'injection et d'exécution d'un code SQL malveillant :

Chaîne de requête et variable :

string emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";


aboutira à la requête suivante :

var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'" ;

... et avec une entrée malveillante :

string emailAddress = "contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--" ;
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";

il deviendra :

var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--'" ;

Comment cela se présente-t-il en vol ?

Notez qu'en raison de la concaténation de chaînes, l'entrée est interprétée comme une syntaxe SQL. Tout d'abord, un guillemet simple est ajouté pour s'assurer que l'instruction SELECT est une syntaxe SQL valide. Ensuite, un point-virgule est ajouté pour terminer la première instruction. 

Une fois que cela est en place, une instruction DELETE valide est ajoutée, suivie de deux traits d'union pour commenter les caractères de fin (le guillemet simple). Une instruction UPDATE pourrait tout aussi bien être ajoutée, par exemple, si le code SQL malveillant consistait à mettre à jour les rôles ou les mots de passe des utilisateurs.

Essayez-le vous-même dans cette mission jouable :

>>> JOUER LA MISSION MOVEit

Bien que relativement simple, SQLi reste un vecteur d'attaque puissant et bien trop courant. Dans le cas de MOVEit, cet exploit a permis l'installation d'une porte dérobée préjudiciable et d'un groupe d'autres attaques de gravité similaire.

Comment réduire le risque d'injection SQL ?

Les entreprises qui utilisent MOVEit dans le cadre de leurs activités doivent impérativement suivre les conseils de Progress Software en matière de remédiation. Cela inclut, sans s'y limiter, l'application des correctifs de sécurité en tant que priorité de niveau d'urgence.

Pour l'injection SQL en général, consultez notre guide complet.

Vous voulez en savoir plus sur la façon d'écrire du code sécurisé et de réduire les risques ? Essayez gratuitement notre défi d'injection SQL.

Si vous souhaitez obtenir d'autres conseils de codage gratuits, consultez Secure Code Coach pour vous aider à rester au fait des meilleures pratiques en matière de codage sécurisé.

Table des matières

Voir la ressource
Vous souhaitez en savoir plus ?

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Réservez une démonstrationTélécharger
Partager sur :
Centre de ressources

Ressources pour vous aider à démarrer

Plus d'articles
Centre de ressources

Ressources pour vous aider à démarrer

Plus d'articles