Une des caractéristiques principales d'un exploit « weaponizé » est la facilité avec laquelle il est possible de l'utiliser pour faire exécuter n'importe quelle action au programme cible. Metasploit propose pour cela un mécanisme de génération de payloads pouvant s'intégrer dans n'importe quel type d'exploit (web, binaire, multi-architecture, multi-OS). Nous allons voir qu'il est toujours possible d'utiliser ces mécanismes pour contourner facilement les anti-virus modernes.
Lors de l'exploitation d'une vulnérabilité, un payload (ou charge utile) est exécuté. Trouvés sous forme de modules dans Metasploit, ces payloads n'ont pas de relation avec la vulnérabilité exploitée et doivent être facilement configurables (changer la chaîne de caractères exécutée, l'IP et le port utilisé pour communiquer entre l'attaquant et sa backdoor...). À cela s'ajoutent des modules facultatifs : les encoders. Ils permettent de modifier le payload qu'il leur est passé : d'une part pour modifier sa signature souvent verbeuse, mais également pour éliminer certains caractères pouvant impacter le fonctionnement de l'exploit. Enfin, dans certains cas, un dernier élément entre en jeu : le loader. Latechnique de loading représente la manière dont l'ensemble encoders+payload est transformé en programme exécutable (PE, DLL, ELF, MACH-O...). Elle est souvent accompagnée d'un template du programme exécutable permettant de faciliter la génération.
C'est...
- 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