SSTIC 2023 – JOUR 2

Cette année encore, XMCO participe à la conférence SSTIC, conférence francophone sur le thème de la sécurité de l’information.

À cette occasion, XMCO vous propose chaque jour un résumé de quelques conférences qui nous ont marquées durant la journée. Une deuxième journée complète et très variée dans ses sujets.

Bug hunting in Steam: a journey into the Remote Play protocol — Valentino Ricotta

https://www.sstic.org/2023/presentation/from_dusk_till_dawn_toward_an_effective_trusted_ui/

Valentino Ricotta (Thalium) présente ses recherches et résultats sur la fonctionnalité Remote Play together, mise en place par Valve dans Steam. Cette fonctionnalité permet de jouer à des parties multijoueurs locales, mais via le réseau à travers un flux de streaming. C’est ainsi sa complexité et ses fonctionnalités qui ont poussé le chercheur à s’y intéresser.

En effet, le scénario étudié est aussi intéressant du point de vue de l’hôte, son système étant « manipulé », mais aussi du client, puisque le prérequis est uniquement le client Steam, et pas de configuration ou jeux particuliers à avoir. De plus, l’attaque peut passer par un lien caché dans une page via un wrapper « steam:// ».

Afin de comprendre et identifier des vulnérabilités au sein du protocole, il est d’abord passé par une phase de rétro-ingénierie du protocole, en s’aidant notamment de l’application Android. Il a pu ainsi développer une implémentation du protocole, afin de construire des messages arbitraires, que ce soit vers le serveur, ou vers le client.

À partir de ce point, il a pu identifier trois surfaces d’attaque principales :

  • Les messages de contrôles ;
  • Le remote HID (permettant d’interagir avec les composants, manette, joystick, etc.) ;
  • Les données audio et vidéo.

Il a alors présenté un fuzzer dédié (rpfuzz), qui permet de simuler une connexion client ou serveur, et ainsi de modifier les paquets transmis afin d’identifier de potentiels défauts.

À travers ces recherches, il a pu identifier plus de 10 vulnérabilités sur ce protocole (heap overflows, out of bounds read / write, etc.), qui ne sont pas présentées pendant le SSTIC pour des raisons de « Responsible disclosure ».

Deux défauts affectant le client ont pu être présentés durant la présentation (scénario de phishing via un lien d’invitation). Ces bugs de format string et de request forgery permettent respectivement à l’attaquant de récupérer des adresses mémoire arbitraires, ce qui pourrait permettre ensuite d’exploiter des vulnérabilités dans le client Steam, et forcer le client à effectuer des requêtes HTTP arbitraires. En définitive, cela permet d’accéder au réseau interne depuis la machine victime et ainsi de pivoter sur des services potentiellement vulnérables.

Analyse de sécurité de NetBackup, logiciel de gestion de sauvegardes — Anaïs Gantet, Benoît Camredon, Jean-Romain Garnier, Mouad Abouhali, Nicolas Devillers

https://www.sstic.org/2023/presentation/analyse_securite_netbackup/

Le laboratoire Airbus SecLab nous a présenté un potentiel chemin d’identification et d’attaque d’un système d’information au moyen du produit de sauvegarde NetBackup, très largement répandu aujourd’hui dans l’industrie pour la réalisation des sauvegardes des S.I.. Les protocoles, langages et technologies qui interviennent dans une infrastructure NetBackup sont très nombreux, du fait de l’historique du produit, fruit de nombreux rachats.

Le service derrière le port 1556, responsable de la communication entre les terminaux NetBackup (demande d’initialisation de sauvegardes, flux de données sauvegardées) implémente un protocole propriétaire géré par pbx_exchange.

Dans le cadre de tests d’intrusion, un scan réseau ciblé sur ce port permet de lister les machines que l’on identifie comme des terminaux associés à l’environnement NetBackup. Les clients NetBackup sont tous reliés à un même serveur, information que l’on peut rapidement identifier avec un outil développé et publié par Airbus : NBUSCAN.  Celui-ci scanne finement et sans authentification chaque composant du S.I. identifié précédemment pour en sortir des informations sur la machine, notamment sa configuration cliente, la version de NetBackup etc.

Cet outil nous permet de déterminer avec certitude qui est le serveur primaire NetBackup, l’orchestrateur d’agents de sauvegarde. Ce dernier qui constitue une cible de choix, car il contient toutes les configurations, les secrets stockés localement et le matériel cryptographique (clés privées, certificats racines etc.) de l’infrastructure de sauvegarde, notamment des clés de chiffrement dans la base de données SYBASE qu’il contient (base chiffrée).   

Pour pouvoir lire le contenu de la Sybase, il est nécessaire d’avoir un accès au root sur le serveur primaire (hypothèse présentée durant la présentation). Au moyen d’un second outil d’Airbus Seclabs, NBUDBDUMP, le pentester peut analyser les fichiers yekcnedwssap et vxd.conf, sortir les condensats cryptographiques de SYBASE et d’en afficher le contenu, notamment tous les mots de passe des agents Netbackup, mais également des serveurs média, c’est-à-dire des serveurs qui contiennent les sauvegardes (qu’elles soient des bases de données, cassettes, disques durs, etc.).

Les conférenciers ont ainsi présenté des outils qui permettent :

  • d’identifier les différentes parties Netbackup au sein du S.I. ;
  • de cibler des fichiers et données sensibles spécifiques dans un scénario de post-exploitation du serveur primaire.

Une vulnérabilité sur un serveur primaire est une porte d’entrée vers la compromission de l’ensemble de l’infrastructure de sauvegarde, dont la criticité est souvent très élevée, de par la très large présence de la sauvegarde sur le système d’information, la sensibilité des données sauvegardées, le besoin de disponibilité permanente de la sauvegarde, et, plus largement, de la dernière ligne de défense que constitue la sauvegarde en elle-même au sein du SI.

Projet : https://github.com/airbus-seclab/nbutools

Mercator – La cartographie des systèmes d’information — Didier Barzin

https://www.sstic.org/2023/presentation/mercator_-_la_cartographie_des_systmes_dinformation/

Didier Barzin, RSSI dans un centre hospitalier, nous présente Mercator, un outil de cartographie des systèmes d’information. L’enjeu est important dans son contexte métier, près de 300 services, 400 serveurs virtuels pour 2000 personnes qui travaillent jour et nuit pour assurer le bon fonctionnement de l’hôpital et la santé des personnes.

Pendant la crise du COVID-19, l’implémentation du télétravail a accentué encore l’exposition des services.

L’outil développé Mercator est une application Web permettant d’avoir une représentation schématique du système d’information. Elle permet plusieurs choses pour l’administration d’un système d’information :

  • une maîtrise de son système d’information par une vision commune et partagée ;
  • une vision des services critiques exposés ;
  • un outil pour réagir efficacement en cas d’attaques ou de réponse à incident ;
  • un outil pour afficher et mettre en place efficacement un plan de continuité d’activité en cas d’incident ou de crise.

Plusieurs vues sont disponibles comme la vue métier, applicative, RGPD ainsi que plusieurs niveaux de granularités.

Voici une vue de la page principale de l’application :

L’application est OpenSource, disponible sur Github (https://github.com/dbarzin/mercator) et près d’une vingtaine de centres hospitaliers l’utilisent.

Abusing Client-Side Desync on Werkzeug to perform XSS on default configurations — Kévin Gervot

https://www.sstic.org/2023/presentation/abusing_client-side_desync_on_werkzeug_to_perform_xss_on_default_configurations/

Le Client-Side Desync (CSD) est une méthode d’exploitation Web initialement mise en lumière par James Kettle, parmi une des approches d’exploitation de la famille de vulnérabilité HTTP Request Smuggling (cf. https://portswigger.net/research/browser-powered-desync-attacks).

Werkzeug de son côté est une solution rassemblant des utilitaires pour les applications WSGI. Ce composant est en règle générale positionné entre le client et le serveur Web.

L’orateur présente sa démarche en 3 temps :

  • L’identification d’une redirection forcée afin de pouvoir exploiter la CSD, via l’injection d’une URL complète à l’emplacement du chemin au sein de la requête HTTP ;
  • La mise en œuvre de la payload CSD classique avec le code JavaScript malveillant ;
  • L’implémentation de la charge sous forme d’un formulaire exploitable au sein d’un navigateur, via l’attribut enctype=text/plain permettant d’envoyer le contenu du formulaire sans encodage automatique par le navigateur.

La vulnérabilité a été corrigée par l’éditeur en coupant la connexion après chaque requête HTTP (désactivation du keep-alive).

Exploit : https://www.youtube.com/watch?v=HJWafpbMcbA

Rétro-ingénierie et détournement de piles protocolaires embarquées, un cas d’étude sur le système ESP32 — Damien Cauquil, Romain Cayre

https://www.sstic.org/2023/presentation/reverse_de_piles_protocolaires_embarquees_esp32/

Damien Cauquil et Romain Cayre de Quarkslab nous présentent la plateforme ESP32, un SoC bon marché, qui supporte de nombreux protocoles radio.

L’objectif de cette présentation et de répondre à la question suivante : peut-on faire de l’ESP32 une plateforme de hacking radio low-cost et détourner les fonctionnalités radio pour utiliser d’autres protocoles radio non supportés nativement ?

Pour répondre à cette question, le mapping mémoire, la liste des SoC et périphériques nous sont présentés. Une étude en profondeur réalisée par l’équipe dans les routines et fonctionnalités offertes par Espressif dans laquelle on entrevoit les possibilités d’exploitation avec ce SoC.

Les orateurs se sont également posé la question sur l’interaction avec d’autres protocoles en détournant la couche PHY de l’ESP32.

Grâce au contournement de mécanisme de sécurité (CRC, packet whitening), la technique Packet-in-Packet, une fine analyse du fonctionnement du SoC BLE, l’équipe réussi à interagir avec le protocole Ant+ utilisé pour traiter les données de santé.

Le résultat est une plateforme nommée HackWatch, équipé d’un ESP32 permettant de :

  • Capturer, modifier, injecter à la volée des paquets BLE ;
  • Mettre en place des attaques interprotocolaires ;
  • Mettre en place du brouillage ou de canal caché.

Par la suite l’équipe veut intégrer le support du WiFi et l’implémentation d’émission et réception de paquet IQ.

Alexandre F., Arnaud L., Nicolas T. et William B.

Adrien Guinault

Découvrir d'autres articles

  • Conférences

    Retour sur la THCon 2024

    Lire l'article
  • Conférences

    Retour sur WestDataFestival 2024

    Lire l'article
  • Conférences

    DORA et la résilience opérationnelle des fournisseurs

    Lire l'article