L'art du hacking : Les shellcodes
Aujourd'hui je vais te parler d'un voyage que j'ai entrepris, le temps d'une lecture, en parcourant les pages du livre "L'art du hacking : Les shellcodes" des arsouyes.
Le sujet
Comme tu peux t'en douter il s'agit avant tout d'un livre sur les shellcodes, mais pas uniquement. C'est aussi l'occasion de revoir ou d'approfondir tes connaissances en systèmes (Linux et Windows), en réseau, en assembleur, en language C et en bien d'autres domaines.
Niveau requis
C'est vraiment fait pour tous les niveaux du moment qu'on a quelques notions en ligne de commande windows ou linux et qu'on sait vaguement ce qu'est le système hexadecimal. Connaitre au moins un language de developpement et un peu le réseau est un plus, mais même sans, cela reste très accessible. La decouverte est progressive et les petits programmes que tu vas pouvoir créer vont évoluer tout au long de ta lecture.
Particularité
Contrairement à la pupart des explications et des tutos qu'on trouve en ligne actuellement sur le sujet, les techniques présentées sont à jour et modernes. Les communications réseaux sont etablies en IPv4 ET en IPv6 et les commandes systemes appelées sont fonctionnelles pour des processeurs 32 ET 64 bits, le tout sur des versions de systèmes d'exploitation récents. Les shellcodes créés sont modulables et avec les explications données il est possible de les adapter et de fabriquer facilement de nouvelles fonctionnalités selon ses propres besoins.
Mon avis
Si tu connais les arsouyes et leurs publications, tu ne seras pas dépaysé. La lecture est agréable et toujours emprunte d'une pointe d'humour et de quelques easter-eggs qui, si tu es de nature curieuse, t'emmenerons dans quelques trous de lapin.
J'ai aimé le coté exploration, où on arpenterait une terra icognita avec une vieille carte sur laquelle se trouverait de nombreuses annotations des explorateurs et des exploratrices qui nous auraient précédés. Ici est indiqué comment il a fallu faire de l'ingenieurie inverse sur un systeme propriétaire. Là se trouve une note sur comment on pourrait obfusquer tel appel systeme. Ou encore comment en lisant le putain de manuel, on peu se rendre compte du nombre de choses qu'on peut faire mais qui nous est masqué par des programmes et des libs de plus haut niveau (utilisés pour se simplifier la vie la plupart du temps).
J'ai trouvé amusant de tester chaque ligne de code présents dans le livre et je me suis pris au jeu d'en faire parfois quelques variantes pour vérifer certains comportement du systèmes. Je dois dire, sans spoiler, qu'il y a aussi une technique en particulier qui m'a vraiment surpris. Je me souviens encore m'être dit quelque chose comme ça :
Mais c'est une dinguerie ! Ce n'est pas possible qu'on puisse VRAIMENT faire faire ça au systeme ! Aucunes des libs ni aucuns des langages de programmation que je connais n'authorise ce genre de chose ! ... Ah ben si ça marche 🤯 !
Et pourtant je pensais m'y connaitre franchement pas mal, que ce soit en système, en prog ou en réseau.
Pour conclure, je dirais que tu ne perdras rien à le lire, bien au contraire et je pense que c'est tout à fait le genre de bouquin qui a sa place dans toutes les bibliothèques des entreprises et des institutions qui font de l'informatique leur metier.