Bases Hacking

La base de la sécurité informatique et du hack

Shellcode Polymorphique



   Afin d'aller plus loin dans l'écriture de shellcode, il y avait plusieurs possibilités : les shellcodes imprimables (seulement avec des caractères ASCII), les shellcodes à sémantique plus avancée (ajout de règles iptables, shells réseau en mode actif ou passif), les shellcodes de très petite taille, etc. Dans la vie du pentester, chacun de ceux-ci a une réelle utilité selon l'application et le système cible. J'ai choisi d'écrire un article sur les shellcodes polymorphiques, car je pense que leur écriture nécessite l'ensemble des techniques nécessaires à l'élaboration des autres, à savoir l'écriture en assembleur d'une sémantique toute autre que celle de l'ouverture d'un shell ainsi que la transformation arbitraire du code préservant la sémantique. Cette section sera séparée en deux articles traitant ces deux aspects différents.
Comme je l'avais déjà dit à l'heure de l'écriture de l'article sur les shellcodes basiques, je pense qu'il est facile d'imaginer seul à partir de ces deux pages les façons d'écrire d'autres types plus avancés de shellcode : les shellcodes de petite taille s'écrivent en utilisant des algorithmes moins naïfs (notamment à base de push et pop sur la pile afin de ne pas avoir à utiliser les instructions mov à chaque fois qui prennent de la place, ou encore en utilisant des instructions avancées permettant de combiner plusieurs autres instructions basiques), les shellcodes ASCII se restreignent à l'utilisation d'opcodes ayant une représentation imprimables (les inc et dec e?x, push et pop eax, push et pop esp, etc.) et les shellcodes à sémantique avancée relèvent simplement de la connaissance en assembleur du programmeur (et des capacités à restreindre la taille du shellcode).

Apprendre la base du hacking - Liens sécurité informatique/hacking - Webmaster bases hacking

Copyright © Bases-Hacking 2007-2012. All rights reserved.