
CVE-2019-6440. Zemana RCE et élévation de privilèges.
Produits testés :
Zemana antimalware v.2.74.2.150 & Zemana antilogger v.2.74.204.150.
Corrigé depuis la version 2.74.2.664
À propos de la vulnérabilité :
Cette vulnérabilité permettait à des attaquants d’obtenir les privilèges SYSTEM sur les machines cibles sans interaction de l’utilisateur.
Prérequis :
1. L’attaquant doit pouvoir intercepter et modifier le contenu de la requête POST vers l’URL « POST /api/client/settings/ »
2. Aucun accès physique à la machine cible n’est requis.
Détails :
Les produits testés utilisent du HTTP simple pour recevoir les mises à jour, donc un attaquant peut facilement modifier la version et l’URL appropriée vers des valeurs arbitraires.
Modifions l’URL de mise à jour vers notre shell simple (Pic.0 & appx.1).

Pic.0
L’antivirus indique que la signature numérique de la mise à jour ne peut pas être vérifiée. Mais il autorise l’utilisateur à l’exécuter QUAND MÊME (pic.1). Si l’utilisateur a des droits utilisateur, il peut alors obtenir les droits SYSTEM (Pic.2).

Pic.1. Voulez-vous exécuter un fichier inconnu avec les droits SYSTEM ?

Pic.2. Droits SYSTEM.
Mais cette alerte peut être contournée.
Pour ce faire, nous avons besoin d’une copie de la signature numérique de ZAM.exe. Clonons-la (dossier Security).
Nous avons maintenant notre shell avec un clone de la signature numérique de Zemana et l’OS ne peut pas le vérifier. (Pic 3).

Pic.3. Signature incorrecte.
Observons maintenant la fonction « ZmnAppUpdater ».
Nous voyons que le résultat du SignatureChecker est IGNORÉ. (Pic.4)

Pic.4. Vérification ignorée.
EAX = 0x80096010 (TRUST_E_BAD_DIGEST).

Pic.5. Démo-gif.