La reconnaissance de code malveillant par le biais d’une liste de signatures n’est plus considérée comme efficace face aux techniques d'encodage, de mutation (polymorphisme, métamorphisme, ...) ou d'obfuscation de codes malicieux. Un bon nombre d'éditeurs d'antivirus se sont vus forcés de compléter leurs mécanismes de détection traditionnels par des approches heuristiques et d'émulation de code (sandbox). Nous vous proposons dans cet article de mettre ces techniques de détection à l’épreuve et d’essayer, malgré tout, d’exécuter nos payloads Metasploit favoris.
1. Introduction
Metasploit [1] est un Framework de développement d’exploits contenant à ce jour plus de 750 exploits pour environ 230 payloads. Alors que l’exploit permet d’abuser de la vulnérabilité d’un hôte, le payload définit l’action à entreprendre (ou le code à exécuter) lorsque cette exploitation se réalise avec succès. L’utilisation d’un payload seul (sans exploit) comme outil de compromission est également possible en le générant sous format de fichier exécutable, C++, Perl, Ruby, etc. Enfin, afin d’empêcher la détection d’un payload par l’antivirus de la victime, Metasploit fournit également une suite d’encodeurs permettant l’obfuscation de celui-ci, dans l'espoir d'empêcher toute reconnaissance sur base d'une signature.
La raison qui nous a poussés à réaliser cette étude résulte du fait que malgré l’application de plusieurs encodages en série, nos payloads restent identifiables par un grand nombre d’antivirus,...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première