Hackito Ergo Sum 2015

Cette année Intrinsec était présent à la conférence Hackito Ergo Sum qui se déroulait à la Cité des sciences et de l’industrie.

Les slides et vidéos des conférences devraient être disponibles sous peu.

Keynote by FX from Phenoelit

La conférence a démarré par une keynote divisée en deux parties. La première déroulant les différents aspects du hacking et du hacker de ces dernières années jusqu’à aujourd’hui. La deuxième partie a fait une analogie entre les cellules humaines avec une machine de Turing en démontrant que chaque mécanisme biologique dont est capable une cellule est similaire aux mécanismes rencontrés dans la machine. En considérant cela, le corps humain serait alors vu comme un cluster de machine de Turing. En effet l’ensemble des quatre éléments composant la machine se retrouve dans le corps humain : le ruban est l’ADN, la tête de lecture est l’ARN Polymérase, le registre d’état est l’ARNm et la table d’action est assimilée aux ribosomes. La seule différence notable entre ces deux entités est alors le temps de traitement de l’information, nettement plus long dans le cas du corps humain.

 

Applying machine learning methods to network mapping hunting – Camille Mougey & Xavier Martin

Cette présentation est une démonstration de l’utilisation du logiciel IVRE (Instrument de Veille sur les Réseaux Extérieurs), développé par le CEA. Cet outil a pour objectif de simplifier l’analyse des résultats de scans réseau à grande échelle, avec un objectif double : pour la Blue Team, connaitre la topologie réseau et en détecter les anomalies; pour la Red Team, obtenir des informations, observer les évolutions d’une cible dans le temps et trouver des éléments d’informations pertinents.

Grâce aux techniques de Machine Learning, il est possible de faire en sorte que les résultats soient analysés automatiquement par un serveur, sans avoir besoin d’une analyse humaine qui prendrait plus de temps et pourrait comporter des biais. L’outil est par exemple capable de créer des groupes de machines similaires (serveurs web, imprimantes …), permettant ainsi l’identification des machines isolées.

IVRE est disponible sur GitHub : https://github.com/cea-sec/ivre

 

Cracking Sendmail crackaddr – Still a challenge for automated program analysis – Bogdan Mihaila

Bogdan Mihaila est un chercheur en informatique travaillant pour l’université de Munich (« Technical University of Munich »). Ses recherches se focalisent sur la création d’un modèle mathématique permettant de mettre en évidence des erreurs de programmation telle que, dans le cas présenté, un buffer-overflow.

Cette erreur a été découverte en 2003 lors d’une relecture du code de l’application sendmail et reste un exemple concret de la difficulté que peut représenter la recherche d’erreurs dans un programme informatique. Comme l’erreur « goto fail » dans OpenSSL, ce buffer-overflow résulte d’un oubli d’implémentation dans le code. Lors du traitement d’une adresse mail, l’une des variables permettant de limiter le nombre de parenthèses imbriquées n’est pas décrémentée et l’utilisation successive de cinquante « () » dans l’adresse mail permet d’exploiter ce buffer-overflow. Concrètement, ce type d’erreur ne peut actuellement pas être détecté sans la relecture manuelle du code.

Bogdan Mihaila s’est donc intéressé à ce « Sendmail crackaddr challenge », à savoir comment détecter ce type d’erreur. Pour y arriver, il se base sur un langage assembleur simplifié qu’il parcourt à l’aide de chaînes de Markov. En cas de buffer-overflow, les variables analysées par le programme ne sont plus bornées, la faille est détectée.

 

Complex malware & forensics investigation – Paul Rascagnères & Sebastien Larinier

Paul et Sebastien ont présenté leur outil FastIR Collector, version évoluée de feu FastResponder. Cet outil permet de récupérer les différents artefacts présents sur une machine tournant sous Windows de manière automatisée, afin de détecter d’éventuelles traces de compromission. Son but est d’aider les reverseurs et analystes forensiques durant leur recherche d’IOC et leur permettre un gain de temps considérable.

Au travers de 6 exemples de malware, les deux chercheurs ont présenté différents cas d’utilisation de l’outil et ce qu’il était possible de récupérer. Ils ont ainsi pu retrouver des malwares utilisant des clés de registre ne s’affichant pas dans regedit, car ils utilisent l’encodage Unicode dans leur nom ou encore, car ils stockent du code JavaScript en valeur, code ensuite utilisé lors de l’infection.

FastIR est disponible sur GitHub : https://github.com/SekoiaLab/Fastir_Collector/

 

Mind your languages! – Olivier Levillain & Pierre Chifflier

Les deux chercheurs sont allés au-delà de la sécurité applicative et se sont intéressés à la sécurité intrinsèque des langages. La présentation est essentiellement composée d’exemples en JavaScript, PHP, Java, Ruby, Perl, Python et OCaml présentant des résultats inattendus ou illogiques.

 

Malicious AVPs: Exploits to the LTE Core – Laurent Ghigonis & Philippe Langlois

Les deux chercheurs de P1 Security ont présenté une vulnérabilité touchant les DRA (Diameter Routing Agent) utilisés par les opérateurs de télécommunication. Cet équipement est central dans la gestion des réseaux mobiles LTE puisqu’il permet de router correctement l’ensemble du trafic d’un opérateur. Il s’agit de la suite de la présentation de Laurent faite au HES2014.

Après un rappel sur le fonctionnement des réseaux LTE, la présentation s’est orientée vers les détails techniques de l’attaque qui exploite une vulnérabilité dans l’implémentation du protocole DIAMETER (le successeur de RADIUS) sur ces routeurs. En effet la longueur d’un champ n’est pas correctement vérifiée, ce qui permet d’exploiter une vulnérabilité de type stack-overflow.

Après une nuit d’exploitation, les chercheurs ont réussi à exploiter correctement la vulnérabilité et obtenir un terminal administrateur sur l’équipement. À partir de ce moment, ils leur auraient été possibles de couper le réseau 4G de l’opérateur.

 

Android malware that won’t make you fall asleep – Lukasz Siewierski

Les malwares Android sont ennuyeux. Ils ne sont pas obfusqués, font ce qu’ils prétendent et n’utilisent pas de code natif, uniquement l’API standard. C’est pourquoi personne ne les étudie. Donc Lukasz s’est mis à les étudier.

Après une petite analyse de manifest.xml, notamment sur les problèmes d’interprétation sur le système permettant de réécrire le nom du package en insérant du code XML, il présenté plusieurs malware utilisant des biais intéressant pour s’exécuter.

Le premier enregistre une DLL en mono dans le SMSReceiver. Cette bibliothèque va chercher un script Lua sur le Command & Control pour savoir quoi faire. Donc sans le C&C le malware n’exécute aucune commande.

Le second enregistre des interfaces JavaScript pour que l’attaquant puisse exécuter ce qu’il souhaite juste en envoyant du JavaScript dans une page web.

Le troisième fait de  »l’application overlay » : il ouvre une boite de dialogue (login) lorsqu’une application légitime est lancée, ce qui fait croire qu’elle demande à nouveau les identifiants alors qu’ils seront envoyés au malware.

Des personnes ont également repris l’application  »text secure » (devenu maintenant  »signal ») pour y insérer un trojan avant de la redistribuer comme « Application de sécurisation des SMS ».

Ce malware fait des choses différentes en fonction des caractères spéciaux reçus en début de sms, par exemple :

  • / : Il redirige le sms vers un numéro
  • ! : Il se désinstalle.

C’est pourquoi, maintenant des banques polonaises envoient les OTP dans des SMS qui commencent par !

Enfin la conférence s’est terminée sur des éléments techniques concernant fonctionnement d’Android. Les SMS utilisent un système de port (comme dans TCP ou UDP) pour savoir si les messages sont des SMS classiques, WAP push, etc. Certains ports sont libres, et par défaut le téléphone ne fait rien avec, pas de notification, etc. Il pourrait donc être possible de les utiliser pour envoyer des ordres au téléphone de manière invisible.

 

Mechanical Locks Opening and Forensic Analysis – Alexandre TRIFFAULT

Cette conférence sur le lockpicking traite des traces laissées physiquement par les intrus utilisant des attaques non destructives pour forcer les serrures.

La présentation commence par une démonstration en direct de 4 techniques d’attaque ne laissant pas ou peu de traces visibles à l’œil nu :

  • Single picking : utilisation d’un kit de lockpicking classique
  • Pistolet électrique : utilisation d’un pistolet électrique pour frotter les goupilles
  • Pistolet manuel : même technique que précédemment, mais à activation manuelle
  • Bump Key : utilisation d’une clé spéciale et d’un marteau pour forcer l’ouverture

À l’aide d’un microscope, Alexandre a mis en évidence les différentes traces laissées sur les différents éléments de la serrure, principalement sur les goupilles. Bien qu’invisibles sans outils, ces traces sont spécifiques et permettent d’identifier l’attaque utilisée pour ouvrir la porte. Cependant, cette analyse est destructive puisqu’il faut démonter la serrure pour en extraire les goupilles.

 

Pentesting airports: field experiences – Raoul « Nobody » Chiesa

Raoul Chiesa et son équipe ont eu l’occasion de réaliser leur rêve : pentester un des plus grands aéroports Européens. Malgré quelques divergences au niveau du tarif de la prestation, dû à la méconnaissance du client sur le sujet, ils ont été sélectionnés pour réaliser une prestation de sécurité complète.

Après quelques anecdotes sur ses expériences personnelles et son implication dans le milieu de la sécurité, Raoul Chielsa a présenté les résultats du pentest réalisé avec son équipe : SecurityBroker. Pour une entité d’une telle importance et envergure, on peut s’attendre à une sécurité exemplaire, mais la surprise est de taille. En effet, outre les classiques vulnérabilités sur les produits communs tel qu’OpenSSL, on retrouve également les sessions NULL SMB, les réseaux WiFi invités permettant d’accéder au réseau interne de l’aéroport, des interfaces d’administration accessibles avec des identifiants triviaux ou par défaut, etc. Ainsi il leur a été possible d’accéder aux bases contenant les informations personnelles de l’ensemble des passagers ayant transité dans l’aéroport, aux scanners de la douane ou encore de modifier les informations des panneaux d’affichage de l’aéroport (qui n’en a jamais rêvé ;)).

Au final on peut s’interroger sur la sécurité des aéroports, infrastructure pourtant critique. Cet exemple est flagrant, mais la plupart de ces vulnérabilités ont été également retrouvées lors de pentest officieux dans d’autres aéroports dans le monde.