Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2022-37017 — Contournement du mot de passe de l'interface utilisateur client de Symantec Endpoint Protection | Kitploit
Outils/GitHubGitHub/apeppels/cve-2022-37017
Authentification et AutorisationEscalade de PrivilègesAnalyse des VulnérabilitésExploitationRétro-ingénierieTests d'IntrusionExploitation de Binaires
GitHubapeppels/cve-2022-37017

CVE-2022-37017

Contournement du mot de passe de l'interface utilisateur client de Symantec Endpoint Protection

Voir le dépôt
il y a 2 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2022-37017

Contournement d'authentification pour le mot de passe de l'interface utilisateur du client Symantec Endpoint Protection 14.3.5351

Symantec Endpoint Protection permet de définir une protection par mot de passe sur son interface utilisateur afin d'empêcher les modifications de configuration. Cette vérification du mot de passe est implémentée par une logique qui n'est ni dans un Protected Process Light (PPL) ni dans un pilote noyau ; modifier une valeur de retour en mémoire ou patcher le binaire permet à un attaquant de contourner le mot de passe. Cela fonctionne même si la protection contre la falsification (Tamper Protection) est activée.

Si l'attaquant peut exécuter du code avec des privilèges administrateur, il peut importer une politique XML malveillante et/ou des paramètres de connexion pour la gestion centrale de SEP. Il obtient ainsi pratiquement un contrôle total sur le client. En utilisant l'importation de politique, il peut ajouter des exclusions, déverrouiller des options de l'interface utilisateur, désactiver ou modifier le mot de passe administrateur, désactiver définitivement la protection et/ou désinstaller le client.

Si l'attaquant ne dispose pas de privilèges administrateur, cela peut être utilisé pour exporter des informations de dépannage, lire les journaux et consulter les paramètres du client. Sur la version 14.0, la politique peut être exportée et la protection contre la falsification peut être désactivée sans autorisations administrateur. Cela n'était pas possible dans la version 14.3.5413.3000.

Dans la version 14.3.5351, le code suivant vérifie si le mot de passe correspond :

root@kitploit:~
.text:00438021 loc_438021:                             ; CODE XREF: sub_437FA0+73↑j
.text:00438021                 mov     ecx, offset ServiceName ; "SepMasterService"
.text:00438026                 call    sub_43DDF0
.text:0043802B                 test    eax, eax
.text:0043802D                 jnz     short loc_4380A5
.text:0043802F                 push    ecx             ; Src
.text:00438030                 lea     eax, [ebp+var_14]
.text:00438033                 mov     ecx, esp
.text:00438035                 push    eax
.text:00438036                 call    ds:??0?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>> const &)
.text:0043803C                 call    sub_4380F0
.text:00438041                 test    al, al
.text:00438043                 jz      short loc_43804F
.text:00438045                 mov     ecx, esi
.text:00438047                 call    ds:__imp_?OnOK@CDialog@@MAEXXZ ; CDialog::OnOK(void)
.text:0043804D                 jmp     short loc_4380AD

Le saut qui semble contrôler la réussite de toutes les tentatives de mot de passe dans SymCorpUI.exe est l'instruction JZ affichée à .text:00438043. Changer cette instruction en JNZ (instruction 0x74 -> 0x75) inverse le saut, permettant d'accepter un mot de passe arbitraire.

Le script Python script trouve le dossier d'installation de SEP, lit SymCorpUI.exe, écrit une copie patchée dans le dossier à côté du script, et exécute la version patchée dans le répertoire de travail d'origine. Exécutez-le avec des privilèges, et il lancera une interface utilisateur SEP qui acceptera n'importe quel mot de passe incorrect saisi.

Un attaquant peut ensuite exporter le fichier XML de politique sous Aide -> Dépannage (Help -> Troubleshooting). Celui-ci contiendra la configuration, y compris les éventuels hachages du mot de passe administrateur. L'attaquant peut alors modifier le XML pour changer n'importe quel paramètre du client, par exemple en remplaçant le hachage du mot de passe ou en désactivant l'exigence de mot de passe. Ce fichier XML de politique malveillant peut ensuite être réimporté à l'aide du bouton à côté d'Exporter.

Le script effectue quelques vérifications pour voir s'il est élevé ; sinon, il force l'exécution du binaire patché sans privilèges administrateur. Pour exécuter l'interface utilisateur en tant qu'administrateur, exécutez le script Python en tant qu'administrateur ou codez en dur la variable as_admin à True.

Pour éviter de stocker des décalages spécifiques pour chaque build, le script effectue une recherche/remplacement générale pour une séquence d'instructions que j'ai trouvée unique dans les trois versions que j'ai testées. Il est possible qu'une version différente contienne plusieurs correspondances, ce qui pourrait casser la PoC. Dans ce cas, parcourez les correspondances pour trouver un bloc commençant par mov ecx, offset ServiceName ; "SepMasterService" afin de localiser l'instruction JZ pertinente à patcher près du bas.

Pour tester la fonctionnalité de mot de passe, on peut ajouter ce qui suit dans le fichier XML de politique (au même niveau que GlobalGroups) pour activer la protection. Le hachage est un MD5 de la chaîne "test".

root@kitploit:~
<AdminPassword ExitNeedPassword="1" UINeedPassword="1" ImportExportNeedPassword="1" UninstallNeedPassword="1">098f6bcd4621d373cade4e832627b4f6</AdminPassword>

Symantec a rapidement répondu au problème, le CVE a été enregistré par eux et un correctif a été publié sous la version 14.3 RU6.

https://support.broadcom.com/external/content/SecurityAdvisories/0/21014

Télécharger l’outil