Les 22 et 23 juin prochain se déroulent la «Nuit du Hack» millésime 2013, avec son lot de présentations, de workshops et bien sûr le CTF et le wargame public. 24 heures de hack, de geekeries et de rencontres avec des passionnés de bidouille et de hacks en tout genre.
Des nouveautés !
La Nuit du Hack évolue au fil des ans, et on essaie de prendre en compte les différentes remarques/critiques/coups de gueule afin d'améliorer cet évènement. Et suite aux retours de l'année dernière, nous avons mis en place plusieurs nouveautés marquantes: * une salle à part pour le challenge Capture The Flag, * un wargame qui est désormais câblé plutôt que via le WiFi, * une augmentation du prix de l'entrée de 6 euros, * une entrée spéciale incluant l'adhésion à l'association HZV. Bon, cela fait pas mal de choses d'un coup alors je vais détailler ces points un à un.
Cette année, les participants du challenge Capture The Flag auront accès à une salle dédiée regroupant les dix équipes retenues et le staff. Ceci afin d'atténuer les nuisances sonores et de faciliter la concentration des équipes. La salle sera toutefois accessible au public, mais organisée de telle manière à ce que cela ne gêne pas les participants. Comme l'an dernier, les équipes participantes auront accès avant le public à cet espace, de manière à s'installer et prendre connaissance de la documentation et du règlement.
La seconde nouveauté concerne le wargame public, qui sera câblé et accessible uniquement via ce moyen. Nous allons mettre à disposition plusieurs commutateurs sur lesquels les participants pourront se connecter, des câbles RJ45 sont donc à prévoir (ainsi que des switches, si vous en avez). Nous fournirons aussi l'alimentation nécessaire, dans la limite du possible (via des prises et rallonges). Les places assises réservées au wargame sont limitées, mais la moquette est confortable. Les résultats des wargame et du CTF (classement, graphes) seront diffusés en temps réel sur des écrans de projection.
En ce qui concerne les entrées, il y a eu aussi du changement dont un notable: l'augmentation de 6 euros de l'entrée. Je sais ce que vous allez dire: le prix augmente tous les ans. Et ce n'est pas la faute de la crise, mais plutôt de plusieurs facteurs que nous avons négligé les années précédentes (comme l'accès à Internet via WiFi, la place occupée, les améliorations apportées). Un souci de qualité, quoi. De plus, nous avons mis une entrée plus chère à 70€, incluant l'entrée à la Nuit du Hack et l'adhésion à l'association HZV. Si vous souhaitez nous aider à organiser d'autres Nuit du Hack encore meilleures et participer à l'association HZV, n'hésitez pas ;).
L'association HZV
Car oui, HZV est désormais une association de type loi de 1901, dont la déclaration au Journal Officiel est parue le 13 avril 2013 avec la référence W931011379. L'idée a mûrit pendant quelques années, et s'est concrétisée courant 2012.
L'association a pour vocation d'organiser dans un avenir proche la Nuit du Hack, et de la financer en partie de manière indépendante. Elle a aussi pour objectifs de fournir des services aux membres, de leur donner accès à des ressources (matérielles notamment) et de favoriser l'échange entre bidouilleurs de tout poil (de barbe). C'est elle qui encadrera désormais les meetings mensuels, qui ne seront pas réservés aux seuls membres mais à tout le monde, comme depuis leur création.
Le site d'HZV sera bientôt modifié de manière à refléter ce statut, et nous allons mettre à disposition aussi vite que possible la procédure d'adhésion à l'association, l'envoi des cartes de membre et un descriptif plus complet des services proposés. Pour en savoir plus, contactez info@hackerzvoice.net.
Un stand HZV sera présent à la Nuit du Hack, où vous pourrez avoir de plus amples informations sur l'association, ses moyens et ses projets. Et si vous souhaitez adhérer ou simplement vous renseigner, n'hésitez pas !
Les programme officiel
Le site de la Nuit du Hack contient toutes les informations sur les présentations ainsi que sur les challenges. Cependant, pour vous mettre un peu l'eau à la bouche, voici la liste des présentations: * [EN] Abusing Browser User Interfaces for fun & profit, par Rosario Valotta * [EN] Practical exploitation of rounding vulnerabilities in internet banking applications, par Adrian Furtuna * [FR] Modern web frameworks, modern vulnerabilities, par Florent Batard et Nicolas Oberli * [EN] Love letters to Frank Abagnale (Oh how I PWN thee let me count the ways), par Jayson E. Street * [FR] Securing cities with CCTVs? Not so sure – A urban guerilla perspective, par Eric Filliol et Thibaut Scherrer * [EN] Cracking and analyzing Apple iCloud protocols: iCloud backups, Find My iPhone, document storage, par Vladimir Katalov * [EN] From kernel space to user heaven, par Jaime Sanchez * [EN] Thinking Outside of the Box, par Dave Kennedy * [FR] Social Engineering and Journalism: Methodology of human behavior, par Hicham Tolimat et Julie Gommes * [FR] Behind the Scenes of Web Attacks, par Davide Canali * [FR] Attacking e-voting: a concrete case, par Sebastien Andrivet * [FR] Physical Security flaws applied to Industrial Espionage, par Alexandre T. et Olivier C.
Cette année encore les présentations sont en anglais et en français, et les slides et vidéos seront mis en ligne à la suite de l'évènement. Les présentations sont suivies de workshops divers, je vous invite à consulter le programme officiel des workshops sur le site de la Nuit du Hack. Cependant, certains sont bien alléchants:
Comment s'inscrire ?
Rien de bien compliqué pour s'inscrire: -# Se rendre sur le site de la Nuit du Hack -# Cliquer sur l'onglet "S'inscrire" -# Choisir le type d'entrée et régler (un compte est requis pour régler et avoir accès aux billets) -# Imprimer le billet d'entrée et son QR code associé
Et ensuite, rendez vous au New York Hotel au pays de Mickey (à Disneyland Paris) le 22 à 9h00 tapantes ! Plus d'information sur le site officiel de la Nuit du Hack.
(Et s'il vous vient l'envie de discuter ou de boire une bière en trollant, faudra pas hésiter)
Les tweets «promoted» de Twitter sont des tweets publicitaires (ou presque) que Twitter affiche dans votre Timeline en fonction de vos goûts, passions ou autres détails de votre vie que vous voulez bien lui donner. Accessoirement, cela rend votre Timeline Twitter un brin illisible, et dans certains cas cela peut devenir irritant. N'étant pas un fan de ce type de pratique, j'ai trouvé une solution toute simple pour résoudre ce problème.
GreaseMonkey FTW
J'avais déjà lors de quelques pentests eu recours à GreaseMonkey pour manipuler des codes Javascript un brin hardcore, et j'en avais été pleinement satisfait. Pour faire court, GreaseMonkey est une extension disponible sur pas mal de navigateurs permettant de manipuler en «live» le code de la page, en toute transparence. Autrement dit, vous pouvez appliquer des transformations autant sur le contenu HTML que le code Javascript voire même les styles employés par une page. Cette extension nécessite sur Firefox une installation, mais à ma grande surprise elle est intégrée par défaut dans Chromium, l'alternative libre du navigateur Chrome de Google ! Et ça, eh bien ça n'a pas de prix.
GreaseMonkey (GM) se base sur des scripts Javascripts contenant des métadonnées (description du script, auteur, etc ...) mais aussi du code actif. Le script est chargé selon un modèle d'URL (contenu dans les métadonnées), et peut agir avant ou après le lancement du Javascript sur la page. Autrement dit, on peut faire tout et n'importe quoi avec GM. Enfin, surtout n'importe quoi. Il existe des scripts pour relooker Twitter, pour ajouter des fonctionnalités, pour modifier des comportements de site, etc ... Vous pourrez d'ailleurs en trouver plein sur le site userscripts.org.
And now, ladies and gentlemen, "le" script !
Vous vous attendiez à un script de fou ? A un code intégrant des gros hacks et tout et tout ? Vous allez être déçus. Tout simplement parce que les éléments "promoted" de Twitter possèdent un style qui leur est propre, comme promoted-tweet, promoted-account ou promoted-trend.
La solution: forcer leur disparition à grand coup de CSS et de display: none. Pas moins que cela. Pour réaliser cette modification de manière automatique, j'ai codé en quelques minutes le script suivant:
// ==UserScript==
// @author Damien "virtualabs" Cauquil
// @name Promote Me Not
// @namespace http://virtualabs.fr/pmn/
// @icon http://virtualabs.fr/pmn/pmn.png
// @icon64 http://virtualabs.fr/pmn/pmn.png
// @updateURL http://virtualabs.fr/pmn/pmn.user.js
// @version 1.1
// @description Remove Twitter's promoted tweets from your TL
// @match http://*.twitter.com/*
// @match https://*.twitter.com/*
// @grant GM_addStyle
// @licence (CC) Attribution Share Alike (CC-BY-SA)
// @resource icon /pmn/pmn.png
// ==/UserScript==
/* Install some neat CSS rules */
GM_addStyle(".promoted-tweet * display: none * .promoted-trend * display: none * .promoted-account * display: none *");
Le script est téléchargeable à cette addresse et peut être installé automatiquement via un glisser-déposer dans Chromium (faites un glisser/déposer du fichier dans la liste des extensions, menu "Paramètres" onglet "Extensions"), ou via l'extension GreaseMonkey sous Firefox et autres navigateurs compatibles. En espérant que cela vous rende la vie plus belle et plus joviale.
Xavier Niel vient tout juste de présenter son école de programmation, 42. L'initiative est quelque peu inédite mais résonne tout particulièrement dans mon esprit car cela fait des années que je prêche le constat fait par M. Niel: le système scolaire actuel n'est plus efficace dans le contexte des nouvelles technologies. Cela fait aussi écho aux diverses initiatives récentes prônant le développement, telles celle mise en avant par MM. Zuckerberg et Gates ou encore le plébiscite de John Naughton sur le site du Guardian pour l'enseignement de la programmation à l'école. Décryptage.
Back to the future
La programmation c'est le bien. J'ai commencé par cela il y a de nombreuses années, et je crois que ce qui m'a fasciné dans ce domaine c'est tout simplement le potentiel de créativité qu'il offre. La programmation est un outil permettant de créer d'autres outils. Pas moins que cela. J'ai commencé avec du BASIC. Sur un PC 486DX400. Une vieille bête qui tournait sous Windows 3.1. Oui, ce vieil OS bien vieux où l'on devait taper "win" à l'invite MS-DOS pour lancer l'environnement de bureau (quand je pense aux windowsiens qui se moquent du startx ...), mais qui m'a permis de faire mes armes en programmation. Je n'en suis pas resté là, j'ai appris ensuite le C, le C++, l'assembleur, et les langages du web bien plus tard. J'étais au collège. Pendant que les autres passaient leurs soirées devant la télévision ou participaient à des boums, je codais. Je créais. Car coder ça n'est pas simplement "que" pisser du code. Comme le hacking, c'est un état d'esprit, un apprentissage qui entraîne à la logique et à la réflexion. Comme aime le dire Ange Albertini: il s'agit "juste" de résoudre des casse-têtes. Rien que cela. Et les résoudre de la meilleure manière qu'il soit.
Retour à la réalité. La réalité de l'école 42, une "école de programmation" ouverte à tous et gratuite avec une sélection à l'entrée: seuls les meilleurs codeurs seront retenus et se verront dispenser un enseignement digne d'un code guru. A l'époque où j'ai appris par moi-même la "programmation", je rêvais de trouver une école de ce type. Une école où l'on puisse s'épanouir dans la création de code, une école qui valorise les profils comme le mien. Mais je n'en ai pas trouvé. J'ai essayé l'université, une grosse déception. A quoi ça sert d'apprendre le Pascal ? D'apprendre seulement à aligner deux lignes de code sans que l'on sache pourquoi ? We're doing it wrong !. Et maintenant, cette école spécialisée, qui vise à former l'élite des codeurs. Qui vont apprendre à maîtriser le C, le C++, la vie quoi. Où l'algorithmique sera une composante essentielle et pas un truc qui se résume à apprendre par coeur des algos de tri. Il l'a fait. Sincèrement, sur le principe j'approuve totalement. Si, si. J'aurais aimé m'inscrire, il y a quelques années déjà.
We are not code monkeys anymore !
Le programme de l'école semble un brin prétentieux, mais avec des élèves motivés à bloc et ayant une capacité d'adaptation, cette école peut envoyer du poney, comme on dit par chez nous. Néanmoins, j'ai quelques angoisses pour la suite, qui peuvent se résumer à deux grosses angoisses:
Ma première angoisse est issue d'une observation depuis quelques années des profils d'élèves que je croise: lors d'entretiens, lors de stages, durant les meets HZV. Une tendance générale se dessine: ils sont attentistes. Ils sont en école d'ingénieur, apprennent à développer (du moins on le croit) mais ne perçoivent pas forcément l'ouverture que leur donne cette discipline. Certains ont ouvert les yeux et sont conscient de ce que cela leur permet de faire (n'est-ce pas Jonathan ;): je me rappelle la tête d'une connaissance quand je lui ai mis en tête de coder une machine virtuelle, et qui le lendemain me montrait un prototype presque viable. Tout bonnement motivant. Pour la faire courte: il faudrait que les élèves arrêtent de choisir leur école en fonction du salaire qu'ils souhaitent avoir, mais plutôt en fonction de ce qu'ils veulent vraiment faire. De leur passion. Et choisir une école qui met en avant le code, comme Epitech ou 42. Où ils devront s'immerger et repousser leurs limites. Et être créatifs.
La seconde est tout simplement une généralité en France: un développeur, c'est un pisseur de code. Point barre. Le prolo de l'informatique, incapable de réfléchir et qui pond juste le code qui fait quelque chose. "Bah tu cliques sur le bouton là, et ça te fait des chocapics. Okay, tu peux me faire ça ?". J'ai travaillé comme ingénieur R&D auparavant. J'ai pondu aussi du code. Et je me rappelle toujours d'une bonne blague dans le milieu:
«Quel est le futur d'un développeur en France ? Chef de projet !»
Cherchez l'erreur. Tant que l'on considérera la programmation comme une discipline qui consiste simplement à traduire une solution à un problème en langage informatique, les développeurs resteront maltraités et mal payés. Mais la programmation est et restera un art. Créer du code (ou "coder") n'est pas simplement pisser du code, mais apporter une réponse intelligente et parfois brillante à un problème posé, et cela de manière optimale. Coder, c'est tout simplement résoudre un ensemble de casse-têtes de la manière la plus intelligente possible, et faire en sorte que cela fonctionne dans tous les cas. Certains codes méritent le respect, même de la part d'un chef de projet ou d'un ingénieur sécurité. Pour illustrer mon propos, je vous propose de jeter un oeil à ce solveur de sudoku qui fait 67 octets, ou encore ces générateurs de labyrinthes, qui sont des bijoux de code. Allez, une petite vidéo en prime.
Alea jacta est