BruCon 2017, Hacking for B33r : retour sur l’événement belge

BruCon 2017, Hacking for B33r : retour sur l’événement belge

L’édition 2016 de la BruCON, la conférence belge de référence en matière de sécurité des Systèmes d’Information, s’est déroulée à Gand les 5 et 6 octobre derniers. Cet événement offrait un éventail d’activités destiné aussi bien aux professionnels qu’aux amateurs passionnés par la Sécurité des Systèmes d’Information.

La BruCon a mis à disposition sur YouTube les conférences filmées, accessibles à l’adresse suivante : https://www.youtube.com/user/brucontalks. De plus, les supports des présentations sont consultables sur le site officiel de la conférence : http://files.brucon.org/2017/.

Cet article présente les résumés de nos 5 coups de coeur. L’intégralité des résumés sera disponible au sein du prochain numéro de notre ActuSécu .


“Detecting malware even when it is encrypted”, par František Střasák

SLIDES

František Střasák, étudiant à l’université de Prague (CTU), nous présente ses travaux de recherche portant sur l’utilisation de l’intelligence artificielle pour la détection de malware via l’analyse du trafic réseau.

Ses recherches sont basées sur les problématiques suivantes :

  • 50% du trafic Internet est chiffré
  • Entre 10% et 40% du trafic réseau lié aux malwares est chiffré
  • La proportion de trafic malveillant chiffré tend à augmenter

Ce constat montre la nécessité d’élaborer des techniques pour détecter la présence de trafic malveillant même si celui-ci est chiffré. Le conférencier présente les différentes solutions pour répondre au problème :

  1. Utiliser l’interception TLS (man-in-the-middle) au moyen d’un proxy. Il suffit ensuite d’analyser le trafic en clair. Cette solution est coûteuse en ressource (transchiffrement) et pose un problème de confidentialité qui vient s’opposer à l’idée originale du protocole HTTPS.
  2. Détecter les malwares sans déchiffrer le flux. Cette solution préserve la confidentialité des communicants et réduit l’analyse à une simple lecture du trafic (au moyen d’une sonde par exemple).

František Střasák propose une implémentation de cette seconde solution en analysant de gros volumes de données issus de logs du système de détection d’intrusion “Bro IDS”. Une partie des données est une capture de paquet réseau d’un trafic Internet légitime en HTTPS. L’autre partie représente un trafic malveillant en HTTPS.

La première étape de l’analyse consiste à lire les informations sur les connexions TLS et créer un objet “SSLConnectUnit” pour chaque connexion TLS (du début jusqu’à la rupture de la connexion). Tous les objets “SSLConnectUnit” sont ensuite agrégés dans un objet “SSLAggregation” lorsqu’ils partagent la même adresse IP source, la même adresse IP de destination, le même port de destination et le même protocole. Ainsi, chaque connexion tend à caractériser le comportement d’un malware spécifique se connectant à son serveur C&C depuis l’ordinateur d’une victime.

Après avoir établit la liste des objets “SSLAggregation” à partir des datasets, la deuxième étape consiste en l’extraction des ”features” du trafic.

Une “feature” est une information caractéristique au sein d’une donnée utilisée par les algorithmes de “machine learning” pour qualifier cette donnée. Par exemple, un algorithme de reconnaissance faciale va rechercher les features “oeil” et “bouche” (des points de l’image légèrement plus sombre que le visage). L’image sera qualifiée comme “visage” si trois de ces features sont trouvées et forment un triangle quasiment équilatéral.

De la même manière, des features sont générés pour chaque objet “SSLAggregation”. On extrait pour cela plusieurs paramètres pour tous les objets “SSLConnectUnit” au sein de l’agrégat :

  • La durée de la connexion
  • Le nombre de paquets entrant/sortant
  • Les informations relatives aux certificats
  • Le TTL, la taille de la clé de chiffrement…

Plus de 30 paramètres sont ainsi extraits, chaque feature est caractérisée par la moyenne, l’écart-type et la variance de ces paramètres pour tous les objets “SSLConnectUnit” de l’agrégat. Le résultat de ce processus produit une forme de carte d’identité pour chaque connexion de chaque malware. Ces données sont ensuite utilisées pour entraîner l’algorithme de machine learning “XGBoost” afin de qualifier si un trafic HTTPS donné est légitime ou identifiable comme malveillant.

Le résultat des recherches de František Střasák montre que le trafic HTTPS malveillant diffère effectivement du trafic légitime et que la détection de malware peut ainsi s’effectuer sans déchiffrement du flux. La preuve de concept provoque néanmoins encore trop de faux-positifs pour être utilisée en tant qu’outil de détection, mais les recherches se poursuivent.


“Hacking invisibly and silently with light and sound”, par Matt Wixey

SLIDES

Matt Wixey, consultant sécurité et pentester au pôle d’audit chez PwC, nous présente différentes techniques toutes plus exotiques les unes que les autres pour rendre plus difficile (voire impossible) la détection par les antivirus des communications entre malwares, leur propagation, l’exfiltration de données ou l’espionnage.

L’idée principale est de transformer en moyens de communication les différents composants d’un PC ou d’un smartphone pouvant faire un lien avec l’environnement (micro, caméra, capteur, cellule photovoltaïque, LED…). Matt Wixey a présenté plusieurs techniques très diverses pour faire communiquer plusieurs appareils, pirater des drones, perturber des détecteurs de mouvement…

  • Transfert d’information via un signal lumineux

Une vidéo de démonstration présente un lecteur mp3 envoyant un signal audio vers un chipset programmable. Ce dernier émet un signal lumineux très difficilement perceptible par l’oeil humain (signal ultraviolet). L’amplitude du signal lumineux est modulée selon les variations du signal audio. En face, un capteur photovoltaïque récupère le signal lumineux et décode le signal audio embarqué, pour finalement le restituer via un haut-parleur. Ainsi, la musique émise par le haut-parleur est parfaitement audible malgré l’absence de lien électrique entre l’émetteur et le diffuseur. Cette technique peut être utilisée pour communiquer ou exfiltrer des données en utilisant le flash d’un smartphone ou la lumière d’un écran. Les données peuvent être réceptionnées via un capteur photovoltaïque ou une caméra.

  • Transfert d’information via un signal audio

De la même manière, il est possible de moduler des données au sein d’un signal audio imperceptible par l’oreille humaine (infrabasses ou ultrasons). Le conférencier présente un outil capable de moduler n’importe quelle donnée (message, fichier…) au sein d’un signal audio puis de le diffuser. Un second ordinateur écoute le signal via le micro et récupère les données modulées au sein du signal.

  • Injection d’image au sein du spectrogramme audio

Le spectrogramme d’un signal audio correspond à la représentation graphique de l’amplitude des fréquences contenues dans le signal. Le spectrogramme est donc une image où la largeur représente le signal dans le temps, la hauteur représente l’intervalle de fréquence audible par l’oreille humaine (de 20Hz à 20kHz), et où chaque point est coloré plus ou moins intensément en fonction de l’amplitude de la fréquence. Matt Wixey nous présente alors un outil de sa conception capable de générer un fichier audio à partir d’une chaîne de caractère. La chaîne de caractère sera alors visible graphiquement sur le spectrogramme du fichier audio généré.

  • Sabotage d’un drone

Les drones sont souvent équipés d’un altimètre à ultrason: un émetteur envoie un ultrason au sol tandis qu’un récepteur calcule le temps de retour du son. L’altitude est ainsi déduite du temps d’aller-retour du son. En envoyant un ultrason de même fréquence vers le drone, Matt Wixey nous montre qu’il est possible de faire décoller le drone jusqu’au plafond : en recevant le signal audio quasi instantanément, celui-ci pense être proche du sol, et le mécanisme de stabilisation compense cette proximité en augmentant l’altitude du drone, ce dernier s’envole alors indéfiniment.

L’objectif de cette conférence est de sensibiliser le monde de la sécurité à propos de l’existence d’autres techniques et d’autres vecteurs pour communiquer, se propager, exfiltrer des données ou saboter des appareils, de présenter leurs avantages et leurs inconvénients, et de montrer sur quelles lois physiques ses techniques peuvent reposer et quels appareils de la vie de tous les jours elles peuvent être exploitées.


“Weaponizing the BBC micro:bit”, par Damien Cauquil

SLIDES

Damien Cauquil, chercheur en cybersécurité chez Digital Security (CERT-UBIK) a présenté le micro-ordinateur “micro:bit” et les multiples détournements possibles réalisables par un attaquant pour le transformer en un véritable outil de piratage.

Micro:bit est une carte autonome disposant :

  • D’un processeur ARM 32-bit, 16Ko de RAM et 256Ko de mémoire flash
  • De 2 boutons et 25 LEDs d’affichage programmables
  • De capteurs: thermomètre, cellule photosensible, accéléromètre, boussole
  • D’une interface USB, Radio et Bluetooth

Disponible pour la modique somme de 15€, elle a été conçue pour l’apprentissage de la programmation aux enfants et peut être programmée via des frameworks éducatifs comme Blocks ou Scratch. Mais également via Micropython, une bibliothèque python légère conçue pour la programmation embarquée.

Damien Cauquil nous présente une façon de transformer cet appareil en un outil portable de piratage de flux radio. En utilisant le chipset 2.4GHz (NRF51822) embarqué au sein de la carte, le chercheur montre qu’il est possible d’intercepter les paquets de différents protocoles utilisant la bande passante 2.4GHz :

  • Legacy ShockBurst Protocol (SB)
  • Enhanced ShockBurst Protocol (ESB)
  • Bluetooth Low Energy (BLE)

La plupart de ces protocoles ont déjà été piratés et des codes d’exploitation existent publiquement pour sniffer les paquets réseau à partir d’une interface 2.4GHz. Le travail de Damien Cauquil fut d’adapter les codes d’exploitation pour que ceux-ci soient compatibles avec la carte NRF51822 présente sur le micro:bit.

Il montre alors qu’il est possible d’intercepter des signaux Wi-fi afin d’en faire un outil d’inspection (man-in-the-middle). L’appareil peut également être transformé en un sniffer de clavier sans fil (keylogger) en interceptant les signaux Bluetooth.

Enfin, l’interface 2.4GHz du micro:bit peut également être utilisée pour injecter des paquets, afin de prendre le contrôle d’un drone en plein vol. Après une démonstration directe de détournement de drone, le conférencier nous explique sa technique :

  1. Interception des paquets entre le drone et la télécommande légitime
  2. Identification du canal utilisé et des paramètres d’appairage
  3. Envoi de paquets malveillants au drone

Le conférencier était ainsi en mesure de prendre le contrôle du drone à partir d’un joystick relié aux ports d’entrées/sorties du micro:bit.

Damien Cauquil a rendu public l’ensemble du code source permettant de transformer le micro:bit en outil d’interception radio. Ces nouveaux firmwares open source permettront aux ingénieurs en sécurité de rechercher plus efficacement des vulnérabilités impactant les protocoles radio.


“Open Source Security Orchestration”, par Gregory Pickett

SLIDES

Gregory Pickett, dirigeant de la société Hellfire Security (société spécialisée dans les audits et tests d’intrusions), nous a présenté une méthode d’orchestration d’évènements de sécurité à l’aide du protocole ANP (Adaptative Network Protocol).

Cette présentation est basée sur un constat simple, via l’utilisation de divers outils de détection et réponse à tentative d’intrusions (Fail2ban, iptables, modsec …) un serveur est en mesure de détecter et bloquer une multitude d’attaques, plus ou moins sophistiquées. Mais comment faire en sorte qu’une détection d’attaque, réalisée par un serveur, puisse être communiquée et prise en compte par l’ensemble de ses machines, et ce, avec le moins d’interaction humaine possible ?

De cette problématique, Gregory Pickett nous a présenté une solution open source basée sur le protocole ANP, développée par ses soins. Ce protocole permet la mise en place d’une communication entre plusieurs systèmes Linux dans le but de partager des informations liées à un événement quelconque.

Développé en python, un agent ANP peut ainsi être déployé sur un système Linux. Exécuté comme un service, l’agent transforme le système ciblé en un noeud. L’ensemble de ces noeuds forme alors un réseau ANP et sont ainsi en mesure de communiquer entre eux les différents évènements de sécurités relevés.

Chacun de ces agents peut s’interfacer avec les différents services qui génèrent des événements de sécurités, via des interfaces ANP propres à chaque outil. À l’heure de la rédaction de cet article, les interfaces ANP suivantes sont présentes:

  • Fail2Ban
  • Modsec
  • Iptables

Chacune de ces interfaces permet la transmission d’événements aux autres noeuds, mais également d’interagir avec chacun de ces services. En effet, dans le cas d’une attaque bruteforce détectée par Fail2Ban (plusieurs tentatives de login échouées), l’interface ANP dédiée à ce service sera en mesure de transmettre l’information aux autres noeuds. Dès lors, les noeuds avertis seront en mesure de mettre en place un blocage de l’IP attaquante via l’interface Fail2Ban, de la même manière que s’ils avaient été la cible de l’attaque.

Bien que le but initial soit de répondre aux tentatives d’intrusion (principalement en filtrant l’IP de l’attaquant sur chaque noeud), le protocole ANP permet également la redirection du trafic malveillant vers un Honeypot. Ce type de système a pour objectif d’émuler un système authentique, séparer du réseau de production, afin d’analyser le comportement d’un attaquant lors d’une tentative de compromission. Cette fonctionnalité de ”leurre” est permise via l’interface ANP iptables, le trafic pouvant ainsi être redirigé vers le Honeypot.

Bien que cette stratégie de déploiement de mesure de sécurité ne soit pas nouvelle, ANP permet une alternative gratuite et Open Source aux solutions sur mesure payante proposée par bon nombre de sociétés. Le projet est disponible en téléchargement sur la plateforme Source forge (https://sourceforge.net/projects/adaptive-network-protocol/), ses futures évolutions sont à surveiller attentivement !


“Evading Microsoft ATA for Active Directory Domination”, par Nikhil Mittal

SLIDES

Nikhil Mittal, chercheur en sécurité et conférencier reconnu (présentation à la Defcon, BlackHat, HITB…), nous a présenté le fonctionnement de la plateforme de détection d’intrusion Microsoft “Advanced Threat Analytics” (ATA), ainsi que les différentes techniques de contournement associées à cette technologie.

ATA est une plateforme permettant de visualiser via une interface web les différentes alertes de sécurité en cours. Celle-ci fonctionne en centralisant de multiples informations provenant de sources différentes:

  • Trafic réseau (plusieurs protocoles tels que Kerberos, DNS, RPC, NTLM, …)
  • Données (logs, événements) issues des sources suivantes:
    • Security Information and Event Management (SIEM)
    • Windows Event Forwarding (WEF)
    • Collecteur d’événements de Windows (Wecsvc)

À partir de toutes ces données, ATA est en mesure de corréler certaines informations de manière à détecter des activités suspectes. En effet, cette plateforme de détection a pour objectif de détecter différents comportements habituellement liés à une attaque (lorsqu’un attaquant a réussi à obtenir un accès au réseau):

  • Phase de reconnaissance : étape au cours de laquelle un attaquant cherche à collecter un maximum d’information sur les éléments présents sur le réseau (systèmes présents, services utilisés …)
  • Phase de propagation (ou mouvement latéral) : une fois l’attaquant présent sur le réseau, il va chercher à étendre sa surface d’attaque en compromettant les machines les unes après les autres, à l’aide des informations collectées durant la phase de reconnaissance.
  • Phase de persistance: dès qu’une machine est compromise, l’attaquant cherche à élever ses privilèges et s’assure de maintenir cet accès via l’installation d’une porte dérobée. De plus, une collecte d’informations, propre à la machine, est effectuée. Ces nouvelles informations permettent alors de réaliser à nouveau les phase de reconnaissance, de propagation, et de persistance en boucle, jusqu’à prendre contrôle du domaine.

Afin de mener à bien chacune de ces étapes, un attaquant va employer plusieurs attaques connues en environnement Windows (énumération de comptes, tentative de brute force de comptes,  Pass-The-Ticket, Pass-The-Hash, Golden tickets …).

Nikhil Mittal a alors entrepris de lister les différentes méthodes de contournements des mécanismes de détection d’ATA, en fonction de chaque étape (reconnaissance, propagation et persistance) et de chaque technique d’attaques en environnement Windows.

Une des méthodes de contournement présentées correspondait à la phase de reconnaissance. Dès lors qu’un attaquant est présent sur le réseau, il lui est utile d’essayer de lister les utilisateurs présents sur les différentes machines du réseau. Cette tâche peut être réalisée via la fonction “Invoke-UserHunter”. En effet, en lui spécifiant une liste d’utilisateurs, cette fonction va tenter de détecter s’ils sont présents et/ou connectés (via les fonctions “Get-NetSessions” et “Get-NetLoggedon”) sur une des machines du domaine local.

ATA est capable de détecter cette tentative d’énumération de compte utilisateur, mais uniquement lorsque le contrôleur de domaine est ciblé. Dans ce cas, la solution de contournement consiste à ne jamais contacter directement le contrôleur de domaine. Pour ce faire, il suffit de spécifier à la fonction “Invoke-UserHunter” une liste contenant l’ensemble des machines à tester, sans l’IP ou le nom du contrôleur de domaine (option “ -ComputerFile”).

L’ensemble des autres techniques, présentées au cours de cette conférence, concernaient également la phase de reconnaissance, les attaques “Overpass-the-hash”, “Golden Ticket”, “Silver Ticket”, “Kerberoast”, ainsi que les défauts de configuration possibles d’ATA.

Par ailleurs, il est possible de retrouver l’ensemble des explications de ces mécanismes de contournement d’ATA sur le blog de Nikhil Mittal, accessible à l’adresse suivante: http://www.labofapenetrationtester.com/2017/08/week-of-evading-microsoft-ata-day1.html.


Antoine Dumouchel