Ghosts In The Stack

Sécurité > Shellcodes

Les shellcodes font partie des techniques d'exploitation des vulnérabilités applicatives les plus utilisées, surtout lorsque les environnements ne sont pas protégés par des solutions comme PaX. Dans cette section nous expliquons précisément qu'est ce qu'un shellcode, son rôle, ses intérêts, et comment en concevoir. Nous verrons aussi comment les optimiser et les rendre indétectables par les IDS.

Articles

Shellcodes élévateurs de privilèges

Ecrit par Trance le 11/07/2006 - Voir les commentaires (3)

Quelquefois, le développeur choisit de baisser les droits de certaines zones d'un processus, effectuant des opérations ne nécessitant pas la totalité des privilèges. Si une de ces opérations est vulnérable et permet une exploitation par shellcode, l'attaquant ne disposera alors que de droits restreints.

Cet article montre comment il est possible, lors d'une exploitation par shellcode sous Linux, de récupérer tous les droits et ainsi de décupler la puissance de l'attaque. Nous verrons également les possibilités de sécurisation existantes.

Shellcodes polymorphiques

Ecrit par Heurs le 04/07/2006 - Voir les commentaires (1)

Les shellcodes polymorphiques sont une sorte d'évolution des shellcodes, ils peuvent prendre un nombre illimité de formes tout en gardant les mêmes actions. Cela fait augmenter légèrement la taille de votre shellcode mais cette techniques permet de passer au travers de beaucoup de sécurités, notemment les IDS.

Automatisation de la conception de shellcodes

Ecrit par Trance le 01/07/2006 - Voir les commentaires (2)

Pour lire cet article, il est préférable d'avoir lu le premier article, intitulé "Les shellcodes". En effet, je m'adresse ici à ceux qui savent ce qu'est un shellcode et comment en concevoir manuellement. Dans cet article, nous verrons comment simplifier et automatiser la conception de shellcodes, en codant de petits outils très pratiques, qui nous éviteront pas mal de travail...

Les shellcodes

Ecrit par Trance le 30/06/2006 - Télécharger en PDF - Voir les commentaires (8)

Voici un article très détaillé sur la conception des shellcodes, s'adressant surtout aux débutants mais qui peut en intéresser d'autres. Nous verrons ce qu'est un shellcode, à quoi peut-il servir, et surtout comment en concevoir un.
Quelques bases de C et en ASM sont requises, mêmes si nous en expliquons quelques unes.