Vis ma vie de… pentesteur
Bienvenue dans cette série d’articles sur les métiers de la sécurité informatique, un domaine mystérieux dans lequel se mêlent vulnérabilités, techniques de protection, recherche de 0days, analyses de signaux faibles, et commu sécu !
Aujourd’hui, nous allons suivre la journée classique d’un pentesteur, sans trop la romancer 🙂
Tuu Duu Duu Duu ! Réveil matin
8H15 : après 15 minutes de sonnerie, j’ouvre un œil et je regarde rapidement le téléphone : trois notifications discord, une twitter, et 37 whatsapp (oui oui). On verra ça dans 5 minutes, le cerveau n’est pas encore prêt.
Quelques minutes plus tard, la cafetière est allumée, la tasse remplie, et l’ordinateur vient de sortir de veille, tout comme moi. C’est l’heure de regarder les infos du jour :
- Sur discord, on me demande quand sort mon prochain article de blog sur du reverse engineering. « Bientôt, bientôt. Promis, promis ». Même réponse depuis 15 jours, mais j’avance dessus.
- Sur whatsapp, le groupe « Fun@LoginSec » a discuté cette nuit. Tiens, ils ont parlé d’une nouvelle CVE critique qui vient de sortir, je la mets de côté pour regarder après. Ah, Alexis en a profité pour me lancer un pic. Je lui répondrai sur Teams.
- Sur twitter : un nouveau follower. Cool, même si je ne comprend toujours pas pourquoi des gens me suivent. Des dizaines de tweets envoyés durant la nuit. Je vois passer plusieurs articles de blog à lire : « Write-UP CTF@sigsegv2 », « N64 MIPS reversing », et « Relai NTML by Pixis », que je garde de coté.
Début de la journée
9H : Premier café, on lance les outils pro : Teams, Outlook, Virtual Box, Sublime Text, Word. Ils ne sont pas vraiment fermés d’ailleurs, ça serait une perte de temps que de les rouvrir tous les jours. Je dis bonjour aux collègues sur Teams -et oui, pandémie, covid19, télétravail, tout ça-, leur donne les articles que j’ai vu plus tôt (qu’ils ont sûrement déjà lu d’ailleurs, mais sait on jamais) et je renvoie un pic à Alexis.
9H15 : Second café, les mails sont lus, et j’ai un peu de temps pour analyser toutes les CVE remontées depuis la veille et lire les articles de blogs. L’idée, c’est de voir ce que je vais pouvoir en tirer pour mon pentest d’aujourd’hui. Apparemment, on a quelques trucs sympas que je vais pouvoir essayer ! Il faudra juste faire un PoC, ou en trouver un existant.
9H30 : Troisième café, les choses sérieuses peuvent commencer ! Aujourd’hui, c’est pentest externe. Ma VM est lancée, burp Suite est démarré, et je suis en train de faire un call Teams avec Cédric pour qu’on s’organise les tâches. aujourd’hui, il s’occupe de la partie authentification et injection SQL. De mon côté, je suis sur l’upload et les XSS. C’est bien, les vulnérabilités d’upload sont marrantes à tester en plus 🙂
Maintenant que la réunion est terminée, le casque sur les oreilles, ma playlist du moment, pleine de musique boom boom électronique, on peut s’y mettre !
11H30 : Cool, la première vulnérabilité est tombée ! Par contre, c’est Cédric qui l’a trouvée, zut, il a gagné le first blood ! Une belle injection SQL, qui lui a permis de récupérer toute la base de données. Avec les mots de passe en clair !
Du coup, je dois me dépêcher d’en trouver une, sinon il va me devancer. Non non, ce n’est pas du tout une compétition 😀
12H50 : Ah mince ! Il faut manger ! Et je n’ai toujours pas de vulnérabilité :/ J’ai bien quelques débuts de piste, mais rien d’exploitable pour le moment, pas glop ! Un casse croute vite fait devant un épisode de série plus tard, je m’y remets.
14H10 : MAIS BIEN SUR ! Pourquoi je n’ai pas pensé à tester le multibyte plus tôt ! Vite, on va essayer ça ! Quelques secondes plus tard, je vois un webshell ! C’est bon, j’ai trouvé une RCE, le saint graal ! J’ouvre Teams et préviens Cédric, ce qui peut se résumer en une capture d’écran :
Bon, OK, j’ai une RCE, mais faut trouver d’autres faiblesses, le but du jeu c’est d’être exhaustif. Je continue donc mes recherches.
16H30 : évidemment, on m’a mis une réunion surprise, encore un coup de P-A qui veut parler d’un projet interne. Bon, ça va, c’est un point rapide de 15 minutes…
16H45 : Cool, un nouveau projet ! Il faut créer une plateforme de blog (NDA : bah comme quoi, les choses sont bien faites… On est sur le blog login là 🙂 )pour qu’on puisse écrire des articles ! Ca tombe bien, j’aime bien faire ça 😀
17H25 : Oups, j’ai oublié de regarder les mails pro aujourd’hui :/ En même temps, quand je suis en pentest, c’est difficile de m’en faire sortir…
Bon, ça va, 15 mails, dont 4 newsletters d’éditeurs. Je fais une passe rapide pour répondre, et je me remets sur ma recherche de vulnérabilités.
19H15 : Bon, il est l’heure de couper le pentest pour aujourd’hui je pense… On se fait un petit point de 15 minutes avec Cédric. Résultat de la journée : 5 vulnérabilités !
- une RCE
- une injection SQL
- deux XSS
- un bypass d’authentification, la faiblesse est plutôt bien trouvée, Cédric a géré !
Le pentest n’est pas terminé, demain, on a pas mal d’autres tests à faire, j’espère qu’on va trouver d’autres attaques sympas 🙂 Fin de la journée, je coupe le boom boom électronique qui tourne depuis ce matin, je suis vanné. Un pentest, c’est top, mais je suis assuré d’être sur les rotules le soir.
geek@home
19H30 : L’avantage de faire du télétravail, c’est qu’on est plus rapidement chez soi. Je passe de mon bureau au canapé, avec mon ordi sous le bras, puis c’est l’heure de passer sur des projets persos. J’ai le choix entre mes 7 projets en cours. Toujours avoir pleins de choses en parallèle à faire, le fonctionnement le plus classique du geek. Bon, déjà finir mon article de blog, tout le monde l’attend. Il ne manque que les images et 2/3 fioritures à faire. C’est presque le plus long en fait… Trouver le bon mème à mettre au bon endroit avec le bon texte, faire un gif explicatif, vérifier une dernière fois toute la mise en page, etc. Au bout d’une heure trente, je peux enfin cliquer sur « Publier », envoyer un tweet pour faire un peu de comm’ et pinguer toutes les personnes qui l’attendaient depuis un mois.
21H: Deuxième projet pour ce soir, j’ai le choix entre mon « auto-pwn », commencer un nouvel article de blog, et mon outil de parsing d’images. Allez, pour ce soir, ça sera auto-pwn. C’est un projet sympa, sur lequel je bosse depuis plusieurs mois. Comme la plupart des projets, il restera à l’état de « Work In Progress » pour longtemps, mais c’est plus le fun de développer que le fait de créer un outil qui m’intéresse 😀
J’ouvre Sublime Text, mon interpréteur python et je commence à coder.
22H30 : 3 bugs et 2 nouvelles fonctions plus tard, je me rends compte qu’il est l’heure de manger ! Le temps passe trop vite quand on développe ! Ce soir, ça sera sushis.
45 minutes plus tard, tout est prêt, je lance un épisode de ma série. L’idée de regarder un film m’a effleuré l’esprit, mais ça implique de ne pas développer pendant 1H30, ce qui n’est pas imaginable…
23H40 : Retour sur le code, j’ai pensé à une solution pour mon problème de fonction récursive pendant le repas ! Au passage, je checke discord et twitter, on m’a envoyé pas mal de messages par rapport à mon article de blog. Le dual screen, c’est magique, on peut développer ET discuter en même temps !
On ne dirait pas, mais échanger avec le reste de la commu est très important, c’est presque un boulot à part entière. Ne pas le faire, c’est se couper d’une partie monde de la sécu, que ça soit sur discord, IRC ou twitter.
1H15 : Cool, j’ai pu avancer pas mal sur mon outil, je vais pouvoir l’essayer demain pendant le pentest ! Dommage, c’est déjà l’heure de couper, il faut bien dormir un peu pour être en forme demain !
Hacker’s way of life
J’ai expliqué durant cet article une de mes journées classiques en tant que pentesteur. Mais n’importe quel tech lisant cet article se retrouverait dedans à coup sûr.
Chez nous les geeks, il y a deux choses importantes : la passion et la soif de connaissance. Lire des CVE, des PoC et des tutos n’est pas (que) un travail, c’est aussi (et surtout) l’envie et le plaisir de comprendre ce qui se passe derrière, comment tout fonctionne, et où trouver l’endroit qu’on peut casser (et réparer) 🙂
Il a plusieurs cordes à son arc : pentest, régie, missions pompier, etc.