Le déroulement de ma journée à la Cité des Sciences et de l'Industrie pour l'occasion de la 16ème édition de la Nuit du Hack 2018.





0x01. ESPACE



Dès l'entrée ça commence fort, un accueil avec un beau t-shirt de NDH numéro 16. On continue on tombe sur une photo de Damien Cauquille - que j'appelle dans ma tête "le hacker du métro*" ;-)

C'est pas la place qui manque, la NDH s'organise sur 3 étages, un étage pour ce qui prestataire, chercheurs de tête ou centre de formations. L'étage du dessous concentre plus les écoles et un endroit oà discuter, recharger ses batteries ou son matériel. C'est à cet étage que j'ai pu discuter avec Eric Filiol, directeur de recherche de l'ESIEA - ayant intervenu dans le reportage de Cash Investigation traitant des relations entre le Ministère de la Défense (actuel Ministère des Armées) et de Microsoft. Il m'a présenté un système de BADGE permettant d'accéder à un diplôme reconnu par l'état de niveau BAC+6. L'entrée se fait sur entretien - afin d'évaluer les conditions et la motivation de l'élève.

J'ai vu que i-Tracing faisait de la "Compliance" (coformité), j'en ai profité pour demander leurs sources, afin de les confronter à celle que nous utilisons au travail, ce sont bien les mêmes : le CIS, le NIST (DISA/IAESE), et l'ANSSI.


J'ai également appris en discutant avec un animateur de l'école 42, qu'une fusée avait crashé à cause d'un stack-overflow. L'école 42 de Lyon s'appelle l'école 101, l'école permet une journée d'immersion durant laquelle il est possible de suivre une journée comme un élève (d'y découvrir l'école, ses méthodes, son infra, son organisation, ...). Pour l'anecdote, si l'école 42 ne possède que des iMacs, c'est pas grâce à un conrat avec Apple, mais pour des raisons esthétique de rangement.

Le 3ème étage est disponible pour les participants désireux de se préparer au CTF, ou au wargame via les challenges déjà en ligne, fait par la société i-Tracing. Avec un clin d'œil au jeu Cyberpunk 2038 ... qui espérons le finira par sortir un jour :-P





0x02. VR ET NDH KIDS



Après avoir fait le tour, des stands d'écoles et entreprises, j'ai été du côté de la NDH Kids pour voir qu'il y avait, j'ai alors rencontré un petit groupe qui présentait un projet de réalité virtuelle sur vélo. À ce qui se disait, cela pouvait rapidement donner le tournis, voir des nausées, j'ai du coup pas trop osé y aller, surtout que la veille j'avais mangé un repas copieux.

files/ndh2k18/02-vr-velo.jpg



Plus loin, j'suis arrivé au stand GlitchLab, (Makers de Nantes) oà était présenté une télécommande faite en Arduino pour éteindre toutes les TV dans un périmètre donné... j'ai pas hésité 2 minutes, que je leur avait acheté. J'ai bien aimé au passage, les stickers en pixel-art sur les tuyaux - propre à la cité des sciences.
files/ndh2k18/03-ndhkids-stickers.jpg


Il m'a également été présenté un jeu sous forme de malette simulant une bombe et une notice, le jeu consistant à ce que celui qui est face à la bombe appelle les services de déminage (l'autre joueur) et que selon les instructions données il désamorçe la bombe. Concept fort sympathique, cependant il y avait peu d'enfants donc peu d'intéressés.
files/ndh2k18/04-ndhkids-bombe.jpg






0x04. FLOTTEMENT



Après avoir marché près de 3h, je m'accorde une pause. J'en profite pour recharger mon smartphone et mon ordinateur. J'en profite pour mettre à jour ma VM Backbox et un framework de pentest PTF que j'ai découvert depuis le site n0where... mise à jour qui aura bien durée 3h. PTF a la particularité d'être un framework composé d'outils téléchargés depuis Github... et tout n'est pas ni qu'en python, en perl, ou en ruby... il y a également des projets en C voir en C++ ... et donc compilation de plusieurs projets.

En parallèle j'ai mis à jour et sécurisé un peu plus mon dépôt (xchanger qui fera l'objet d'un article et d'une keynote).





0x05. CONFERENCE : RUSSIAN CYBERWARFARE



Les notions clés de cette conférences :
- RuNet : Internet Russe (confiné, conformé)
- En Russie, l'expression libre est associée à de la dissidence
- Vladimir Soulkov est un personnage important sur la scène Cyber
- Le cyber-espace russe est très clairement modelé par la (géo)politique
- Concept des 4D :
-> Dismiss (rejeter)
-> Distort (fausser)
-> Distract (distraire)
-> Dismay (conster)

À l'instar des fermes à cliques chinoises, il existe en russie des fermes à troll, c'est à dire que des personnes sont payées pour débatre sur des sujets et provoquer des sentiments liés aux objectifs 4D.

Dans le principe, le but du président souverain est de renforcer l'unité ou du moins le sentiment d'unité, ainsi le paysage de l'Internet russe mais égalemnt de ces journaux modèlent l'information afin que ceux qui pointent la Russie comme étant leur énnemi, renforce d'autant plus ce sentiment d'unité.

La plus importante actvité de la cyberdéfense russe est de défendre le contenu de l'information, pas forcément le contenant.

À savoir que s'il existe un Internet russe, il existe des distributions Linux Russes, telles que RosaLinux ou encore Bientu.

Dans l'esprit, l'attribution, c'est à dire "nommer un coupable" est une activité politique, qui simplifie le rapport aux autres : il est plus simple de nommer coupable (en accusant ou non), que de chercher le coupable.

Parmi les outils de communication, le RBN , fait preuve d'un arsenal d'outils afin de maintenir un rapport de force entre la parole Russe et le reste du monde. L'occident étant vu en ennemi, la Russie jouera la carte de la victime pour légitimer ses actions de piratage et de malveillance informatique - déni de service, malware, ... et pire attaque via placement de vidéo pédopornographique sur des unités de stockage ciblée : comme il est difficile à une personne ayant du contenu pédo-porno sur ses unités de stockage de se défendre, il est facile de la nommer coupable de pédophilie...

Tout un tas de techniques sales qui permet aux services de renseignement et de propagande russes d'établir un ordre qui ne peut être remis en cause. Cela dit, si ces méthodes sont essentiellement soutenue par la souverenaité, elles ne sont pas nécessairement utilisée contre un ennemie étatique.


files/ndh2k18/04-conf-russian_cyberwarfare-ouest-vs-est.jpg

files/ndh2k18/04-conf-russian_cyberwarfare-rbn.jpg




0x05. CONFERENCE : SMART BACKDOORING



La conférence concerne les backdoors dans les objets connectés (IoT). La technique consiste à dumper un firmware avec les outils de débogage électonique et les frameworks qui vont bien - c'est à dire permettant d'exploiter les jeux d'instructions des processeurs spécifiques, comme l'Intel Hex.
Les cadennas connectés sont assemblés en deux parties, une partie électronique et une partie mécanique (le moteur de verrouillage, déverrouillage). Ces deux parties impliquent - du moins dans le cas démontré - un assemblage d'un partie sur une autre... donc colées ou soudées... du coup, un bon coup de tournevis a permis à l'attaquant de se retrouver face à la partie électronique relativement facilement. Une fois exposé, le contrôleur est à la merci du hacker et peut être manipulé avec les outils qui vont bien ... et surtout la documentation. En effet, si le jeu d'instruction y est spécifique, coder une backdoor nécessitera d'exploiter de s'être bien documenté..

Peu après la conférence, j'entendais deux personnes discuter des ... dents connectés ... espèrant que leurs fabricants n'y insère pas des backdoors pour provoquer des douleurs au dents pour forcer les patients à aller voir son dentiste !

Pour le coup, ça m'a rappelé de mettre à jour ma liste de shellcode via le site de shellstorm dans ma VM d'attaque ;-)

files/ndh2k18/06-conf-smart-backdooring.jpg






0x06. EXPLORATION



Je parcours les étages, pour voir un peu ce qui se fait, je m'amuse à compter le nombre de Macbook, de PC sous Windows et de PC sous Linux.

Globalement, je pourrais dire qu'il y'avait 60% de PC sous Windows, 30% sous Linux (donc autre que Kali, qui est souvent virtualisé) et 10% de Macbook (surtout des Macbook Air).

Je me suis amusé à refaire la même chose en salle de Wargame, les ratio ont changé, il y'a plus d'utilisateurs sur Macbook, je dirais que dans l'ensemble c'était des stats proche de 40%, 40% et 20% pour respectivement du Windows, du Linux et du macOS.





0x07. VILL'UP



J'ai profité de l'occasion, d'être à Vill'Up pour aller me défouler sur les jeux d'arcade... j'ai fait de la moto et tuer du Triceratops. Ça défoule bien.

files/ndh2k18/08-villup-game-moto.jpg


files/ndh2k18/09-villup-game-jurassicpark.jpg






0x03. ATELIER VR ADULTE



Un atelier dédié à la VR était ouvert, j'ai pris en photo car il avait la particularité d'avoir des batons de synchronisation pour les mouvements et la position, ainsi que des marqueurs au sol.

files/ndh2k18/05-atelier-vr.jpg






0x08. DE RETOUR



À mon retour, j'ai retrouvé une bonne vieille connaissance, Julesi, qui n'a pas tardé à me reconnaitre également : "t'es seul ?" - "ouais en mode explorateur" - "ben viens, j'vais t'intégrer dans un groupe sympa".
Autour de ce groupe, d'autres challengers non compétiteurs, là surtout pour le fun. J'y serais pas aller pour rien, j'ai pu y apporter ma part de savoir et mon recul - quand on est pas en immersion dans un challenge on a par définition un peu plus de recul.
Je commence par m' "échauffer" avec quelques challenge en ligne sur le site ... cyberpunk2038.i-tracing.com (sympa le clin d'œil à un jeu très attendu).

Bien que le premier niveau soit relativement simple, j'demande un coup de main... on m'explique alors qu'il y a 3 façons d'y arriver, j'en trouve un sans plus de détail, le chiffré et la clé apparaisse dans le code source. La 2ème consiste à refaire la combinaison de touche également visible dans le source, codée en javascript. Et la 3ème méthode consistait à contourner la protection et appeler la fonction qui montre le flag de validation directement.
Le 2ème niveau est une vidéo qui montre pendant un très court moment un texte (supposé être le flag) ... une boucle de capture, permet de voir le flag en entier :

for i in $(seq 1 200) ; do screencapture out$i.png ; done
 


files/ndh2k18/10-chall-screenshot.jpg


Après avoir été prendre l'air, je reviens, l'équipe est entre-autre sur perdu.pcap ...

Après avoir regardé plusieurs fois le fichier "perdu.pcap", j'ai vu que la seule chose qui changeait été le port d'émission ... j'ai du coup fait ma brute de oneliner :


tcpdump -r perdu.pcap|grep 'IP 10.137.2.37'|cut -d'.' -f6|cut -d' ' -f1|while read i ; do echo "$((i-4000))" ; done > out1
cat out1|uniq|while read i ; do hex=$(int2hex $i) ; printf "x$hex" ; done
 


Ce qui a de la gueule, puisque défile un vieux Phrack ... sauf que dans le flag... y'avait des paires... c'est reparti du coup sans l'unique et en dédoublenant à la fin. Suspense... flag validé !



Je l'ai refait à la maison, car si je me débrouille en python, j'ai du mal à en faire par réflexe, besoin d'être à tête reposé... dommage parceque ça aurait été validé dès le 1er flag trouvé :


buff = rdpcap("perdu.pcap")
ret = ""
for line in buff:
   if line[IP].src == '10.137.2.37':
      # On ne récupère que les SYN, pas les ACK (pour justement éviter les doublons)
      if "S" in str(line[TCP].flags):
         ret += chr(line[IP].sport-4000)
print ret
 


Puis on a enchainé avec un autre challenge, oà cette fois c'était du base64 dans la charge ICMP. Ensuite je me suis cassé les dents à déplomber du WASM (web assembly, le futur de flash) - j'ai réussi à produire du code depuis le binaire (.wasm) grâce aux tools wasmdump ... et c'est que maintenant que je vois ... wasm2c ... >_<
Je connaissais pas trop les membres de l'équipe mais ce qui était bien c'est qu'ils n'étaient pas en mode compétiteurs, c'était plus pour le kiff que pour la réussite, ce qui a rendu le tout très sympathique. 3h00. Pénurie de RedBull :-( ... et j'avais plus de monnaie pour les distributeurs ... Tout le monde fatigue, on décolle.





0x09. TRÉSOR DE GUERRE !



Durant cette NDH j'ai choppé plein de Goodies ! J'ai pu donné ma carte de visite au moins une fois ... en même temps, sans être ni ingénieur, ni étudiant, on est pas intéressant. Dommage pour tout le monde, on y gagnerait à former des techniciens à devenir ingénieurs plutôt que de préférer un ingénieur tout prêt... "crisis defines the choice" ...

Parmi ces goodies :
- stickers : réserve Cyberdéfense- grillé l'icône gratuit de firewall... :p
- un cache webcam #ndh16
- un contenant Aston pour garder les canettes fraiches plus longtempts
- j'ai acheté, un extincteur de télé périmètrique GlitchLab, Makers de Nantes
- un protecteur de paiment sans contact de carte bleue (par exemple) (NFC) IT GNOSIS
- un stickers, un PIMS et un porte-clé Zataz
- un stickers GameBuino
- un magasine Hackable
- un magasine Linux Mag
- un cahier de recommandation de l'ANSSI "Bonnes pratiques pour l'acquisition et l'exploitation de noms de domaine"
- un cahier de recommandation de l'ANSSI "Recommandations de configuration d'un système GNU/Linux"

files/ndh2k18/11-goodies.jpg





   =>   Écrit par : Nicolas, le 02 juillet 2018


 
Mots clés :  
  hacking 
  
  challenges 
    >   Articles connexes :

NDH2K15 - Samual L Flags On



CVE-2018-4407 challenge!



1075423