Defcon 19 quals

Une épreuve très disputée avec 690 équipes engagées dans une compétition prévue pour durer un peu plus de deux jours (du vendredi 21h au lundi 2h).

Au départ, impossible de se connecter et au bout d'une demi-heure l'information est donnée sur le chan IRC de l'organisation; problème sur le serveur induisant un délai de 6 heures. Début prévu à 3h du mat donc. Certains - dont moi - envisagent déjà d'aller se coucher d'ici là... 50 minutes après, tout est en place et ceux qui ne sont pas parti se coucher peuvent enfin accèder au board. Mais l'accès au site devient vite quasi impossible et il faut profiter des rares accès réussis pour récupérer les données des épreuves. Impossible cependant de tenter de valider. Il faudra attendre minuit passé pour qu'une nouvelle URL pour le board soit diffusée, page nécessitant l'installer un JRE. Allons bon! :(

Bref, au bout de 3 heures nous voilà enfin face à l'obstacle. 25 épreuves nous attendent, réparties en 5 catégories avec une première épreuve ouverte, les autres suivront au fil des validations, et un plateau de jeu enfin fonctionnel (enfin, presque).



Forensics 100:
Le fichier fourni est une image PNG de taille 19025 pixels sur une seule ligne. 19025 n'étant divisible que par 5, 25, 761 et 3805, une première image est générée rapidement par Shiney:



Mais ça ne valide pas. :(

En examinant l'image originelle avec Gimp je me rends rapidement compte d'une répétition périodique de points bleu ciel, généralement par paire, quelquefois un seul, tous les 450 pixels. Après un découpage sur cette base, une nouvelle image apparaît (avec les points bleu ciel sur le bord droit):



Mais ça ne valide toujours pas. :'(

Ce n'est que 7 heures plus tard, après avoir vainement tenté; tout et un peu n'importe quoi parfois pour trouver une autre info (les pixels transparents dans l'image m'ayant fourni largement de quoi), qu'en désespoir de cause je tente à nouveau de valider la phrase et là;... Bingo!. Ça passe!  ÔÔ

autres Write-Up forensics 100:
Un script simple (python) pour remodeler une image à une taille donnée iciexternal link.
Un autre script (python) iciexternal link.

oO0-----0Oo

Beaucoup de temps perdu donc, sans doute à cause des problêmes persistents de fonctionnement du site, la simple sélection d'une épreuve du board demandant en moyenne 3 clics. Dommage, car ça nous a potentiellement empêché de valider d'autres épreuves. Difficile en effet de tirer des conclusions fiables d'un site au fonctionnement incertain. Au point que l'on est tenté de tester plusieurs fois la même solution pour s'assurer de la réponse, ce qui m'a valu un "Slow Down!" accompagné de menaces de ban. Mais bon, faut bien que tout ce Java serve à quelque chose. ;)

Au final, et après prolongation d'une heure pour compenser les ratés du démarrage, Big-Daddy affiche 2000 points, avec 10 épreuves validées. Nous ne connaîtrons pas le classement, celui-ci n'affichant que les 15 premières teams. En tout cas une chose est sûre, je n'irais pas à Las Vegas cette année. ;)

Ci-dessous le classement final avec en vert les épreuves validées par la team.