Symbole de l'avancée technologique française des années 1980, le minitel a arrêté son service le 30 juin 2012. Alors beaucoup de gens, ne voyant plus l'utilité de la bestiole, s'en sont lâchement séparés à grand coup d'annonces sur Le Bon Coin, Ebay, ou tout simplement à la déchetterie. Quel dommage. Il y a vraiment mieux à faire avec un minitel que le mettre au rebut.
Avant la Nuit du Hack 2013, je me suis fixé comme mission de sauver au moins un de ces spécimens d'une fin atroce afin de le recycler et de lui donner une nouvelle jeunesse. J'ai cherché une annonce sur un site spécialisé, trouvé un minitel à sauver pour sept euros et une heure et demi de métro, et récupéré le malheureux. Son ancienne propriétaire me l'a laissé sans le moindre état d'âme.
Bon, et maintenant ?
Avant de poursuivre, passons notre vieux minitel au scanner. Sa composition est relativement simple:
La carte de contrôle intègre un modem, un micro-contrôleur, de la mémoire, et une partie gérant le clavier du minitel. C'est vraiment de la vieille facture, mais ce n'est pas plus mal: l'ensemble n'étant pas miniaturisé, il est plus facile de découvrir le schéma électronique de cette carte.
Plusieurs options s'offrent à nous: * reprogrammer le micro-contrôleur pour en faire ce que l'on veut * utiliser le port DIN à l'arrière pour le transformer en terminal série * utiliser le minitel en tant que moniteur et intégrer un raspberry Pi dedans
La dernière option m'a semblé intéressante, surtout que l'on dispose de beaucoup de choix en ce qui concerne les applications du raspberry Pi. Une qui m'a bien botté, certainement par pure nostalgie et esprit rétro, s'appelle RetroPie. RetroPie est une distribution intégrant des émulateurs de console, avec une interface intuitive. Pourquoi ne pas transformer ce vieux minitel et lui donner une nouvelle jeunesse en le changeant en console de jeu ? L'idée m'a plu, et je me suis lancé.
Réutiliser l'écran du minitel
L'écran n'est rien d'autre qu'un tube cathodique piloté par une carte vidéo. Coup de chance, plusieurs personnes ont déjà étudié le problème et trouvé des solutions. La meilleure d'entre elle consiste à concevoir une carte électronique réalisant l'adaptation d'un signal vidéo composite vers les connecteurs spécifiques au minitel. Ces connecteurs sont assez particuliers, car il s'agit de piloter le signal envoyé à la cathode du tube pour afficher des nuances de gris à l'écran, tout en se connectant à la carte vidéo pour lui envoyer le signal de synchronisation.
Comme je le disais, un schéma de carte d'adaptation est présent sur le net, et je me suis donc empressé de prototyper une carte à partir de celui-ci. Avant toute chose, comprendre le montage.
<emb159|center>
La carte d'adaptation a deux tâches essentielles à assurer: * l'amplification du signal vidéo * l'extraction du signal de synchronisation vidéo des données de trame
L'amplification est basée sur un montage amplificateur à transistors, qui au final module une tension de 44V environ en fonction du signal et qui l'envoie à la cathode du tube. La séparation de synchro est effectué par un composant spécialisé, le LM1881, qui se charge de séparer le signal de synchronisation de la composante de trame. Afin d'éviter l'affichage de rayures lors du retour de balayage, l'amplificateur doit être shunté (signal à 0) lorsque l'on a terminé le balayage d'une ligne sous peine de voir des rayures apparaître. C'est ce que l'on appelle le "blanking".
Seulement voilà, il s'avère que le schéma trouvé sur le net est truffé d'erreurs: * la patte 5 du LM1881 utilisée dans le schéma correspond en réalité à la patte 6 * les diodes utilisées pour la commutation de blanking sont montées en inverse
J'en ai donc profité pour refaire les schémas et réaliser une première version de PCB après prototypage réussi sur breadboard.
<emb154|center>
Fabrication de PCB
Une fois le PCB conçu (éléments placés et routés), il m'a fallu trouver un moyen de le produire. Plusieurs techniques sont possibles, dont notamment la conception faite à la maison, à l'aide d'une insoleuse et de perchlorure de fer. Le problème ? Je n'ai absolument pas ce matériel. Peut-être en allant dans un Fab Lab ? Aucun à portée de main. La dernière solution: tenter de produire une petite série via Internet.
En réalité, j'ai tout fait de chez moi, de la commande des composants à petits prix à la réalisation de PCB. Pour la réalisation de PCB, j'ai découvert OSHPark, un service en ligne relativement sympa qui permet de faire produire ses PCBs à petit tirage (multiple de 3), tout en permettant à d'autres de les réutiliser. De l'open-source version PCB. j'étais un petit peu anxieux quant à la réalisation du PCB, mais au final cela a pris environ 3 semaines entre la commande et la réception du colis, pour une trentaine d'euros. Ce n'est pas très cher, car mon PCB était vraiment pas optimisé pour faciliter le "débogage" et les modifications de dernière minute.
Mon PCB sur OSHPark:
<emb155|center>
Voici ce que j'ai reçu:
<emb156|center>
Après montage des composants et soudure:
<emb157|center>
Test de la carte d'adaptation
Une fois la carte prête, il s'agit de la tester en production. Je connecte donc la carte au minitel (carte vidéo et cathode du tube), puis sur le raspberry Pi que je boote ... Et l'écran s'illumine, avec une image quasi parfaite ! J'avoue que cela faisait peut-être 8 ans que je n'avais pas fait de PCB, mais bon apparemment c'est comme le vélo, ça ne s'oublie pas.
<emb158|center>
La première version est fonctionnelle, mais plusieurs améliorations peuvent être apportées: * Routage plus efficace, avec une carte plus petite * Intégration d'une alimentation stabilisée +5V, pour auto-alimenter le raspberry Pi et pouvoir vraiment l'intégrer à 100% dans le minitel * Un amplificateur audio + HP, histoire de mettre un peu de son
Bref, je suis bon pour faire une seconde version de la carte. En intégrant l'alimentation 5V et un routage double face plus efficace, le prix de revient de 3 PCBs est de moins de 15 euros, soit moins de 5 euros par PCB ce qui est plutôt pas mal. Avec l'ampli audio, cela prendra un peu plus de place et donc sera un peu plus cher (de l'ordre de 7 euros). Je n'ai pas encore eu le temps de finaliser la version 2, mais j'y travaille.
Minitel Entertainment System
La base de mon Minitel Entertainment System est quasiment prête. Il ne me reste plus qu'à intégrer RetroPie sur une carte SD, et y mettre des roms. J'ai privilégié une installation par les sources, plus longue mais plus fiable. Une fois installé, il me faut connecter une manette. Wait ... Je n'ai pas de manette USB !
Mais j'ai une Wii, avec des wiimotes et un dongle USB bluetooth. Et c'est largement suffisant, car debian possède un paquet spécifique pour utiliser une wiimote en tant que périphérique d'entrée. J'installe le paquet et insère un script shell permettant de le lancer automatiquement au démarrage. J'en profite pour forcer l'allumage d'une des quatre LEDs du bas de la manette pour indiquer la bonne connection, et configurer celle-ci pour qu'elle soit reconnue comme un joystick. Pour terminer, j'ai configuré l'ensemble des boutons pour pouvoir m'en servir comme manette de Super NES. J'ai fait cela avec le raspberry Pi connecté à ma TV, c'est tout de même plus simple.
Une fois le tout reconnecté dans le minitel, avec la carte d'adaptation vidéo en place, je peux profiter de mon prototype de Super MES:
Et la suite ?
La suite est relativement simple, car je ne compte pas en rester là: créer la version 2 de la carte d'adaptation pour pouvoir loger dans le minitel le raspberry Pi et un HP pour du son. Une fois cela fait, je compte bomber et stickeriser le minitel, voire pourquoi pas prendre en compte son clavier, mais ça c'est un autre projet.
Pour terminer, je compte mettre sous une licence opensource le PCB et les schémas, afin que d'autres puissent s'en servir et pourquoi pas améliorer le montage.
A suivre ;)
Liens utiles
La Nuit du Hack est l'évènement majeur de la communauté Hackers française, généralement organisée fin juin, qui réunit passionnés, professionnels et novices autour d'un thème commun: le hacking. Ce n'était rien de moins que la onzième édition qui se déroulait ce week-end à Disneyland Paris, autour de talks, de workshops, de challenges et de bière (ainsi que des soft drinks, bien sûr). Zou, visite guidée des coulisses de l'organisation de la NDH version 2013 !
Un an de préparation
La méthode est désormais rodée: à peine la Nuit du Hack terminée, l'organisation de la suivante démarre. Cela représente un an de travail acharné pour seulement 24 heures, ce qui n'est pas rien. La recherche de sponsors, la préparation des CFPs, les débuts de conception de design graphique ainsi que les grands axes d'orientation de l’événement se décident à ce moment. C'est aussi l'occasion de faire l'état des lieux des éléments à améliorer, de prendre en compte les remarques constructives des visiteurs envoyées par email, twittées ou parfois même bloguées. On attache une importance toute particulière aux soucis rencontrés et aux solutions possibles. Par exemple, décision fut prise l'année dernière de cabler le wargame plutôt que de se baser sur du WiFi (qui se fait sniffer/polluer chaque année) et de mettre le CTF dans une salle à part. Il n'y a jamais eu de Nuit du Hack sans cafouillages ou problèmes, même cette édition a eu son lot d'ennuis qu'il a fallu gérer.
Ensuite, il y a toute la logistique à superviser. Ce qui va de l'agencement des salles avec plans et tout le toutim aux moyens techniques et à la planification. Il faut aussi gérer en parallèle les qualifications, la conception de l'infrastructure du CTF et du wargame, la réalisation des épreuves de ces deux concours et celle du réseau global à déployer lors de l'évènement. Les partenaires tels que Zen Connect ou Orange sont d'une grande aide en ce qui concerne cette partie, tout comme Outscale (via majinboo) ou OVH (un big up à toute l'équipe !). Sans oublier la communication (Hicham & Lucie).
Un CTF remanié
Cette année, nous sommes partis sur un CTF différent des années précédentes. Il s'agissait toujours d'un CTF attaque/défense, mais cette fois-ci basé sur un scénario et un concept nouveau: la suppression pure et simple des flags formatés. Chaque équipe avait à sa disposition un pare-feu frontal (couche 2) et un serveur hébergeant des services, et se voyait mise dans la peau d'une société réalisant des solutions de DRM (nommée GZT) et devant assurer la pérénité des données de ses clients. Bien sûr, l'objectif est simple: protéger ses données tout en récupérant celles des autres équipes. La nouveauté résidait dans le fait que les données constituaient ce que l'on nomme couramment des "flags": des éléments d'information ayant de la valeur. Les équipes devaient donc voler ces données, et les diffuser sur un portail que nous leur avions mis à disposition, une sorte de Pastebin. A chaque fois qu'une équipe divulguait des informations ayant de la valeur, des points étaient attribués à celle-ci et autant étaient retiranché aux équipes attaquées.
L'infrastructure a été elle aussi repensée et adaptée: la solution de virtualisation a été revue, l'infrastructure simplifiée et l'administration facilitée. Tout cela pour éviter de reproduire les erreurs de l'année précédente. Le matériel prêté par OVH a d'ailleurs été d'un grand secours: ils nous ont prêté de sacrées machines avec des capacités de fou furieux ! Encore une fois, merci à vous ;).
L'installation chez Mickey
On a déménagé tout le matériel le jeudi précédant la Nuit du Hack, durant Hack in Paris, et tout installé dans une salle technique. Depuis quelques années, cela se déroule sans trop de problème car nous nous sommes équipés. Tout est sur roulettes, empilable, et étiqueté. Et avec un camion à hayon, le transport se déroule sans encombre.
Une fois à Disneyland, le premier problème. Un problème d'alimentation. Une personne est venue nous installer suffisamment de puissance pour alimenter nos baies, afin que l'on termine les tests de déploiement ainsi que les configurations de certaines machines. Un peu trop de puissance en fait. Résultat: un bon vieil arc électrique et une imitation de Claude François évitée de justesse. Moins trois alimentations qui n'ont pas supporté la décharge. Qu'à cela ne tienne, le spare est là pour cela: le tout est changé rapidement.
<emb150|center>
<emb151|center>
L'installation de la baie dans la salle dédiée au CTF a été faite le lendemain, et nous avons passé une bonne partie de la journée à câbler, gaffer, tester, déployer et déboguer les systèmes. Et il fallait bien cela. Cette phase s'est terminée le samedi à midi environ.
Le grand bain
La Nuit du Hack a ouvert ses portes relativement tôt (je n'ai pas su réellement à quelle heure, j'ai profité comme quelques autres de la nuit pour essayer de bien dormir), et à 9 heures la salle commençait déjà à être parsemée de geeks et hackers de tout poil. Et on attendait toujours Jérémie Zimmermann, le conférencier en charge de la keynote. Clad a pris la parole, salué tout le monde, tandis que nous tentions désespérément de le contacter. Quelques temps après, des nouvelles de Jérémie et la keynote a ainsi pu se faire sans souci (mais avec du retard). La journée commençait bien. Ceci dit, mieux que l'année dernière car l'an dernier à 9 heures nous n'avions plus d'alimentation dans toute la salle. Quelques soucis de WiFi ont aussi été géré, mais dans l'ensemble tout allait comme sur des roulettes à partir de 10 heures.
<emb152|center>
Les participants ont ainsi pu profiter des talks, des speakers, mais aussi des bars, des tables et du réseau déployé. Car oui, cette année il y avait du WiFi qui fonctionnait ! Toutes nos excuses à Dave Kennedy pour l'interruption inopinée de talk (pour cause de mauvais timing), mais cela a été rattrapé par la suite. Le stress du moment certainement. A 20 heures, changement de configuration de salle pour héberger les workshops et le wargame: les participants (1300 personnes environ) ont du sortir de la salle et se sont agglutinés dans les couloirs, où il est devenu difficile de circuler. Un point à résoudre pour la prochaine édition.
Au même moment, les équipes CTF entraient dans la salle dédiée afin de s'installer et de découvrir ce que nous leur avions préparé. Nous avons fait un rapide briefing avant de démarrer le jeu, expliquant aux équipes les règles et leur remettant par la suite un livret contenant le règlement, le détail de l'architecture et leurs accès. Nous leur avons donné 30 minutes pour accéder à leurs machines et les configurer (modifier les mots de passe, changer les règles de filtrage, etc ...), puis les avons connectés entre eux afin de déclarer officiellement la guerre ouverte. Petite frayeur pour l'équipe, les systèmes de monitoring ont remonté pas mal de rouge quelque temps après, les équipes découvrant les services et testant les premières attaques (des scans surtout). Le tout s'est stabilisé, et ceux ayant vu l'utilité du pare-feu frontal s'en sont plutôt bien tirés. Une équipe a choisi de laisser ses services inaccessibles ([technopandas]), par pur choix stratégique, mais a fait marche arrière quelques heures plus tard. Le dimensionnement était plutôt bon, vu la stabilité de l'infrastructure durant le CTF. Au final, une seule épreuve n'a pas été exploitée et le CTF remporté (à nouveau) par les russes de HackerDom. SoSix les talonnait de très peu de points, et la lutte finale s'est vraiment faite entre ces deux équipes. Une belle bataille en somme.
Remise des prix
A 6 heures du matin le dimanche, le CTF a été arrêté et les scores figés. Les russes de HackerDom ont validé à quelques minutes de la fin une série de données volées qui leur ont donné l'avantage, laissant à l'équipe SoSix très peu de temps pour compenser. A 7h00, les prix ont été remis aux équipes: * 4000€ TTC pour la première place (HackerDom) * 1 serveur dédié 16G OVH pour 1 an (SoSix) * 1 serveur VPS OVH pour 1 an (Sutegoma2)
Encore un grand bravo aux équipes, qui ont lutté durement pendant les 9 heures qu'ont duré ce CTF. On espère vous revoir l'année prochaine les gars !
Mot de la fin
Cette Nuit du Hack fut éprouvante. A l'heure où je rédige ce billet, j'ai encore les yeux bien rouges et du sommeil à rattraper. Mais elle fut riche en rencontres (oui, il n'y a que là que j'ai croisé un Ukrainien comprenant le français et trollant sur la sécurité), en rebondissements (côté CTF), et en pur plaisir. Et pour une fois, le wargame et le CTF ont fonctionné sans problème majeur. Et ça, ça fait très plaisir. Et oui, ce petit compte-rendu est très axé sur le CTF, mais eh, je n'ai pas pu suivre les talks ni les workshops.
J'attends avec impatience celle de l'année prochaine, en espérant que l'on arrive à faire aussi bien que l'édition 2013, avec plus de moyens, encore plus de fun et de hacks. J'espère sincèrement que vous avez apprécié cette NDH comme nous avons apprécié l'organiser, et sachez que l'on se démène pour arriver à tenir le niveau.
Pour terminer, je tiens à remercier tout particulièrement les personnes qui nous ont aidé à préparer ce CTF: Corbier, kaiyou, y0no, Benjamin, Bastien, Saiyan, UnclePecos, et Julien. Et désolé si j'en ai fait c*ier certains d'entre vous, le stress toussa ... Et puis encore un grand merci à toute la team OVH, et en particulier Henri: vous roxxez les mamans ours :). Un autre grand merci aux collègues d'HZV, aux anciens des débuts de la NDH (rappelez-vous, le cybercafé, la grange, cela a bien changé), et à tous les ghosts (80 personnes environ) sans qui cela n'aurait pas été possible.
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)