P2P internals - episode 1

TURN over TCP (RFC 6062)

I love distributed systems for a various of reasons. But these systems are complex and require interactions with many layers. Even if a lot of distributed systems and software exists, such systems can be difficult to use for several reasons. Today, our operating systems tend to avoid doing as many calculations as possible (i.e. mobile devices need to save battery and avoid data consumption). Also, IPv4 is still massively used so NATs are still needed, interfaces are mainly created to interact with servers, etc. This is why I want to explain some common problems we can encounter when creating a peer to peer system and to describe existing solutions.

[Read More]
p2p  dev 

How to host your own Jitsi instance

A short feedback from experience

For the local future CHATONS (Chatons is a french word which means kitten), I am currently helping to host a new Jitsi-meet instance. This instance will be available at this address: https://conference.facil.services/ and this is a little post about how we did it and what problems we encountered.

First step - The manual installation

For the story, the first attempt for hosting the instance worked during several weeks. But, after a migration to our final server, we started to see a lot of problems with that instance (due to the migration or the installation of the back-up system or the monitoring tools). Anyway, even the logs were odds.

[Read More]

(2/3)Retour du nsec - The visual microphone

Suite de la petite série sur le retour du nsec. Dans ce second article, je vais m’intéresser la dernière partie d’une track en 3 points réalisée par un autre membre de mon équipe.

La première partie consistait à trouver la fréquence du mouvement du diaphragme d’un haut parleur. Puis de trouver la musique qui était jouée par cette enceinte (bien entendu, le son n’était pas présent). La dernière partie consistait à retrouver une conversation réalisée dans une pièce où un paquet de chips était filmé à très haute fréquence.

[Read More]

(1/3)Retour du nsec - Introduction au badge hacking

Comme expliqué dans mon précédent billet (https://zestedesavoir.com/contenus/2479/r2-pour-changer-de-gdb/), j’ai participé au NorthSec 2018, une grosse compétition de sécurité en Amérique du Nord.

Au final, quelques épreuves valent un article, certaines où je n’ai pas les connaissances (par exemple, pour une épreuve web, il fallait réaliser du Prototype pollution attack) et quelques unes assez drôle.

Je vais donc m’attarder sur 3 challenges :

  1. Pour la conférence, chaque personne possède un badge contenant le programme de la conférence, des LEDs qui clignotent, des PINS, une interface bluetooth et… 2 FLAGS (cet article).
  2. On vient de recevoir 10 pdfs de 300 pages, le but est de trouver quelle page a été imprimée sur une imprimante différente des 2999 autres.
  3. Un agent se trouvait dans une pièce ou une conversation top secrète a eu lieu. Il a réussi a enregistrer cette conversation, cependant comme le son de la vidéo n’est pas disponible, il faut reconstruire cette conversation à partir des vibrations du paquet de chips pris en vidéo.

Voici donc le premier article (en espérant avoir le temps d’écrire les deux suivants), avec une introduction de hacking de badges. :)

[Read More]

Tarpaulin ou kcov ?

Outils de couverture de code pour les projets Rust

Pour un projet (que je présenterais plus tard sur le forum), j’ai eu besoin d’avoir du retour sur mes tests. Une des métriques m’intéresse est le pourcentage de couverture, car il me permet de connaître les branches que je n’ai pas encore testé et d’ajouter des scénarios.

En cherchant un peu sur Internet, je suis tombé sur 2 outils :

  1. kcov
  2. tarpaulin

En voici un petit comparatif.

Comparatif

Facilité d’installation

kcov

wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz &&
  tar xzf master.tar.gz &&
  cd kcov-master &&
  mkdir build &&
  cd build &&
  cmake .. &&
  make &&
  make install DESTDIR=../../kcov-build &&
  cd ../.. &&
  rm -rf kcov-master

Tarpaulin

# install libssl-dev pkg-config cmake zlib1g-dev
cargo install cargo-tarpaulin

Tarpaulin 1 ; kcov 0

[Read More]

r2

pour changer de gdb

Article original ici

Hei, je n’avais pas n’avais pas écrit de billet ici alors que les sujets ne manquent pas…

Aujourd’hui avec des personnes de ma boîte, nous allons peut-être monter une équipe pour le NorthSec 2018 à Montréal. Il m’arrive très rarement de faire des CTF et je n’en ai pas fait depuis un moment.

Pour se préparer, on va se faire une séance de quelques heures par semaine pour faire quelques challenges. Et j’ai décidé d’apprendre à utiliser radare2 (http://radare.org/). Dans ce billet, je vais donc partager mon expérimentation du jour, ou des suivantes si j’en fais une série.

[Read More]

ZMarkdown

The Markdown engine powering Zeste de Savoir.

Description

ZMarkdown is the markdown engine used by Zeste de Savoir. It translates Markdown input to an AST, then the AST to LaTeX or HTML. So, we can render markdown in a web page or generate PDF from our tutorials. This project is based on Remark and created in NodeJs.

Why?

Similar projects don’t use AST (like the previous iteration of ZMarkdown to translate Markdown and they are difficult to improve with modules or translate in another text language. Because Remark is extremely modulable and uses an AST, it’s the best solution to craft a markdown engine to translate a custom markdown into any format (HTML, slides, PDF, generate Table Of Contents, generate man pages, etc).

[Read More]
zds  project  web  js 

Passer de la fibre au 56k

Ou comment baisser la qualité de son réseau

Contenu posté sur Zeste de Savoir

Vous avez peut-être chez vous un réseau avec un débit trop élevé ou qui marche (trop) bien. Dans ce billet, je ne vais pas parler du côté matériel d’un réseau, ni de brancher un switch sans STP en boucle pour le mettre down, mais de quelques commandes linux que j’ai eu l’occasion d’utiliser ces derniers jours pour simuler un mauvais réseau.

Note : Il ne s’agit pas d’un tutoriel, ce billet cherche seulement à donner un aperçu des possibilités de quelques commandes.

[Read More]

Créer un bridge IRC - Ring

Réalisation d'un bridge IRC/Ring en python

Contenu posté sur Zeste de Savoir

J’aime faire des bots. J’ai des bots pour tout et n’importe quoi. J’ai des bots sur twitter, sur des serveurs IRC, des bots plus ou moins utile, des bots qui contrôlent des trucs et d’autres qui bougent. Ce matin, j’ai décidé de réaliser un petit bot qui sert de bridge entre un channel IRC et ring.cx. Ce bot peut servir à plusieurs choses :

  1. Pouvoir pinguer une personne par Ring depuis le channel IRC.
  2. Pouvoir choisir de récupérer tout le contenu d’un channel.
  3. Pouvoir arrêter de recevoir les informations par Ring.

Dans ce billet je vais expliquer comment je l’ai réalisé.

[Read More]

Chronique du libre n°2

Le Mozilla Science Lab

Tout le monde connait Mozilla grâce à Firefox mais les projets de l’organisation ne se limitent pas à un navigateur. La mission de Mozilla est de promouvoir l’ouverture, l’innovation et la bonne santé du Web. La Fondation Mozilla propose des programmes pour mapper ces valeurs à la science, les médias, à la politique ou l’éducation afin de les rendre ouverts, collaboratifs et partageables.

Dans ce deuxième article des Chroniques du Libre, nous allons donc parler d’open science et plus particulièrement d’un projet de la Fondation Mozilla relativement peu connu : Le Mozilla Science Lab.

[Read More]