La Nuit du Hack 2018 : bug bounty et wargame

La nuit du hack 2018 : bug bounty, wargame et spying challenge, tout un menu

Les conférences de cybersécurité sont souvent accompagnées de plusieurs activités annexes pour les connaisseurs. Nous relatons ici comment nous avons pu découvrir celles à Paris le week-end du 30 juin.

Nous avons eu la chance d’assister à l’excellente conférence sur la cyber-sécurité à Paris. Après de multiples et excellentes présentations sur différents thème d’actualité (voir mon article précédent), nous avons eu la chance de pouvoir participer à plusieurs des très ludiques activités proposées. Mais avant de rentrer dans les détails, commençons par quelques définitions :

Bug bounty : certaines entreprises, soucieuse de la sécurité de leurs services, proposent aux hackers (les gentils donc) de leur annoncer des failles de sécurités qui sont découvertes contre une rémunération qui sera proportionnelle à l’importance de la faille. Ceci permet donc à ces entreprises un regard extérieur sur leur propre sécurité, tout en permettant à un hacker de pouvoir leur annoncer le cas tout en gagnant quelques sous.

CTF : il existe une multitude d’événements différents de type Catch The Flag. Elles consistent en une collections de défis techniques à résoudre, qui vont rapporter des points. Par exemple un site internet avec une faille de vulnérabilité (qui n’est pas précisée) est mis à disposition des participants, qui devront l’explorer pour trouver comment contourner les mécanismes pour accéder à un “flag”, soit un code qui permettra de valider les points gagnés. Ce type d’événements existe depuis plus de 15 ans, ils sont en général accessibles sur internet et permettent à chaque participant d’améliorer ses compétences tout ayant du bon temps.

Bug bounty

Le bug bounty ( proposé par https://bountyfactory.io ) comprenait des services ou technologies existantes sur le marché, notamment le moteur de recherche qwant ou blablacar. Nous nous sommes penchés sur un service de pare-feu applicatif derrière lequel était exposé une application volontairement vulnérable, mais que le pare-feu avait comme rôle de protéger de nos assauts. Après quelques essais nous avons découvert que le service proposé (une command ping exposée à l’adresse qui nous entrions) permettait d’introduire une variable d’environnement dans l’adresse et que celle-ci était résolue avant de lancer la commande. Ainsi l’adresse $UID.1.1.1 effectuait un ping sur 48.1.1.1. Nous avons cherché ensuite à extraire des valeurs non seulement numériques, mais aussi en chaîne de caractères. Malheureusement une commande avec erreur n’affichait aucun résultat. Ainsi un ping sur $UID.google.ch ne trouvait pas 48.google.ch et rien d’était affiché. Il était donc nécessaire de trouver un serveur DNS qui réponde à tout type de nom d’hôte pour un nom de domaine donné. Ce qui nous avons trouvé avec xip.io (xip.io va répondre à toute requête, p.ex. nimportequoi.xip.io). Ceci nous a permis d’extraire certaines variables.

La partie CTF étant toute proche, nous n’avons pas cherché plus loin pour déterminer si une exploitation plus poussée de la vulnérabilité était possible, mais avons quand même pu reporter ce cas auprès de la plateforme qui nous a récompensé avec de l’argent cash.

C’était une semaine prolifique en termes de bounty, puisque quelques jours auparavant nous avons pu annoncer une faille de sécurité chez Swisscom (dont je parlerai dans un autre article, lorsqu’elle sera sécurisée).

Catch The Flag

Deux concours distincts étaient organisés cette année : une partie privée, pour les 10 équipes qualifiées à l’avance et une partie publique pour les autres. Nous n’avons pas pu participer aux qualifs cette année, mais nous nous sommes reporté sur la partie publique.

Il y avait presque 30 défis différents à disposition, avec plusieurs niveaux de difficulté. Nous avons progressés sur approximativement 12 défis en parallèle pour finir par en résoudre 2, dont j’ai choisi mon exemple : l’extraction de données cachées (side channel) dans les paquets ICMP. Je n’avais pas d’instructions précises, mais un fichier de capture réseau, contenant les communications d’un employé indélicat. En analysant le fichier, j’ai pu constater que les paquets transmis étaient principalement du type ICMP, qui n’est pas prévu par défaut pour transporter des données mais plutôt faire de l’analyse réseau, il contient malgré tout un champ “data”. Il se trouve que ce champ était plein de données encodées. Il a donc fallu créer un script qui considère chaque paquet un à un pour en extraire les données. L’encodage était du base64, qui est assez facile à traiter. Malheureusement la simple mise bout à bout des données n’a pas suffit à les rendre lisibles. En effet le protocole veut que les paquets sortants sont renvoyés tels quels en retour et chaque partie de données était donc doublé, ce qui provoquait un décalage des bytes au moment du décodage. Il a donc suffit de supprimer les doublons pour avoir le contenu correctement décodé et le code recherché affiché.

Nous avons globalement réalisé un petit score lors de ce concours, mais nous sommes une petite équipe face à des groupes jusqu’à dix fois plus grands. Nous avons su rester compétitifs malgré la longue durée de l’événement (24 heures non-stop).

Conclusion

Ce type d’événement reste un must pour chaque travailleur dans le monde de la sécurité, en particulier celui qui cherche à améliorer ses compétences tout en s’amusant. C’est un énorme travail de préparation pour l’équipe organisatrice, un grand merci à tous les membres de hackerzvoice pour l’organisation (https://hackerzvoice.net/). Notre seul regret : ne pas avoir eu le temps de profiter de toutes les activités proposées, notamment un “spying challenge”, avec des éléments de surveillance physique et sur internet qui commençait plusieurs jours avant la conférence et portait sur une société factice (mais avec un stand) parlant de “metacryptoblockchaincurrency” (je suis sûr d’être bien référencé en utilisant ces termes dans mon article).

Pour les intéressés, l’année prochaine l’événement se nommera lehack (https://lehack.org/)

Pas de commentaire.

Ajouter un commentaire

Vous devez être Connecté pour poster un commentaire.