SecurityInsider
Le blog des experts sécurité Wavestone

Compte-rendu de la Rooted Con 2015 : Journée #3




Bend the developers to your will






10:00 – 11:00 par Miguel Tarasco




Le message de ce talk est simple : "développeurs, ne compilez pas du code récupéré auprès d'une source non fiable (github, internet etc.)...il est très simple pour un attaquant d'y cacher du code malveillant."
L'auteur a ensuite détaillé différents vecteurs pour cacher du code exécutable au sein de fichiers qui ne sont pas censés en contenir (fichiers ressources/manifest/cs.proj etc.) et ceux pour plusieurs chaines de compilation :
  • Make, pour UNIX ;
  • MsBuild et Visual Studio, pour Microsoft ;
  • Gradle, pour l'IDE Android Studio ;
  • Xamarin, pour Mono ;
  • Visual Studio.

Trois conseils prodigués par le speaker :
  1. Ne jamais faire confiance à code inconnu ;
  2. Faire une revue de tout code inconnu ;
  3. Utiliser des machines virtuelles/sandbox et ne pas compiler avec les droits "root"









 (In)securité dans le grand casino





Titre original : (In)seguridad en el gran casino
11:00 – 11:30 par Pablo Casais



Le "grand casino" mentionné dans le titre de ce talk fait référence aux activités des banques d'investissement, l'auteur ayant choisi de détailler les vulnérabilités affectant une solution logicielle très utilisée pour les activités de trading.
Le principe de fonctionnement de cette solution est le suivant : un client lourd Java se connecte à un serveur de fichier en HTTP et une passerelle, qui permet de passer des ordres et qui est connectée à des bases de données.

De la conception jusqu'à l'implémentation, de nombreuses failles sont à recenser :
  • Une faille de type Path Traversal affecte le serveur de fichier et permet la consultation de tous les fichiers du serveur, dont le fichier de configuration comprenant les authentifiants de bases de données ;
  • Dans ce fichier de configuration, les mots de passe sont chiffrés avec un algorithme maison utilisant une clé générique au produit...qui est évidemment renseignée au sein du client lourd Java. L'attaquant peut ainsi se connecter directement à la base ;
  • Ensuite, l'auteur s'est rendu compte que la vérification 4-yeux (front office + backoffice) pouvait être outrepassée dans la mesure où l'envoi d'ordres au routeur n'est pas authentifié : les WebServices peuvent être directement consommés, les schémas sont accessibles sur le serveur de fichier, via la vulnérabilité Path Traversal.

En conclusion, l'auteur a souhaité mettre en perspective le niveau exécrable de la solution avec les montants des transactions effectuées et en l'absence de correction par l'éditeur, a émis les recommandations suivantes :
  • Tracer les activités des traders et le backoffice sur la solution ;
  • Protéger le serveur de fichier avec un WAF et filtrer les accès directs à la base de données ;
  • Désactiver les interfaces inutiles.











Amplification de l’arsenal d’outils pour les attaques WiFi





Titre original : Ampliando el arsenal de ataque Wi-Fi
12:00 – 13:00 par David Perez y José Picó



Les auteurs de ce talk ont souhaité présenter les différents outils open-source qu'ils ont eux-mêmes développé dans le cadre de mission impliquant des attaques WiFi.
Rien de nouveau si ce n'est que les scripts, en Python, ne se basent par sur la suite aircrack mais permettent néanmoins de :
  • Visualiser en temps réel les réseaux accessibles (lk_wiclitatoo.py) ;
  • Extraire automatiquement des données depuis des captures Kismet (lk_k2db.py);
  • Trouver la position optimale pour recevoir un signal, avec un bip sonore de plus en plus fréquent (lk_wifi_device_finder.py).
  • Mettre en place un point d'accès malveillant en pouvant limiter la connexion à un constructeur précis, par exemple une plateforme mobile spécifique (iOS, Android etc.) (lk_hostap_patch-v1.0.tgz);
  • Lors de leurs missions, les auteurs indiquent qu'ils prennent un soin particulier à ne pas être détectés : ils ont notamment évoqué la réalisation d'attaque dans des lieux publics :



Pour cela ils ont fabriqué une structure en bois pouvant être cachée au sein d'un coffre de moto, utilisant de multiples antennes directionnelles pouvant être orientées grâce à des moteurs (lk_beam_finder.py) :













And last but not least…





Titre original : Y por último, pero no por ello menos importante…
13:00 – 14:00 par Hugo Teso



Hugo Teso est le chercheur en sécurité qui avait déjà fait parler de lui l'année dernière en dévoilant qu'il était possible d'attaquer un système de contrôle utilisé sur les avions commerciaux.
Il récidive cette année en présentant :
  • Un simulateur de gestion d'une compagnie aérienne, qu'il a développé et qui affiche des informations publiques et en temps réels sur les vols dans le monde ;
  • L'architecture technique des principaux produits du marché utilisés au sein d'avions commerciaux, entre autres basés sur le noyau RTOS ;
  • Des vulnérabilités affectant ces produits, découvertes en analysant leurs firmwares avec des outils tels binwalk ou radare2 : il insiste sur le fait que ces vulnérabilités sont classiques (buffer overflow) et que leur exploitation est simple dans la mesure où aucune protection courante, tels que le bit NX ou la compilation en PIE, ne sont mises en place.


L'auteur a terminé par indiquer qu'il était en train de rédiger un livre traitant de la sécurité des systèmes aéronautiques ; que le contenu serait accessible à des populations techniques et non-techniques et que ce livre serait gratuit et open-source.
À la fin du talk, Roman Ramirez a souhaité faire écho au talk de l'année précédente en révélant qu'il avait proposé au constructeur visé qu'Hugo vienne faire une démonstration, le constructeur accusant Hugo de mensonge, et qu'il était prêt à :
  • Prendre en charge tous les frais nécessaires ;
  • Affirmer publiquement qu'Hugo serait un menteur si la démonstration n'était pas probante. 
    • Le constructeur n'a jamais répondu...








Physical Penetration Testing





15:30 – 16:30 par Eduardo Arriols



L'auteur a présenté les différentes phases pour mener à bien une intrusion physique. De nombreuses astuces ont notamment été évoquées pour les étapes de :
  • Reconnaissance, par exemple utiliser des drones, intercepter les communications radio ou encore visiter le site cible de nuit afin d’entrevoir les locaux :

  • Intrusion, afin de contourner les protections physiques :
    • Pour les contrôles d'accès par badge : dupliquer un badge volé ou scanné dans une poche d'une victime :

  • Pour les détecteurs de mouvement :
    • Par infrarouge : se munir d'une couverture de survie et marcher lentement ;

    • Par capteur photosensible : faire pointer un stylo-laser en direction du détecteur.









Can I play with madness ?





16:30 – 17:30 par Chema Alonso



Chema Alonso a présenté l'outil Path5 développé par une équipe de la société ElevenPath et qui consiste en une gigantesque base de données récupérant automatiquement toutes les applications gratuites disponibles sur Google Play.
Suite à la récupération d'une application, de nombreux traitements sont réalisés, dont entre autres :
  • La décompression et l'indexation de tous les fichiers plats utilisés ;
  • Le parsing automatique des URL au sein du code ; 
  • La récupération des méta-données liées à l’application : nom du développeur, clé publique ayant signé l'application etc.

Au total, 50 points de contrôle sont vérifiés.

L'idée générale est de décortiquer systématiquement toutes les ressources d'une application et de les indexer au sein d'un système de "big-data". 
Partant du constat que l'analyse de code dynamique ou statique est toujours autant faillible ("code is a wall you go against and against. attackers how to avoid being detected"), Chema propose de corréler des données afin de trouver des singularités et des anomalies plutôt que de tenter de détecter.
La force de cet outil semble être de permettre à un analyste de pouvoir facilement corréler des données à large échelle afin de détecter d'éventuels comportement malveillants, par exemple en :
  • Listant les applications partageant des ressources communes, qui seraient suspectes (JavaScript ou URL malveillantes) ;
  • Listant toutes les applications publiées par un même compte soupçonné de diffuser des malwares et tenter de trouver d'autres comptes similaires ;
  • Détecter les comptes développeurs malveillants, dont l'activité principale est de repackager des applications légitimes en incluant du code malveillant ;

L'auteur a réalisé plusieurs démonstrations afin de montrer la pertinence de l'outil et a également évoqué d'autres outils développés par ElevenPath étant en lien avec le big data, notamment Sinfonier qui permet de construire facilement des chaines de traitement de données.









Android: Back to the Future (Too? or Two?)





18:00 – 19:00 par Raúl Siles



L'auteur a présenté ici le résultat de ses recherches axées sur le fonctionnement du processus de mise à jour système OTA sur Android.
La principale observation est que les mises à jour sont réalisées à travers le protocole non chiffré HTTP et qu'il est ainsi possible, via une interception de flux, d'altérer les requêtes émises dans le but de "mentir" sur la version actuelle.
En faisant cela, l'auteur a pu downgrader son téléphone depuis la version Android 4.4.3 vers 4.4.2
En détaillant les étapes de son analyse, l'auteur en a profité pour présenter un plugin pour l’outil BurpSuite qu'il a dû développer afin de pouvoir altérer les requêtes impliquées dans le processus de mise à jour, ces requêtes utilisant le protocole de sérialisation "protobuf" développé par Google.









Bypassing DRM Protections at Content Delivery Networks





19:00 – 20:00 par Adrian Villa



Ce dernier jour se termine par cette présentation dont l'objectif a été de détailler les vulnérabilités identifiées sur quelques plateformes de streaming en ligne :
  • Nubeox ;
  • Netflix ;
  • WuakiTV ;
  • TotalChannel ;
  • Orange TV.

L'auteur a tenu a rappelé que les vulnérabilités suivantes ont pu être découvertes par l'analyse des flux HTTP et par des étapes d'ingénierie inverse des « players » clients lourds (Flash, Silverlight) : aucune attaque n'a été menée côté serveur.
L’architecture des systèmes "Over-the-top" permettant la diffusion de contenu (VOD ou direct) a été présentée et comprend :
  • Un serveur Web, pour l’authentification des utilisateurs ;
  • Un serveur de DRM, pour la gestion des protections des contenus diffusés ;
  • Une infrastructure CDN pour la diffusion des contenus ;



Les différents types de failles affectant ces plateformes ont ensuite été dévoilés :
  • Identification du player : souvent basée sur un hash unique par client calculé et transmis par le player, il est ainsi possible de réutiliser le même hash pour tout le monde ;
  • Limitation d'accès au contenu via le domaine d'accès : les plateformes utilisant un player Flash limitent généralement les domaines depuis lesquels il est possible d'accéder au contenu via un fichier crossdomain.xml positionné à la racine. En altérant cette URL au sein du client Flash par une URL maitrisée par l'attaquant (et plus permissive que l'originale), il est possible de contourner cette limitation;
  • Limitation d'accès au contenu par hash : un serveur de contenu peut limiter l'accès via un hash généré par le serveur d'autorisation et renvoyé au client. Ce hash devant être unique, il prend généralement en entrée l'IP du client...qu'il est possible d'usurper via un entête HTTP X-Forwarded-For...;
  • Chiffrement des flux : l'auteur indique que certaines plateformes effectuent un chiffrement des flux...avec des paramètres calculés côté client;
  • Protocoles propriétaires et obfuscation de code des clients lourds : pour rappel, ces mesures visent à ralentir l'analyse et ne constituent aucunement des mesures de sécurité.

Enfin et à des fins de PoC, l'auteur a développé une plateforme concentrant les différentes failles pour se construire un "video club" : la plateforme a pour rôle de communiquer avec les serveurs d'autorisation et de DRM, tandis que le contenu diffusé par le CDN est directement retourné au client.








Conclusion

Cette conférence reflète la volonté du fondateur de l’évènement, inchangée depuis la première édition, de proposer un nombre élevé de conférences (24 talks en 3 jours, un record absolu), en  faisant intervenir différents types d’interlocuteurs (hackers stars, professionnels de la SSI, amateurs, chercheurs académiques, avocats etc.) sur des sujets pragmatiques, dans un cadre fort agréable…tout en restant financièrement abordable.

Un pari assurément réussi pour cette édition, nous reviendrons c’est sûr.


Thomas DEBIZE

Aucun commentaire:

Enregistrer un commentaire