BruCON ? Wat?? Waar?? Wanneer??

Sécurité des applications
BruCON ? Wat?? Waar?? Wanneer??

La BruCON est une conférence annuelle dédiée à la sécurité informatique qui s’est déroulée cette année les 27 et 28 octobre à Gand (et non à Bruxelles, comme son nom pourrait le faire croire).

Cet événement a été précédé par deux séances de formation permettant à tous d’améliorer ses connaissances théoriques et pratiques sur les nouvelles techniques d’intrusion dans des environnements spécifiques ou encore en termes de réponse à incident :

  • Spring training, du 20 au 22 avril 2016
  • Security training, du 24 au 26 octobre 2016

Nous avons notamment apprécié la diversité des thématiques abordées et la qualité des workshops et conférences, en particulier concernant : la sécurité en environnement industriel, la réponse à incident ou encore le hacking d’équipements embarqués et connectés (IoT).

La BruCON est organisée dans les locaux de l’Académie de l’Université de Gand. Celle-ci se déroule dans une ambiance conviviale et agréable où les participants à la conférence échangent facilement entre eux. Belgique oblige, d‘excellentes bières sont proposées facilitant la prise de contact et les échanges.

Son fonctionnement est spécifique, car de multiples salles (qui portent d’ailleurs des noms de bières belges connues tels qu’Orval, Westvleteren, etc.) sont disponibles et présentent chacune des sujets différents. Il faut donc effectuer un choix (souvent entre un atelier, qui peut durer jusqu’à 3h, ou une conférence).

Nous avons donc souhaité effectuer un retour sur les conférences et ateliers qui nous ont le plus marqués.

Dès notre arrivée, nous avons beaucoup apprécié l’ambiance « geek » de la conférence.

À titre d’exemple, l’étage du haut était consacré aux jeux vidéo « old school » tandis qu’à l’étage du bas, un « wall of sheep » affichait des statistiques sur les accès au Wi-Fi visiteur (interception et affichage des images web téléchargées par les visiteurs, scan de vulnérabilités sur les postes connectés, …) dans le but de démontrer les dangers de l’utilisation de protocoles en clair sur un réseau sans-fil non-sécurisé.

Une conférence en sécurité ne peut être complète sans son « hackathon ». Celui-ci se déroulait dans une salle dédiée où par ailleurs plusieurs ateliers étaient présents afin de se former sur les environnements SCADA.

Cet espace ludique disposait de plusieurs travaux pratiques et « challenges » encadrés par des professionnels.

Les maquettes présentes étaient nombreuses (PLC/automates de divers constructeurs, systèmes contrôlés tels que des pompes actionnables à distance) et particulièrement complètes. De quoi s’initier (ou confirmer ses connaissances) à la sécurité des systèmes industriels.

 

Présentations des ateliers ou « workshops »

 

L’un des avantages majeurs de cet événement est la présence de plusieurs workshops ou ateliers complets d’une demi-journée.

 

Workshop1 : The control things workshop                                                        

Le premier Workshop auquel nous avons pu participer était celui de Justin Searl. Cette très bonne introduction sur les systèmes de contrôle était un résumé d’une formation plus complète se déroulant sur plusieurs jours.

Justin Searl a rappelé, et ce à juste titre, les risques en termes de sécurité que représentaient les environnements DCS (Distributed Control System) et SCADA (Supervisory Control And Data Acquisition). Il a notamment pris l’exemple d’une usine métallurgique allemande qui a été victime d’une intrusion au niveau de son réseau industriel entrainant une dégradation d’un haut fourneau.

Afin de mettre en avant ces risques, le présentateur nous a proposé une mise en pratique avec un automate/PLC Velocio ACE. Celui-ci est particulièrement adapté à la formation, car son achat représente un faible investissement (60 euros environ) et est programmable par USB avec un logiciel gratuit (ce qui est relativement rare pour un automate). Il est même possible de les empiler les uns à la suite des autres afin de réaliser un cluster d’automates, étendant le nombre d’entrées/sorties disponibles.

Le formateur avait programmé chaque PLC pour simuler un système de pompe permettant de créer des solutions aqueuses. Le but était de démontrer qu’il était possible d’agir sur celui-ci de manière informatique.

Le protocole « modbus » est utilisé pour son contrôle. Comme la majorité des systèmes de contrôle, celui-ci n’embarque pas de mécanisme de sécurité :

  • L’envoi de requête ne nécessite pas d’authentification
  • Les requêtes ne sont pas chiffrées
  • Aucune journalisation des événements n’est implémentée

Les contrôleurs vulnérables prennent donc en compte toutes commandes qui leur sont envoyées. Ainsi, à travers plusieurs exemples ludiques, nous avons pu altérer les enregistrements de la carte fournie par l’envoi de quelques requêtes spécifiques. 

 

Workshop 2 : Hunting malware with osquery at scale

Le deuxième Workshop auquel nous avons pu participer était présenté par trois ingénieurs sécurités travaillant chez Facebook sur le projet Osquery (osquery.readthedocs.io/en/Stable). Il s’agit d’une solution développée et utilisée par Facebook pour centraliser les requêtes d’informations système sur un parc informatique de volume important (fonctionne sur un réseau de plus de 10.000 machines sous Windows/Linux/OS X). Il a la particularité de fonctionner à la manière d’un moteur SQL où l’on interroge une machine comme si celle-ci était une base de données.
Le but de ce type de solution est multiple :

  • Investigation numérique à la recherche d’éléments compromis
  • Recherche de comportements suspects sur tout le parc de manière régulière

Osquery fournit facilement de nombreuses informations utiles dans le cadre d’une recherche d’indications de compromission : nom de la machine, utilisateurs, processus démarrés et en écoute sur un port, récupération de fichiers sur le système, etc...

Nous avons pu utiliser cet outil et avons notamment constaté son utilité sur une ferme de serveurs de taille importante. En effet, il est possible d’aller interroger en une seule commande l’ensemble des serveurs enregistrés sur la solution.

En bref, cet atelier nous a donné une initiation complète et de qualité (par les auteurs du projet eux-mêmes) sur une solution qui va probablement se démocratiser d’ici quelques années.

 

Présentation des conférences

 

 

No easy Breach – Mandiant

Matt Dunwoody de la société Mandiant, spécialisée dans la réponse à incident, est revenu sur les différents types d’attaques qu’il a pu rencontrer durant ses missions. Il a présenté notamment une intervention de sa société sur un groupe d’attaquant qui avait ciblé un de leurs clients durant plus de neuf mois et mobilisé cinq investigateurs sur cette période. La compromission du système d’information de la victime était alors globale dès le début de leur intervention.

Il a fait le constat que la majorité des attaques a pour objectif le vol de données confidentielles. Les attaquants utilisent quasi systématiquement des techniques pour se camoufler et contrer les analyses forensics :

  • Compromission d’un serveur tiers afin de l’utiliser comme rebond pour mener les attaques
  • Surcharge massive du réseau de la victime afin de dissimuler les requêtes d’intrusion et leurs véritables intentions
  • Mise en place de sondes afin de monitorer les activités de la victime et d’identifier le plus rapidement possible les contre-mesures prises
  • Utilisation de techniques d’intrusion avancées et rares à l’époque de la compromission (Kerberos, WMI, …)
  • Mise en place de différents types de portes dérobées combinées avec des techniques d’obfuscation (base64, zlib, aes)
  • Changement fréquent de méthodes d’intrusion, de déplacement latéral et d’exfiltration, forçant les investigateurs à analyser des centaines voire milliers d’échantillons
  • Utilisation de services basés aux États-Unis (Gmail, Onedrive, etc.) afin de ralentir les investigations

Tout ceci a forcé les investigateurs à changer leurs méthodes traditionnelles d’analyse par une approche plus pragmatique.
Matt Dunwoody a donc présenté quelques démarches utilisées dans le cadre de ses prestations :

  • Oublier l’analyse en détail de chaque échantillon (vu le nombre, ils y seraient encore aujourd’hui)
  • Analyser dans le temps la quantité de données échangées sur le réseau
  • Prendre le temps d’analyser les traces réseau, trouver les bonnes alertes en combinaison avec des signatures de techniques d’intrusion
  • Préférer l’utilisation de différentes solutions OpenSource de manière combinée
  • Analyser de manière approfondie une machine impactée et étendre chaque indicateur à tout le parc
  • Utiliser des indicateurs spécifiques afin d’identifier l’utilisation de Mimikatz et des Golden tickets
  • Rechercher des WMI persistants, script Powershell malveillant…
  • Analyser les journaux d’événements PowerShell (Création d’un script spécifique par le présentateur disponible sur GitHub)

Cette présentation était très intéressante et permettait de mettre en lumière les nouvelles techniques d’intrusion toujours plus sophistiquées réalisées par les attaquants aujourd’hui. Cela a également été l’occasion de démontrer la difficulté toujours croissante pour les entreprises à réagir à ce type d’incident.

 

Hacking KPN : Lessons from the trenches

Bouke van Laethem et Jeremy Goldstein sont deux auditeurs internes de la Royal Dutch Telecom (KPN - société qui avait été victime d’attaques en 2012 : des centaines d’adresses et d’identifiants avaient alors été subtilisés chez KPN). Ils étaient là pour faire un retour d’expérience sur différentes vulnérabilités qu’ils ont découvertes durant leur prestation de tests d’intrusion et de red team. Ils ont ainsi présenté les difficultés qu’ils ont pu rencontrer lors de l’exploitation de ces trois thèmes :

  • Exécution de code à distance à partir d’une vulnérabilité de type « Java Deserialisation » sur une application web
  • Vol de session d’un utilisateur de la solution Citrix NetScaler par le biais d’une redirection non autorisée (CVE-2016-9028)
  • Reverse-engineering sur un module de chiffrement d’un binaire.

Nous avons apprécié le retour d’expérience des présentateurs sur des problématiques que nous rencontrons également au quotidien lors de nos tests d’intrusion chez Advens. En effet, ils ont souligné toute la difficulté de la phase d’exploitation d’une faille, qui est l’un des éléments différenciant d’un test d’intrusion par rapport à un scan de vulnérabilités. Cette approche permet d’identifier les risques réels pour l’application ou le système ciblé.

 

How to hack a router – JTAG/SPI

Un pentester d’EY (Ernst&Young) en Belgique nous a fait une démonstration de hacking hardware sur un routeur sans-fil grand public.

Son but était de prendre la main sur l’équipement, sans bien sûr en connaître le mot de passe d’administration.

L’intérêt de cette conférence était qu’il effectuait toute la manipulation en direct (à l’aide notamment d’une caméra projetée pour voir ce qui se déroulait sur le circuit électronique du routeur). Il a ainsi expliqué comment abuser des diverses connectiques utilisées principalement par les ingénieurs du constructeur pour déboguer leur système : JTAG, UART ou port série, SPI.

Durant sa présentation, il démontra qu’il était facile d’identifier le port série et de brancher des sondes afin de capturer le flux de celui-ci. Des informations de débogage ainsi qu’une invite d’authentification ont pu être récupérées, mais pas le contrôle du routeur en tant qu’administrateur.

Il persista en interrogeant le port JTAG du routeur à l’aide d’un Shikra et d’OpenOCD et montra qu’il y avait une possibilité de manipuler la mémoire du système et de le déboguer en direct. Il manqua cependant d’informations, notamment sur les différentes zones de mémoire et sur le firmware en lui-même.

Qu’à cela ne tienne, il chercha la mémoire principale comprenant le firmware et, à l’aide du bus SPI présent sur la mémoire, récupéra l’ensemble de celle-ci en environ une minute.

Muni de cette information, il prit même le temps de faire une analyse du firmware rapide afin d’extraire le fichier à modifier et d’en prendre le contrôle. Il recompila ensuite le firmware contenant un compte système supplémentaire et l’écrivit sur la mémoire, de la même manière qu’il avait lu la mémoire par le bus SPI.

 Lorsqu’il redémarra l’équipement, il montra que ses manipulations n’étaient pas vaines et obtint un accès administrateur.

Petit bonus : lors de l’analyse du firmware, il identifia dans les chaînes de caractères extraites des données étranges après le chargement de celui-ci (ce qui était affiché notamment lors de la connexion sur le port série).

Il redémarra alors une seconde fois l’équipement et nous fit la démonstration d’une porte débordée déjà présente à l’origine sur l’équipement en tapant la phrase qu’il avait identifiée précédemment. Deux méthodes ont pu donc être identifiées afin d’obtenir les droits administrateurs sur le routeur.

En résumé, nous avons apprécié la prise de risque du présentateur pour avoir fait de la manipulation hardware en direct (déjà qu’en général les démonstrations « soft » ne marchent pas toujours).

 

Conclusion

 

Nous avons particulièrement apprécié l’ambiance ainsi que les workshops de très bonne qualité. Ces derniers sont effectivement bien plus animés qu’une conférence et permettent de réellement se former sur un sujet. Nous recommandons toutefois de réserver à l’avance la participation aux ateliers, car ceux-ci sont rapidement complets.

Sébastien CALBA, Auditeur Sécurité, Advens
Loïc Castel, Auditeur sécurité, Advens