Retour sur l’édition 2014 de la Black Hat Europe

Retour sur l’édition 2014 de la Black Hat Europe

blackhat.jpg Cette année encore, XMCO était partenaire de la conférence Black Hat Europe. Retour sur cette édition 2014 qui s’est déroulée il y a peu.

En plus de proposer un contenu technique à la pointe du domaine, la conférence s’est déroulée à Amsterdam aux Pays-Bas, l’une des plus belles villes d’Europe de par sa qualité de vie, ses cafés bruns, ses canaux et ses nombreux musées (musée de Van Gogh, maison d’Anne Frank, etc.).

La conférence avait lieu sur deux jours pour un total de cinquante présentations. 8 trainings étaient également proposés.

Nous décrirons ici les 4 présentations qui nous ont semblé les plus intéressantes. Les autres seront disponibles dans l’ActuSécu #39.

Firmware.RE: Firmware Unpacking, Analysis and Vulnerability-Discovery as a Service, par Jonas Zaddach

SLIDES

La première journée s’est conclue par la présentation d’un outil créé par des doctorants français provenant de Sofia Antipolis dans le sud de la France.

Le chercheur a rappelé la difficulté de sécurisation des firmwares des appareils électroniques. En effet, à l’origine, les développeurs de ces logiciels n’avaient pas envisagé de devoir protéger leurs produits d’attaques en provenance d’Internet.

De fait, il faut aujourd’hui penser à la protection de ces équipements, car ils sont un point d’entrée dans le système d’information d’une entreprise. Ces firmwares sont par exemple utilisés sur des routeurs, des imprimantes, des téléphones VoIP, des voitures ou même des drones.

Afin d’étudier leur niveau de sécurité, ces chercheurs ont développé un outil leur permettant de réaliser une analyse à grande échelle sur de très nombreux firmwares. Leur approche est la suivante :

  • collecter un très grand nombre d’images de firmware ;
  • réaliser une analyse statique simpliste :
    • étudier les problèmes de configuration :
      • du serveur web ;
      • des identifiants (parfois écrits en dur) ;
      • des repositories (sv).
    • enrichir les données actuelles avec :
      • les versions dans les bannières ;
      • des mots clés (exemple : backdoor).
    • faire des corrélations et du clustering :
      • réaliser du fuzzing sur d’autres firmwares ;
      • corréler diverses informations entre les firmwares (certificats SSL par exemple).
  • corréler l’ensemble des résultats entre firmwares.

Après avoir expliqué diverses problématiques rencontrées lors de la mise en place de cet outil, le chercheur a dévoilé le site www.firmware.re qui permet de réaliser cette analyse. Ce site permet donc de tester un firmware, de réaliser une analyse statique et de tenter de casser les mots de passe hashés.

Pour terminer, Jonas a indiqué que cette recherche leur avait permis, à l’heure actuelle, de découvrir 38 vulnérabilités (CVE) dans différents firmwares.

PDF attack: a journey from the exploit kit to the shell code, par Jose Miguel Esparz

SLIDES

Cette présentation nous a été réalisée par un jeune chercheur espagnol à l’origine du projet peepdf.

En premier lieu, il s’est attaché à présenter des kits d’exploitations utilisé par les pirates pour compromettre de nombreux systèmes sur Internet. Ceux-ci ciblent particulièrement les failles au sein de Java, des bibliothèques PDF, ou encore de Flash. Ces packs d’exploitations permettent de prendre le contrôle des systèmes des utilisateurs de la manière suivante :

  • visite d’un site web infecté ou clic sur un lien présent dans un spam ;
  • redirection(s) ;
  • tentative d’exploitation de différentes failles ciblant les plugins via du code JavaScript obfusqué.

L’analyse manuelle de ces outils est complexe, car les attaquants cherchent toujours à rendre plus difficile le travail des chercheurs en sécurité, en bannissant leurs adresses IP par exemple.

L’analyse automatique du code obfusqué est souvent performante, mais peut régulièrement manquer certaines informations très importantes. L’analyse manuelle est, elle, complète et consiste à embellir le code, le comprendre, identifier le shellcode et télécharger les codes d’exploitations.

Dans un second temps, le chercheur a présenté les bases de la structure d’un document PDF en s’intéressant aux différentes zones d’un fichier :

  • les entêtes ou headers ;
  • le corps ou body dans lequel on peut retrouver les différents objets constituant le fichier ;
  • la table de référence ou cross reference table ;
  • et enfin, le trailer.

En dernier lieu, il s’est attaché à présenter PeePDF, l’outil qu’il a développé.

Cet outil bien connu pour l’analyse des fichiers PDF est écrit en Python et fonctionne en ligne de commande. Il permet d’analyser du code JavaScript et d’émuler des shellcodes. Par ailleurs, il est capable d’afficher des éléments suspects, d’identifier les failles potentiellement exploitées. Enfin, il est capable d’extraire des objets, du code JavaScript ou encore un shellcode en assembleur.

Enfin, Jose Miguel a dévoilé comment identifier facilement un fichier malveillant :

  • par obfuscation :
    • utilisation d’un chiffrement ;
    • objets malformés ;
    • fichier PDF inclus ;
    • JavaScript.
  • par échantillon :
    • une page sans contenu ;
    • des objets de grandes tailles ;
    • des espaces importants entre objets ;
    • une structure étrange ;
    • les caractéristiques des chaines de caractères.
  • des documents malformés visibles via les entêtes par exemple.

Counterfeiting the pipes with Fakenet 2.0, par Michael Sikorski et d’Andrew Honig

SLIDES

En fin de matinée, nous avons pu suivre la présentation de Michael Sikorski et d’Andrew Honig.

L’objectif premier des pirates est de camoufler leur activité afin d’éviter de se faire repérer, tout en poursuivant leur attaque.

Pour cela, ces derniers ont plusieurs cordes à leur arc :

  • ils adorent utiliser des protocoles populaires comme HTTP, HTTPS, DNS, car leur volume en entreprises est très important, ce qui masque les traces laissées par leur activité malveillante ;
  • ils apprécient également utiliser une architecture existante reposant sur des ressources légitimes, ce qui leur permet de masquer leurs actions tout en se simplifiant la vie.

Les deux chercheurs ont créé un outil leur permettant de simuler une infrastructure réseau dans le but de tromper le malware. Celui-ci requiert bien souvent une adresse IP et accède à Internet afin de vérifier sa connexion.

Avant de développer une solution pour répondre à ce besoin, ils ont étudié différents outils déjà existants :

  • FakeDNS qui répond aux requêtes DNS, mais qui n’est pas très stable et qui n’inspire pas confiance.
  • NetCat qui est un peu brute et difficile à personnaliser ;
  • INetSim qui permet d’émuler de nombreux services, entièrement configurables, mais qui nécessite un peu de « bricolage ».

FakeNet a donc été développé dans plusieurs buts :

  • être facile à utiliser et à configurer ;
  • couvrir la plupart des protocoles les plus courants ;
  • supporter les fichiers pcap et les extensions.

Par ailleurs, les développeurs ont ajouté plusieurs fonctionnalités à la suite du développement initial :

  • Process Logging qui permet d’enregistrer des informations sur la connexion d’un processus à une adresse IP ;
  • Debug Breakpoint qui permet à un utilisateur de provoquer une exception lors d’une connexion, puis de lancer ollyDbg pour étudier le code assembleur au moment de l’exécution du processus ;
  • Stop DNS Service pour couper le service DNS et forcer le navigateur à faire la requête lui-même ;
  • POST Response, afin de répondre aux requêtes POST ;
  • No IP, afin de détecter lorsque l’utilisateur n’a pas indiqué d’adresse IP, influençant donc largement sur les résultats de l’outil.

Reflected File Download – A new web attack vector, par Oren Hafif

SLIDES

Pour finir cette dernière journée de la BlackHat, nous avons assisté à une conférence orientée sur la sécurité des applications web. Cette présentation a été animée par Oren Hafif, chercheur en sécurité employé par la société Trustwave.

Durant cette présentation, un nouveau type de vulnérabilité web a été présentée. Baptisé Reflected File Download (ou RFD), cette dernière permet d’inciter un internaute à télécharger un exécutable malveillant depuis un site vulnérable, et ce, sans avoir à charger l’exécutable depuis ledit site. Vous l’aurez compris, cette attaque ne porte pas atteinte à la sécurité des applications web en elle-même, mais a pour vocation d’être exploitée dans le cadre d’attaque de Phishing via l’envoi de liens spécialement conçus.

Cette vulnérabilité est exploitable lorsque :

  • une application web envoie sa réponse à une requête sous forme “d’attachment” (“Content-Disposition: attachment”), ce qui est souvent le cas lors de réponse au format JSON ou JSONP ;
  • le nom de fichier n’est précisé pas au sein de ce champ de l’entête HTTP ;
  • une partie de cette réponse est “contrôlable” par l’utilisateur ;
  • les caractères spéciaux sont échappés et non encodés.

Si toutes les conditions d’exploitation sont respectées, il est possible de transformer cette réponse en un programme malveillant qui sera téléchargé par l’internaute qui visitera le lien malveillant.

Nous attendons avec impatience la prochaine édition de cette conférence. En attendant, rendez-vous dans le numéro 39 de l’ActuSécu pour un résumé complet et détaillé de cette conférence.


Cert-XMCO