Plongée en profondeur : La vulnérabilité zero-day de MOVEit à la loupe
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 :
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é.


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.

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émonstrationLaura 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.


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 :
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é.

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 :
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é.

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émonstrationLaura 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.
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 :
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

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échargerRessources pour vous aider à démarrer
Vibe Coding : Guide pratique pour la mise à jour de votre stratégie AppSec pour l'IA
Regardez à la demande pour apprendre comment permettre aux responsables AppSec de devenir des facilitateurs de l'IA, plutôt que des bloqueurs, grâce à une approche pratique, axée sur la formation. Nous vous montrerons comment tirer parti de Secure Code Warrior (SCW) pour actualiser votre stratégie AppSec à l'ère des assistants de codage IA.
AI Coding Assistants : Un guide de navigation sécurisée pour la prochaine génération de développeurs
Les grands modèles linguistiques offrent des avantages irrésistibles en termes de rapidité et de productivité, mais ils présentent également des risques indéniables pour l'entreprise. Les garde-fous traditionnels ne suffisent pas à contrôler le déluge. Les développeurs ont besoin de compétences précises et vérifiées en matière de sécurité pour identifier et prévenir les failles de sécurité dès le début du cycle de développement du logiciel.
Ressources pour vous aider à démarrer
Qu'est-ce que le codage sécurisé ? Techniques, normes et ressources
Découvrez ce que signifie réellement le codage sécurisé et comment les pratiques de codage sécurisé peuvent réduire à la fois les vulnérabilités et les coûts liés à la sécurité dans votre entreprise.
10 000+ activités d'apprentissage du code sécurisé : Une décennie de gestion des risques pour les développeurs
Célébration de plus de 10 000 activités d'apprentissage du code sécurisé et d'une décennie d'habilitation des développeurs à réduire les risques, à améliorer la qualité du code et à aborder en toute confiance le développement assisté par l'IA.
Définir la norme : SCW publie des règles de sécurité gratuites pour le codage de l'IA sur GitHub
Le développement assisté par IA n'est plus un horizon : il est bel et bien là, et il transforme rapidement la manière dont les logiciels sont écrits. Des outils comme GitHub Copilot, Cline, Roo, Cursor, Aider et Windsurf transforment les développeurs en copilotes, permettant des itérations plus rapides et accélérant tout, du prototypage aux projets de refactorisation majeurs.