Blackhat EU 2013 - Résumé des conférences

Technologies de Sécurité
Blackhat EU 2013 - Résumé des conférences

La treizième conférence Blackhat Europe s’est tenue du 12 au 15 mars 2013 à Amsterdam. Une fois de plus, de nombreux hackers se sont retrouvés pour partager leur expérience, et cette année encore de nombreux intervenants étaient présents pour présenter leurs travaux de recherche en sécurité informatique ou faire le bilan de l’année écoulée. Au programme, trois principaux tracks pour une trentaine de conférences – et des choix cornéliens à faire pour ceux qui ne disposent pas du don d’ubiquité. Voici donc un bref résumé des conférences que nous avons pu suivre.

0. Keynote: Shelters or Windmills: the struggle for power and information advantage

Rick Falkvinge [slides (version présentée à Belgrade pour le parti pirate)]

Une keynote très politique par le fondateur du parti pirate suédois ; Rick fait un parallèle intéressant entre plusieurs événements historiques et ce qu'il se passe aujourd'hui avec l'avènement d'Internet, et met en question l'approche actuelle des gouvernements et industries face à la diffusion d'œuvres culturelles, notamment.

Le titre de la keynote vient d'un dicton asiatique : "When the winds of change are blowing some people are building shelters, and others are building wind mills."

Rick est un bon orateur, le débat est toujours intéressant, mais c'est une entrée en matière un peu étrange.

1. The M2M risk assessment guide - a cyber fasttrack project

Don A. Bailey [slides non disponibles]

-> En quelques mots : on reste sur sa faim

Une conférence un peu décevante sur l'analyse des menaces liées au M2M. Don mentionne de façon très anecdotique plusieurs attaques théoriques qui ont été mises en pratique contre le matériel embarqué, parmi lesquelles :

  • le "RFID remote glitching" (qui consiste à sous-alimenter un récepteur RFID pour mettre la puce dans un état indéterminé et contourner la logique de l'électronique)
  • l'exécution distante de code sur des puces GPS. Ces puces utilisant très souvent la même baseband que les puces 3G, ce type d'attaque permet de prendre la main sur pas mal d'appareils. Les implémentations GPS sont en général bien fragiles.
  • les attaques SSL contre les périphériques bon marché, qui implémentent en grande majorité un "rootless SSL" (pas de certificate store, confiance aveugle dans tous les certificats). Notamment en Inde où l'internet banking depuis son téléphone est très répandu, tout comme les téléphones dotés d'une stack SSL de ce type. D'où une explosion des attaques MITM sur SSL là-bas.
  • le MIM bypass. En très gros très rapide, un MIM (M2M Identification Module) est une SIM soudée ou intégrée à un circuit électronique. C'est très courant dans le M2M, où les communications GPRS sont très présentes. Problème : on peut extraire les infos du MIM et les réinjecter dans une SIM, et ainsi bénéficier d'un forfait 3G illimité pour pas cher.

Problème de la conférence : absolument aucun détail technique et une discussion centrée sur un document que personne n'a encore vu.

2. Hacking appliances: ironic exploitation of security products

Ben Williams [whitepaper | slides]

-> En quelques mots: Ces cordonniers sont quand même très mal chaussés…

Une présentation pleine d'éclats de rires. A défaut de présenter un type d'attaque nouveau, Ben illustre l'incapacité des acteurs de la sécurité à appliquer leurs propres recommandations. Il commence par compromettre l'appliance Sophos Email Gateway, en utilisant une simple attaque par bruteforce sur le login pour casser le compte admin. Aucun mécanisme de protection ne l'en empêche, le serveur en face tient bien la montée en charge et accepte 127 threads concurrents (c'est un nginx), bref, ça se passe vite et bien.

Pour la suite, on a en vrac :

  • un root shell dans l'appliance Sophos Email Gateway
  • une compromission complète de Citrix Access Gateway
  • une compromission complète d'une appliance Trend Micro Email Appliance

En général, les appliances sont très vulnérables aux injections de commande, au CSRF et au cassage de mot de passe. Ben parle ensuite du système d’exploitation sur lequel reposent ces appliances. On est en droit de s'attendre à trouver un système durci, et c'est ce que le marketting nous vend. Qu'en est-il vraiment ? Rien. Il est plus que courant d'y trouver un noyau standard (pas de SELinux, GRSec, PaX), mais aussi d'y trouver installé tcpdump, gcc (!), gdb (!!), perl, python, nmap (!!!), etc.

Heureusement, les failles sont en général corrigées promptement par les différentes sociétés.

3. XML Out-of-Band data retrieval

Alexey Osipov & Timur Yunusov [whitepaper | slides]

-> En quelques mots: De nouvelles attaques intéressantes contre XML, un outil pour aider à exfiltrer les données

Attention les yeux et les oreilles, les jeunes hackers russes débarquent. S’ils sont compétents techniquement,  ils peinent à faire une présentation compréhensible et leur anglais est aussi bon que notre russe. Ceci étant, ils soulèvent quelques lièvres intéressants:

  • La spécification XML interdit l'expansion des entités dans les attributs XML, mais beaucoup de parsers s'en fichent ou peuvent être bernés pour le même résultat final
  • du coup, en imbriquant une entité XML régulière dans un paramètre XML (%param), on arrive assez facilement à faire des choses intéressantes.
  • Si un parser XML interdit d'inclure des entités système, on peut contourner cette interdiction en utilisant l'expansion des paramètres et des entités
  • Pour le Out-of-Band : ils arrivent à exploiter une expansion XML, même si le parser ne retourne rien. Pour ça, ils incluent et encapsulent le contenu du fichier inclus lors de l'expansion (e.g. /etc/passwd) dans une requête HTTP ou DNS. Ils font donc sortir le document par un chemin alternatif, ce qui est plutôt malin. Ils ont même publié un outil pour aider, et ça c'est chouette.

C'est vraiment dommage qu'ils aient expédié leur présentation en 20 minutes et 3 slides et demi, il y avait de la matière pour faire quelque chose de bien.

3 bis. Building a defensive framework for medical device security

Jay Radcliffe [slides non disponibles]

-> En quelques mots: ne tombez pas malades

Bon vous allez trouver que nous abusons mais cette présentation était encore relativement ennuyeuse. Prise en cours de route, la moitié de la salle dormait déjà. Jay présente cependant le problème de façon très claire : on a des machines médicales (scanners, IRM, pacemaker, etc.) qui ont des dépendances fortes au logiciel, et que personne n'ose mettre à jour de peur de provoquer un incident grave. Les constructeurs recommandent de ne surtout pas appliquer les patches, mais font tourner des Windows 2000 ultra vulnérables - ce qui rend la situation ubuesque.

Bref, Jay décrit ce qu'on constate tous les jours dans les hôpitaux français, et confirme que ça n'est pas une exception culturelle. Il appelle ensuite les régulateurs à l'aide, et définit le cadre d'une politique de sécurité et d'une méthodologie supplémentaire.

Rien de très concret, pas même un exemple épique de compromission. Juste des idées sur la table, pas forcément plus intéressantes que ça. C'est bien pour que les gens prennent conscience du problème, mais nous restons peu convaincus de la pertinence du discours à une Blackhat.

4. Huawei - From China with Love

Nikita Tarakanov [slides]

-> En quelques mots: on n’est pas sorti de l’auberge

Encore un russe, nous aurions dû nous méfier non ? :) Bon. La conférence était un peu plus technique que la précédente, et Nikita nous présente les clés 3G/4G de chez Huawei et leurs merveilleux drivers. Rapide résumé :

  • Le service de mise à jour est en lecture/écriture pour tous et s'exécute avec des privilèges élevés
  • On peut patcher le firmware du modem sans (presque) aucune contrainte
  • En modifiant la configuration de l'application "dashboard" de Huawei, on peut changer le DNS de la connexion
  • Tous les devices sont mis à jour à partir d'un seul site, hébergé par Huawei. Single Point of Failure
  • Les modems (parce que c'est de ça qu'on parle) peuvent être briqués en fuzzant bêtement avec des commandes AT
  • Dans le cas où la clé ne trouve pas de 3G/4G, elle est configurée pour se connecter automatiquement à certains réseaux Wifi (SSID), en dur dans la conf
  • le driver a l'air codé avec les pieds

Ou encore, vu du point de vue d'un attaquant :

  • ces clés sont vendues en masse et déployées partout sous différentes identités
  • on les trouve aussi dans des laptops, pas uniquement comme dongles USB
  • on infecte, on est local system/root
  • on peut infecter le device directement, c'est un stockage de masse
  • le serveur de mise à jour fait tourner un vieil IIS6
  • le driver a un mode debug accessible à tous, il est facile à désassembler/fuzzer
  • on peut patcher le firmware du modem sans contrainte

Conclusion: on ne sait toujours pas si c'est juste de l'incompétence ou un début de rootkit, mais vous ne voulez pas acheter un de ces devices / clés Huawei (même si c’est en fait une puce Broadcom).

4 bis. A perfect CRIME? Only TIME will tell

Tal Be'ery [slides | whitepaper]

-> En quelques mots: une évolution intéressante de l’attaque CRIME

Conférence suivie en partie seulement, mais c'était intéressant, tout comme les slides. Tal commence par un résumé de l'attaque CRIME (Compression Ratio Info-Leak Made Easy), une attaque contre SSL qui exploitait le fait de compresser les données envoyées pour deviner certaines parties de la requête (notamment les cookies). L'attaque était complexe, et plusieurs mesures palliatives ont été déployées pour la rendre en grande partie inopérante.

Tal a essayé d'appliquer l’attaque aux réponses HTTP et non plus simplement aux requêtes. L'un des pré-requis de CRIME sur les requêtes est que l'attaquant doit connaître un bout de plaintext. Ce pré-requis est le même pour la réponse, mais c'est beaucoup plus facile à obtenir. On sait déjà que de nombreuses réponses contiendront une partie du contenu de la requête, ainsi que certaines chaines de préfixe standard (e.g. PHPSESSID, JSESSIONID, etc.). En outre, il est très compliqué de désactiver la compression des réponses HTTP sans ralentir significativement le trafic et encombrer les tuyaux. En somme, CRIME s'applique aussi très bien aux réponses.

Son but était également d'éliminer la nécessité de se trouver sur le même réseau pour exécuter l'attaque. Pour cela, il a utilisé javascript. Il n'est pas nécessaire d'insérer du JS dans les pages du site qu'on souhaite attaquer. En théorie, la Same Origin Policy (SOP) va empêcher de requêter notre victime, soit. Mais on peut très bien, en javascript, insérer une image dont la source est une page sur le serveur cible. On contourne ainsi la SOP.

Le deuxième pré-requis est d'être en mesure de mesurer le temps que prennent les requêtes, et c'est très simple à faire en javascript également. Ici, la difficulté est de mesurer quelque chose qui a du sens. On est sur des petits messages, le lag réseau peut donc perturber l'analyse. Ceci dit, en prenant le temps le plus court sur 10 requêtes, son PoC fonctionne assez bien.

Tal a choisi le petit nom TIME (Time Info-leak Made Easy) pour son évolution de CRIME.

5. Invisibility purge - unmasking the dormant events of invisible web controls: advanced hacking methods for ASP.NET, Mono and RIA

Chay Chen [slides]

-> En quelques mots: chouette, un nouveau plugin ZAP pour attaquer .NET

Chay présente le résultat de ses recherches sur les contrôles cachés .NET, et sort SCIP, un plugin pour ZAP qui permet d'exécuter les méthodes associées à ces contrôles, même s'ils ne sont pas présents dans la page.

Pour résumer vite (et nous vous invitons plutôt à jouer avec l'outil), si un site codé en .NET dispose d'une variable VIEWSTATE et d'une variable EVENTVALIDATION (comme c'est très souvent le cas), vérifiez donc que l'un et l'autre sont bien protégés par un MAC (Message Authentication Code). Souvent, l'EVENTVALIDATION ne l'est pas. Rarement, c'est le VIEWSTATE qui ne l'est pas. Bref, si c'est le cas, vous pouvez utiliser SCIP pour chercher des contrôles et événements cachés, les faire apparaître et les exécuter.

Quelques conditions donc, pour que l'attaque fonctionne, mais pas mal de potentiel.

5 bis. To dock or not to dock, that is the question: using laptop docking stations as hardware-based attack platforms

Andy Davis [slides | whitepaper]

-> En quelques mots: méfiez-vous des stations d’accueil

Andy a une idée terrifiante : planquer un boitier espion dans un truc auquel tout le monde fait confiance - une station d'accueil. Il explique que c'est facile à remplacer, puisque personne ne les verrouille, qu'il y a la place d'y loger de l'électronique supplémentaire, et qu'en plus de ça, la station d'accueil est alimentée en permanence.

Ces stations d'accueil offrent une interface privilégiée, puisqu'elles donnent accès :

  • au contrôleur USB de l'hôte
  • à ses entrées/sorties diverses: audio, vidéo, réseau, série, PS2

Il a construit un petit prototype pour une station d'accueil DELL, en se basant sur un Raspberri PI et quelques extensions. L'approche est mignonne et carrément flippante, notamment avec cette station DELL qui offre plein de place.

Il conclue avec quelques éléments de réponse pour limiter la casse. La meilleure solution restant de ne pas faire confiance aux stations d’accueil du tout.

6. Hacking video conferencing systems

Moritz Jodeit [slides | whitepaper]

-> En quelques mots: mettez à jour les boîtiers HDX de Polycom

Nous attendions pas mal de cette conférence, et nous n’avons pas été déçus. En résumé, l'étude portait sur un Polycom HDX 7000 et :

  • le firmware est ouvert
  • les interfaces d'administration permettent d’obtenir un shell root à distance
  • on peut passer le boitier en mode développeur et disposer d’un shell root sans mot de passe.
  • Le meilleur pour la fin : Moritz a trouvé deux jolis format string bugs dans l'implémentation H323, et peut donc prendre la main à distance en root sur le HDX, sans qu'aucune des interfaces d'administration ne soit ouverte.

La présentation se termine sur une magnifique démo, on applaudit tous bien fort. Le gars de la sécurité de chez Polycom est présent et n'est pas enchanté, mais il connaissait déjà le contenu de la conférence. Apparemment, et c’est tout à leur honneur, les gens de chez Polycom ont été très collaboratifs ; ils ont sorti un patch corrigeant toutes les failles le jour précédant la présentation.

7. Who's really attacking your ICS devices?

Kyle Wilhoit [slides | whitepaper] 

-> En quelques mots: C'est la cyber guerre, les gens, planquez vos SCADA.

Une conférence relativement haut niveau (pas de détails trop techniques) mais assez fascinante. Kyle a mis en place un honeypot un peu particulier, puisqu'il se fait passer pour le système de gestion de l'eau potable d'une petite ville des Etats-Unis. L'objectif est de comprendre un peu mieux les attaques contre les systèmes SCADA (Supervisory Control and Data Acquisition) / ICS (Industrial Control System) et leurs enjeux.

Bref retour sur les protocoles classiques utilisés, comme DNP3 et modbus. Aucun des deux n'implémente d'authentification, encore moins du chiffrement. En revanche, ils sont complexes et mal compris. What could possibly go wrong?

Tout le monde lève les bras et crie: le honeypot s'est fait attaquer en beauté, les gens en face font du social engineering et maitrisent les protocoles (DNP3, modbus). Le honeypot a beau afficher des avertissements très explicites (en essence: "altérer ces systèmes pourrait avoir des conséquences catastrophiques", traduit en plusieurs langues, chinois compris), plusieurs attaques avaient clairement pour but de nuire gravement.

Origines : diverses. Chine en tête, USA juste derrière, Laos ensuite. Également, il y a une corrélation directe entre les événements géopolitiques et les attaques. Un jour après un sale coup diplomatique des USA en Corée du nord, bam, première attaque depuis là-bas.

8. Using D-Space to open doors

Brad Antoniewicz [slides non disponibles]

-> En quelques mots: demain c’est portes ouvertes

Brad montre comment s'attaquer aux cartes HID (ProxCards, ProxMark3, iClass cards) très répandues aux USA, nous parle de Wiegland, de fuzzer les contrôleurs pour les compromettre, d'accéder aux salles serveurs en 30 minutes et de s'en prendre à l'architecture en backend.

Pas d'invention de la poudre mais un panorama complet et intéressant des attaques contre RFID et toute la chaine derrière. En particulier :

  • On peut s'attaquer au lecteur de carte plutôt qu'à la carte. ce lecteur est relié à un contrôleur auquel il parle en utilisant un protocole très basique, Wiegland, qui utilise deux canaux électriques (DATA0 et DATA1) pour faire passer l'identifiant lu sur la carte. Pas de chiffrement, pas de protection particulière.
  • On peut s'attaquer contrôleur lui-même. Brad a testé récemment le HID VertX 2000, et c'est un peu la catastrophe. Le contrôleur a une interface web avec tous les bugs que vous avez en tête, et un serveur telnet. Il fait tourner un Linux, le compte root a un mot de passe intéressant ("pass") et non documenté, qu'on ne peut pas changer (le backend en dépend). En gros, si vous en trouvez un sur un réseau, c'est gagné. Le contrôleur garde en cache les cartes autorisées, et on peut modifier ce cache pour ajouter notre carte. Sans même s'attaquer au backend. Ça se verra dans les logs du backend, néanmoins, mais pas comme une erreur, juste comme une info. Il faut donc que les admins lisent les logs et les analysent de près.
  • Le contrôleur parle à la porte en utilisant une liaison série. Rejouer le message d'ouverture de la porte sur cette interface est trivial, et ne génère aucune trace en backend.
  • Le backend sur lequel s'appuie le contrôleur peut aussi être intéressant à attaquer. Brad a testé WebBrix et a découvert que tout passait de façon non chiffrée, que le service était blindé d'injections SQL, et qu'il utilisait le compte MSSQL sa, sans mot de passe.

Si vous vous demandez d’où vient le titre de la conférence, c’est une référence au roman Daemon de Daniel Suarez, dans lequel les personnages peuvent se déplacer librement dans le D-Space.

9. Multiplayer online games insecurity

Donato Ferrante & Luigi Auriemma [slides | whitepaper]

-> En quelques mots: It’s me, MAAAAAAAAAAAAAAAAAAA…[segmentation fault]

Donato et Luigi se sont penchés sur Steam et Origin, et ont tout cassé assez simplement. L’exploitation est très simple depuis un navigateur qui fait confiance aux handlers steam:// et origin://, comme c’est le cas chez beaucoup de joueurs.

Avant d’en arriver là, ils nous donnent des détails assez intéressants sur la surface d'attaque des jeux, et montrent comment l’optimisation extrême des protocoles réseau spécifiques aux jeux les exposent à de nombreux problèmes : soucis d’alignement, dépassement de zones mémoires, manipulations dangereuses d’entiers, tous les grands classiques sont revisités, au final. Deux trois attaques spécifiques sur des moteurs de jeux sont évoquées, mais rien de bien nourrissant. La lecture des slides est cependant instructive.

Globalement, c’était intéressant et bien tenu, mais on reste un peu sur sa faim.

10. Dropsmack: how cloud synchronization services render your corporate firewall worthless

Jacob Williams [slides | whitepaper]

En quelques mots: dropbox 1 / DLP 0

Jacob aborde le problème de Dropbox dans l'entreprise par l'exemple : on lui demande de pénétrer une société où la sécurité est visiblement bien intégrée : firewall, IDS, segmentation, anti-virus partout, postes à jour, utilisateurs sensibilisés, DLP. C'est tellement beau qu'on n'y croit pas un instant, mais bon, admettons.

Un coup de LinkedIn et le voilà avec l'adresse du CFO. Un mail ou deux plus tard, bam, le monsieur a ouvert une pièce jointe infectée... Mais le reverse shell ne sort pas du réseau. Rien ne sort à vrai dire. En gros, il a hameçonné un gros poisson, mais il n'arrive pas à le sortir de l'eau. C'est frustrant.

Même problème, même solution, ils hackent le laptop perso du CFO et se retrouvent sur son réseau domestique. Et constatent qu'il synchronise plein de documents sensibles, au nez et à la barbe de la solution de DLP. Pour cela, il utilise tout simplement Dropbox.

Ça lui donne une idée. Puisque Dropbox communique bien, il a un tunnel entre l'entreprise et la victime. Il implémente donc un petit service malicieux qui va scruter les fichiers du dépôt Dropbox et y lire les commandes à exécuter. La sortie des commandes peut être simplement stockée dans le même répertoire, et sera synchronisée en retour, vers le laptop ouvert.

Évidemment, son approche nécessite de prendre la main sur 2 machines au préalable, mais elle pose quand même une question intéressante : doit-on ou non autoriser l’utilisation d’outils de synchronisation dans le Cloud dans l’entreprise.

11. The End.

Fin de la dernière conférence, les lumières s'éteignent, il n'y a plus de café, plus rien à manger, et tout le monde file vers la gare. Un cru Blackhat EU honorable, avec un premier jour un peu terne sauvé par un second nettement plus positif. Beaucoup de sponsors, trop peu de contenu technique à notre goût et une organisation très effacée (aucun événement sorti des repas) on rendu l’ensemble un peu triste. Une fois de plus, cependant, c’était l’occasion de retrouver plein de gens passionnants pour prolonger les débats et en lancer de nouveaux. Et c’est un peu l’essentiel, au bout du compte.