Compte rendu : Hack In Paris 2013

Intrinsec était présent à la troisième édition de Hack In Paris, du 20 au 21 juin, dont le thème principal était le BYOD. Voici le compte-rendu des meilleures conférences de ces deux journées.

Première journée

Remoting android applications for fun and profit

par Damien Cauquil & Pierre Jaury

Damien Cauquil et Pierre Jaury ont donc développé trois outils : Fino, Gadget et Client. Le principe est le suivant : on décompile une application Android, on fusionne le code avec celui de Fino, on recompile et installe la « nouvelle » application sur son smartphone, on lance l’application Gadget qui fait office de proxy et on peut ensuite contrôler l’application depuis son ordinateur, en Python, en utilisant Client. Client communique avec Gadget en utilisant TCP (typiquement l’ordinateur et le smartphone sont connectés au même réseau WiFi) et Gadget communique avec l’application en utilisant Fino qui y est injecté. Le tout facilite la rétroingénierie d’une application Android. Les démonstrations de fuzzing de répondeur DTMF et de triche à un jeu en seulement quelques minutes étaient plutôt marquantes. Le code est disponible sur Github.

The Security of MDM (Mobile Device Management) systems
par Sebastien Andrivet

Sebastien Andrivet s’est intéressé à la sécurité de deux solutions de MDM (Mobile Iron et Good technology) avec pour scénario : est-ce qu’un administrateur de la solution de MDM peut accéder aux mails des employés ? De multiples vulnérabilités ont été présentées : nécessité d’utiliser un compte Administrateur pour exécuter le service, impossibilité de placer la solution de MDM dans une DMZ, nécessité d’autoriser la solution de MDM à accéder à toutes les boîtes mails (en créant un compte privilégié), XSS et CSRF dans les interfaces d’administration, utilisation de « cryptographie maison » pour stocker les mots de passe… Même si certaines vulnérabilités ont été corrigées, les éditeurs de solutions de MDM ont encore des progrès à faire.

Burp Pro : Real-life tips and tricks
par Nicolas Grégoire

Durant cette présentation, Nicolas Grégoire est revenu sur les différentes fonctionnalités avancées du fameux proxy d’interception permettant aux pentesters d’être plus efficaces lors d’un test d’intrusion sur une application Web et notamment :

  • méthodes de visualisation disponibles (AMF, JSON, PROTOBUF…) ;
  • « gestion des états » (sauvegarde automatique, restauration d’un état…) ;
  • tâches communes (« GET to POST », génération de la commande CURL pour rejouer l’exploitation d’une vulnérabilité…) ;
  • mécanisme d’extensions.

La présentation réalise une belle publicité pour la version Pro de l’outil qui s’avère intéressante de par ses fonctionnalités avancées.

Deuxième journée

Are we getting better? – Hacking Todays Technology
par Dave Kennedy

Pour démarrer la deuxième journée, Dave Kennedy a critiqué les solutions de sécurité actuelles (Next Generation Firewall, WAF…). Après avoir fait quelques démonstrations avec SET et Unicorn, des outils qu’il a développés, et affirmé que les solutions de sécurité ne fonctionnaient pas, il a conseillé l’approche suivante pour améliorer la sécurité :

  • 1 : changer la culture (éduquer, faire en sorte que la sécurité ne soit plus une contrainte…) :
  • 2 : arrêter d’acheter des solutions de sécurité pendant un an ;
  • 3 : se concentrer sur les bases (Mots de passe par défaut, vulnérabilités classiques types injections SQL) ;
  • 4 : monitorer son SI ;
  • 5 : réaliser des tests d’intrusion.

Malware vs Virtualization : The endless cat and mouse play
par Aurélien Wailly

Aurélien Wailly a présenté des méthodes permettant de détecter un environnement virtualisé : recherche de DLL spécifiques, mesures de temps d’accès (ses tests permettaient de connaître exactement le type d’hyperviseur utilisé)… Il a ensuite présenté des méthodes permettant d’éviter cette détection : « patch » des « défauts de virtualisation », mise en place de seuils empêchant de mesurer des temps d’accès… Aurélien Wailly a terminé sa présentation par la question suivante : à l’heure actuelle, où de plus en plus d’environnements sont virtualisés (postes de travail notamment), est-il encore pertinent pour un malware de détecter un environnement virtualisé ?

The « Doctrine Classique » of Websecurity and the inner HTML Apocalypse : How MXSS attacks change everything we believed to know so far

par Mario Heiderich

Mario Heiderich a commencé par quelques rappels sur les vulnérabilités de type XSS actuelles : Reflected XSS, Stored XSS et DOM-based XSS. Il a ensuite présenté les MXSS (Mutation XSS) basées sur la fonction JavaScript « innerHTML » qui permet de modifier le code HTML d’une page Web. Lors de l’utilisation de cette fonction, les navigateurs « améliorent » le code HTML modifié pour le rendre « conforme » : fermeture de balise, ajout de guillemets… Cette « amélioration » n’est pas toujours parfaite et il est possible d’injecter du code :

  • utilisation de ` au lieu de » sous Internet Explorer ;
  • utilisation d’attributs tels que xmlns ou style ;

The Realex payments application security story, narrated by Security Ninja
par David Rook

Hack In Paris s’est terminé par une présentation de David Rook au format original. Sur un fond de slides au format bande dessinée, David Rook a raconté le travail effectué chez Realex Payment depuis 7 ou 8 ans pour améliorer la sécurité logicielle : création d’un programme de formation en interne, achat d’une licence Burp Pro pour chaque développeur, réalisation d’audits annuels, publications (tweets, outils open source).