La plupart des personnes ayant un jour audité un système AIX connaissent les vulnérabilités CVE-2009-3699 et CVE-2009-2727 qui confèrent l'une comme l'autre un shell root distant à l'attaquant. Les exploits correspondants sont relativement communs (metasploit lui-même en embarque deux [1]). Néanmoins, la plupart des gens ignorent que ces exploits ne fonctionnent pas nécessairement sur AIX 6.1, dont la stack et la heap ne sont pas toujours exécutables. Cet article traite de la vulnérabilité CVE-2009-3699 et explique comment l'exploiter en dépit des protections mémoire potentiellement mises en place par l'administrateur.
1. Introduction
AIX [2], de son vrai nom Advanced Interactive eXecutive, est un UNIX propriétaire conçu par IBM qui tourne sur les processeurs de type PowerPC. Bien qu'initialement très peu robuste et doté de fonctionnalités de sécurité relativement minimales, de nombreux efforts ont été faits par IBM pour améliorer cette situation. Ainsi, la dernière version d'AIX (la 6.1) sortie en 2007 incorpore désormais de nouveaux mécanismes de sécurité [3], dont une stack et une heap non exécutables permettant de compliquer l'exploitation des failles de type corruption mémoire. Toute tentative d'exploitation par l'utilisation d'un shellcode devient alors plus ou moins caduque.
2. Quelques rappels sur le PowerPC
Le PowerPC est un processeur RISC big-endian dont les opcodes sont codés sur 4 octets. Il possède un grand nombre de registres, dont nous donnons une description sommaire :
pc : Program Counter ; adresse la prochaine instruction à exécuter.
lr :...
- 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