U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 5)

Pour la Saint Valentin 2021, l'U.S. Cyber Command propose dans un tweet de résoudre une douzaine de puzzles de cryptographie. Cliquez ici pour les récupérer. Une excellente initiative qui suscitera peut-être des vocations...
Pourquoi ne pas s'y essayer ? Nous verrons bien où cela nous mène... Je publierai sur ce site les solutions auxquelles je serai parvenu, sous la forme des notes prises chemin faisant, rendant donc compte d'éventuels errements, ce qui sera plus vivant.
Aujourd'hui, la solution du puzzle 5.
Continuer la lecture de "U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 5)"
U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 5)

U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge

Pour la Saint Valentin 2021, l'U.S. Cyber Command propose dans un tweet de résoudre une douzaine de puzzles de cryptographie. Cliquez ici pour les récupérer. Une excellente initiative qui suscitera peut-être des vocations...
Pourquoi ne pas s'y essayer ? Nous verrons bien où cela nous mène... Je publierai sur ce site les solutions auxquelles je serai parvenu, sous la forme des notes prises chemin faisant, rendant donc compte d'éventuels errements, ce qui sera plus vivant.
Après avoir consacré pas mal de temps à ces puzzles, je n'en ai résolu que deux : le puzzle 7 et le puzzle 9. Pour les autres, j'ai dégagé des pistes. Comme je dois m'arrêter là pour passer à autre chose, voici ces pistes. Cela aidera peut-être ceux qui sont en galère, et qui voudront pousser plus loin que moi. Je ne fournis pas tout le code que j'ai écrit pour tester de nombreuses solutions...
Bien entendu, le jeu est de parvenir à trouver les solutions tout seul. Je m'y emploierai de nouveau à l'occasion, et je publierai les solutions si j'en trouve...
Continuer la lecture de "U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge"
U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge

U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 9)

Pour la Saint Valentin 2021, l'U.S. Cyber Command propose dans un tweet de résoudre une douzaine de puzzles de cryptographie. Cliquez ici pour les récupérer. Une excellente initiative qui suscitera peut-être des vocations...
Pourquoi ne pas s'y essayer ? Nous verrons bien où cela nous mène... Je publierai sur ce site les solutions auxquelles je serai parvenu, sous la forme des notes prises chemin faisant, rendant donc compte d'éventuels errements, ce qui sera plus vivant.
Aujourd'hui, la solution du puzzle 9.
Continuer la lecture de "U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 9)"
U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 9)

U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 7)

Pour la Saint Valentin 2021, l'U.S. Cyber Command propose dans un tweet de résoudre une douzaine de puzzles de cryptographie. Cliquez ici pour les récupérer. Une excellente initiative qui suscitera peut-être des vocations...
Pourquoi ne pas s'y essayer ? Nous verrons bien où cela nous mène... Je publierai sur ce site les solutions auxquelles je serai parvenu, sous la forme des notes prises chemin faisant, rendant donc compte d'éventuels errements, ce qui sera plus vivant.
Aujourd'hui, la solution du puzzle 7.
Continuer la lecture de "U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 7)"
U.S. Cyber Command Valentine’s Day 2021 Crypto Challenge (Puzzle 7)

Boucle d’événements et multithreading dans Node.js

En un peu plus d'une dizaine d'années, Node.js s'est imposé comme un élément central des architectures Web. A en lire des articles inventoriant les grandes entreprises qui l'utilisent, comme ici, Node.js est utilisé par Netflix, eBay, PayPal, et j'en passe.
Node.js
Joli succès pour cette technologie sortie de l'esprit de Ryan Dahl, qui a su repenser "out of the box" une manière de fonctionner des serveurs HTTP que plus personne ou presque n'interrogeait, se reposant dessus comme sur un acquis.
Pourtant, en dépit de sa popularité, il apparaît que les bases du fonctionnement de Node.js sont très mal maîtrisées. Au coeur du sujet : le fonctionnement de la boucle d'événements, et la place qu'elle laisse au multithreading.
Retour à base, pour tenter de comprendre non seulement ces aspects, mais aussi les raisons pour lesquelles ils peuvent être encore méconnus.
Continuer la lecture de "Boucle d’événements et multithreading dans Node.js"
Boucle d’événements et multithreading dans Node.js

Hackflash #5 : Ecrire un shellcode

Un shellcode est un petit programme dont il faut déclencher l'exécution, généralement en écrasant l'adresse de retour d'un programme dans la pile (la valeur de EIP empilée par le CALL du programme appelant) au moyen d'un buffer overflow.
Ecrire un shellcode
Qu'est-il attendu d'un shellcode, et quelles sont les contraintes qui imposent son écriture en assembleur ?
Continuer la lecture de "Hackflash #5 : Ecrire un shellcode"
Hackflash #5 : Ecrire un shellcode

Hackflash #4 : Déboguer avec GDB : un bref didacticiel

Qui veut en apprendre plus sur le shell coding ne peut faire l'économie de se mettre à l'assembleur et d'apprendre à déboguer des programmes écrits en C ou C++ avec le très fameux GNU Project Debuger, "GDB" pour les intimes.
Bien évidemment, les didacticiels pour apprendre à utiliser GDB sont légion. Toutefois, pourquoi ne pas apporter une pierre de plus à l'édifice en présentant aussi succinctement que possible les principales commandes afin de faciliter une première prise en main, qui permet d'approcher le monstre avant de rentrer dans les entrailles de sa documentation ?
Dans ce petit didacticiel, il s'agira donc de déboguer un programme C des plus élémentaires compilé avec GNU Compiler Collection, "GCC" pour les intimes, dans Kali Linux.
Continuer la lecture de "Hackflash #4 : Déboguer avec GDB : un bref didacticiel"
Hackflash #4 : Déboguer avec GDB : un bref didacticiel

Utiliser le client Xdebug en ligne de commandes

Le déboguage d'une application écrite en PHP n'a longtemps rien eu d'évident : on multipliait les echo. Fort heureusement, il existe désormais une solution : Xdebug.
Dans un article précédent, il a été question de la manière de configurer Apache et PHPStorm pour déboguer dans cet IDE.
Or, il aussi possible d'utiliser Xdebug en dehors du contexte d'un IDE. Pour cela, il suffit d'utiliser le client Xdebug en ligne de commandes. A la limite, il est fort instructif de tenter de l'utiliser avant même d'utiliser Xdebug dans PHPStorm ou tout autre IDE, tant cela permet de mieux comprendre comment Xdebug peut fonctionner.
Continuer la lecture de "Utiliser le client Xdebug en ligne de commandes"
Utiliser le client Xdebug en ligne de commandes

Apollo 11, le documentaire du dépassement

Comment échapper au spectacle lamentable d'un humanité de rampants, empêtrés dans de querelles intestines qu'ils reconduisent sans cesse en dépit de la démonstration flagrante que l'Histoire leur en donne de la futilité ; enfin merde, se faire la guerre pour s'accaparer un bout de territoire ? pour imposer ses idées, ou pire, ses valeurs, voire, plus pathétique encore, sa religion ? A défaut de parvenir à coexister paisiblement avec autrui, ne viendra-t-il à l'esprit de personne de vivre et mourir sagement dans son coin ? Quand se faire oublier sera-t-il enfin érigé en principe de vie ?
Paradoxalement, c'est quand elle s'est ainsi abaissée sous l'animal, ou pour le dire très opportunément, lorsqu'elle est tombée plus bas que terre, que cette humanité semble trouver le ressort nécessaire pour s'élever au-dessus d'elle. C'est du moins ce que donne à voir l'aventure de la conquête spatiale, qui est avant tout le produit du génie de la guerre. De fait, si l'on veut bien admettre que l'Humanité est animée de la rage de se répandre, alors la guerre est bien cet accélérateur de l'Histoire que décrivait Lénine, et pour aussi lamentable que ce soit, il faut admettre qu'au fond, elle nous sert. Ruse de l'Histoire, dira-t-on.
Ainsi, c'est alors que la guerre froide bat son plein que l'Amérique va trouver l'énergie de s'ébrouer enfin. Humiliée par les réussites de l'URSS, d'autant plus insolentes que la dictature exercée par le Kremlin lui permet de (faire) taire tous ses échecs, elle se lance à son tour dans la conquête spatiale et parvient, le 20 juillet 1969, à faire vivre à l'Humanité un moment, ce pourquoi elle demeure encore à ce jour une nation indépassée : dans le respect des hommes, car Apollo n'est pas un radeau de la Méduse jeté en pleine mer, en arracher à cette Terre pour les faire marcher sur la Lune.
Continuer la lecture de "Apollo 11, le documentaire du dépassement"
Apollo 11, le documentaire du dépassement

Root Me : racine-moi, si tu l’oses !

Lorsque je me suis intéressé à la sécurité informatique, je n'ai pas bien su pas où attaquer la chose. Finalement, je me suis décidé à l'attaquer à sa racine, Root Me étant là pour ça.
Le site de Root Me, avec son trop cool de logo
La sécurité informatique est un vaste domaine, c'est le moins que l'on puisse dire, d'autant plus que certains s'emploient à l'étendre joyeusement. Sans doute, dans la vie professionnelle, il faut savoir ravaler son domaine d'expertise pour l'accorder aux couleurs du temps, quitte à forcer un peu sur la peinture. Reste que cela ne va pas sans générer une certaine confusion. Pourquoi pas un "Grenelle du cul", avait proposé Roselyne Bachelot, lassée que l'on promette un Grenelle sur tout. On voit l'idée.
Pour y mettre un pied – dans la sécurité informatique, pas au cul –, j'ai déterminé que je partirai de la base, c'est-à-dire de la technique, et qu'après avoir acquis un vernis, je ferai des choix. Toutefois, passé un certain temps à lire quelques documents et regardé quelques vidéos portant essentiellement sur les techniques d'intrusion analysées par des pentesteurs, il m'est apparu impossible de vraiment assimiler des connaissances sans m'adonner à une pratique assez intense, les sujets, même à ce niveau et dans cette spécialité, étant trop divers.
Pirater le réseau WiFi du voisin étant exclu, les MOOC m'ont semblé tout indiqués. Reste qu'après en avoir tâté un peu, je n'ai pas trouvé la motivation pour m'y investir plus que quelques heures. Le problème, c'est que ce n'était pas le challenge. On était loin de l'ambiance demoparty, "elite rulez", ou "l337 rUl32" comme on dit maintenant, et tout ce qui tire vers le haut parce que c'est compliqué, et parce que c'est reconnu. Sorti de l'arène, le gladiateur s'ennuie.
Le salut devait venir d'ailleurs. Au hasard d'une rencontre – enfin, c'était une réunion traitant de cyberdéfense, donc le caractère fortuit est somme toute très relatif –, j'ai eu l'occasion de rencontrer quelqu'un pratiquant quelque chose de tout à fait passionnant, le forensics. Le gaillard, à qui j'ai exposé mon problème, m'a alors renvoyé sur Root Me.
Mise à jour du 31/08/2022 : C'est un peu Hacker's Quest: So You Want To Be A Hacker en plusieurs chapitres désormais. Après l'acquisition du socle technique, celle du socle culturel ici.
Mise à jour du 03/07/2022 : Pour finir, car tout fait son temps, classé au Top 100. Un conseil ? Aussi difficile que cela puisse être : n'abandonnez jamais.
Mise à jour du 30/01/2020 : Cet article a été rédigé il y a quelques mois, et n'est publié que maintenant sur ce blog pour être synchrone avec sa publication dans Programmez! Depuis, l'eau a coulé sous les ponts, m'étant adonné à bien d'autres challenges sur Root Me. Cryptanalyse, Web-client, Web-serveur et stéganographie pour l'heure : je confirme qu'ils sont tout aussi instructifs et prenants !
Continuer la lecture de "Root Me : racine-moi, si tu l’oses !"
Root Me : racine-moi, si tu l’oses !