Contribuez à SecuObs en envoyant des bitcoins ou des dogecoins.
Nouveaux articles (fr): 1pwnthhW21zdnQ5WucjmnF3pk9puT5fDF
Amélioration du site: 1hckU85orcGCm8A9hk67391LCy4ECGJca

Contribute to SecuObs by sending bitcoins or dogecoins.



Sploit-Net un outil d'automatisation pour l'injection de code malveillant dans Microsoft .NET

Par Rédaction, secuobs.com
Le 14/11/2008


Résumé : Une nouvelle méthode vient d'être publiée concernant l'injection de modifications dans les librairies de la plateforme Microsoft .NET afin par exemple d'y installer des rootkits en contournant les mécanismes de signature en présence.



Une nouvelle méthode, concernant la sécurité de la plateforme Microsoft .NET a été publiée par Erez Metula ( OWASP - lien ) dans un document intitulé « NET Framework rootkits - backdoors inside your framework » ( lien pdf officiel non fonctionnel à l’heure actuelle - lien / version html en cache sur google - lien ) ; elle concerne les différents moyens permettant d’insérer du code malveillant afin de modifier le fonctionnement d’une plateforme .NET.

Ce document se présente en plusieurs parties soit : l’introduction.au modèle d’exécution .NET, l’ingénierie inverse des librairies ( Reverse Engineering DLL .NET - lien ), les modifications pouvant être effectuées sur le moteur CLR (Common Langage Runtime), l’injection de fonctions, l’installation de code malveillant, l’automatisation de l’ensemble des processus et enfin les différents éléments à prendre en compte lors d’une injection.

L’utilisation de Rootkits/Backdoors ( voir notre dossier - lien ) via .NET s’en trouverait ainsi grandement facilitée puisque selon cette méthode l’ensemble des librairies (DLL) modifiées, qui y seraient réinjectées, pourraient être utilisées dans un contexte différent de celui prévu initialement sans pour autant que les systèmes de surveillance en soient alertés.

Cette méthode pourrait ainsi permettre à un attaquant d’installer une invite de commande de type Reverse Shell tout en subtilisant des informations sensibles (clés de chiffrement, login/password utilisés dans un formulaire). Par ailleurs cet attaquant serait également en mesure de désactiver les contrôles de sécurité en présence tout en redirigeant les connexions ouvertes par les utilisateurs ; enfin comme le précise Erez Metula « The sky is limit ».

La plateforme .NET souffrirait en fait d’un défaut de conception dans le processus responsable du chargement des librairies ; ce défaut permettrait de contourner le mécanisme de signature. Erez Metula aurait constaté qu’il n’était pas nécessaire de simuler une signature lors du chargement d’une DLL modifiée à condition que celle-ci soit injectée dans le même répertoire que celui de la libraire initiale ; la DLL modifiée récupérant ainsi la signature de la version préalable.

On notera également une introduction à un outil intitulé « Sploit-Net » qui viserait à automatiser les différentes étapes permettant d’exploiter la plateforme.Net en y injectant des codes malicieux à savoir : la localisation de la DLL dans le GAC ( Global Assembly Cache - lien ), sa copie vers l’extérieur, son analyse et sa décompilation, la modification du code MSIL (Microsoft Intermediate Language), la recompilation de la libraire et enfin le contournement des protections de GAC afin d’injecter la DLL modifiée en écrasant l’originale.

Cet outil se veut un pendant à Metasploit ( voir notre dossier - lien ) pour la plateforme Microsoft .Net avec un système présentant une architecture semblable à l’outil de HD Moore qui permettrait de choisir par exemple des charges utiles (Payload) pour une attaque donnée.