Black Hat USA 2013

Nous voici au Cesar’s Palace de Las Vagas pour le très “corporate” Black Hat. Voici ce que nous avons retenu :

Jour 1

Methodologies of hacking embedded security appliances

Rob Bathrust, Mark Carey

Ce workshop de deux heures trente a présenté une introduction au hacking hardware.

En présentant tout d’abord les outils de base permettant de s’initier à ce nouvel horizon de recherche : Multimètre, outils de soudure, interfaces JTAG et Bus Pirate.
Une des premières difficultés rencontrées lorsque l’on cherche à analyser un périphérique hardware est de supprimer les couches de résine epoxy souvent ajoutées par les constructeurs afin de protéger leurs circuits. Plusieurs méthodes ont été présentées par les auteurs, comme la surchauffe de la résine afin de la décoller du PCB. Malheureusement, cette méthode est très souvent dommageable pour le circuit en lui-même et permet rarement de retrouver un circuit nu et fonctionnel. Une autre méthode plus efficace et toutefois plus dangereuse est d’utiliser divers produits chimiques permettant de dissoudre la résine et ainsi conserver le circuit intact.

Une autre méthode présentée par les conférenciers pour récupérer des informations sur le circuit et d’utiliser le FCC ID, présent sur la quasi-totalité des équipements vendus de nos jours. Muni de ce numéro, il est possible de récupérer la documentation envoyée au FCC par le constructeur, qui contient presque toutes les informations utiles sur le circuit : composants utilisés, éclatés des circuits, placement, … une vraie mine d’or pour obtenir des informations préalables à un démontage de l’appareil !

I can hear you now : Traffic interception and remote mobile phone cloning using a compromised CDMA femtocell

Tom Ritter, Doug DePerry, Andrew Rahimi

Ce talk parle en particulier des femtocells, ces boîtiers fournis par
certains opérateurs de téléphonie mobile permettant d’améliorer la couverture du réseau dans une zone isolée.
En utilisant le port HDMI (???) présent sur le boîtier analysé, les auteurs ont pu obtenir un shell série sur le boîtier et finalement un shell root en modifiant la commande du bootloader. Une fois l’accès root obtenu, il a été possible de lancer les daemons de la femtocell et ainsi avoir un accès complet sur le boîtier alors que celui-ci fonctionne.

Dans un premier temps, il n’a pas été possible de sniffer directement les
paquets transitant de la femtocell vers le réseau de l’opérateur : le VPN
utilisé est un module du noyau Linux qui extrait les paquets de netfilter pour les chiffrer et les envoyer dans le tunnel. Les auteurs ont alors du créer un module noyau qui se place entre netfilter et le module VPN pour intercepter les données. Démonstrations à l’appui, il est dès lors possible d’intercepter les communications vocales échangées au travers de cette femtocell, de récupérer les SMS en clair ainsi que les données échangées sur le réseau mobile.

Petite anecdote : lorsque vous passez un appel avec votre téléphone,
tout ce que vous dites avant et pendant les tonalités d’attente sont transmises sur le réseau…

La suite de ce talk s’est révélée tout aussi passionnante, les conferenciers ont poussé leurs recherches jusqu’a cloner un téléphone afin de voir s’il est
possible d’agir comme dans les films. Résultats : Il n’est pas possible pour
l’heure de cloner un téléphone et de l’utiliser sur une antenne classique car une clé de chiffrement échangée par le téléphone et l’antenne n’est pas connue. Les femtocells, en revanche, ne nécessitent pas cette authentification mais se basent sur deux informations qui sont envoyées par le téléphone lors de son arrivée sur la femtocell. En utilisant un téléphone reprogrammable, il est dès lors possible de cloner un téléphone qui s’est connecté sur une femtocell et ainsi de l’utiliser, mais uniquement sur une femtocell. Modifiée ou non.
Démonstrations à l’appui toujours, un téléphone et son clone, lorsqu’ils sont sur la même femtocell, reçoivent bien les appels en même temps, reçoivent bien les SMS en même temps et peuvent bien tous deux envoyer des appels et SMS. Impressionnant.

Pass the hash and other credential theft and reuse : Mitigating the risk of lateral movement and privilege escalation

Mark Simos, Patrick Jungles

Une conférence présentée par Microsoft sur les attaques Pass The Hash et le dump de credentials depuis la mémoire avec l’outil Mimikatz.

Ils ont rappelé les trois méthodes de mitigation de PTH disponible dans le white paper de microsoft. En résumé, ils préconisent de restreindre l’utilisation de comptes privilégiés, de firewaller les machines ou de désactiver le service “Server”. On sera d’accord qu’il est difficile d’appliquer ces techniques dans un réseau de production…

Néanmoins, ils ont fait des efforts afin d’améliorer la sécurité dans Windows 2012 R2 et Windows 8.1 au niveau du stockage de mot de passe dans lsass. Globallement, il ne sera plus possible d’extraire le mot de passe en clair ni le hash LM. Enfin, lorsque tout le monde aura migré sur ces nouvelles versions de système. Sachant que l’on rencontre encore régulièrement des failles MS08-067 non patchées lors de pentest, l’outil Mimikatz a encore de beaux jours devant lui.

How to grow a TREE (Taint-enabled Reverse Engineering Environment) from CBASS (Cross-platform Binary Automated Symbolic-execution System)

Nathan Li, Log Nguyen, Xing Li, James Just

Le but de cet outil est de fournir un framework de data taint analysis dynamique supportant n’importe quel processeur. Le framework s’intègre en tant que plugin pour IDA pro.
Une analyse statique est nécessaire pour identifier le premier point d’entrée utilisateur et le définir dans ida. L’outil génère ainsi une trace d’exécution et identifie le code qui va traiter ces données utilisateur. Cela permet de simplifier considérablement le temps pris par une analyse statique complète, en affichant un flux d’exécution simplifié portant uniquement sur les instructions modifiant ces données.

Une autre fonctionalité de ce framework permet via une analyse par exécution symbolique d’identifier quelles valeurs de données permettent de changer le flux d’exécution.

L’outil semble très prometteur pour la recherche de vulnérabilité et est disponible sur googlecode: http://code.google.com/p/tree-cbass/.

Pwnie awards

Cette année encore, la cérémonie des Pwnie Awards récompensait le meilleur comme le pire de la sécurité informatique. On pourra noter la récompense attribuée au magasine Hackin9 pour avoir publié un article (http://seclists.org/nmap-dev/2012/q3/1050) fabriqué de toute pièce sur le DARPA Inference Checking Kludge Scanning (DICKS), article rédigé d’ailleurs par de nombreuses personnes présentes lors de la cérémonie. Une petite déception tout de même pour le pwnie Epic Ownage, attribué cette année à Edward Snowden. A mon avis et n’en déplaise à certains, Malware.lu aurait bien plus mérité cette récompense pour leur prise de contrôle complet des serveurs C&C du botnet APT1. Il semble plus que ce pwnie ait été attribué pour troller la NSA que pour récompenser le “travail” de Snowden. Je trouve dommage que le pwnie soit attribué à une “balance” plutôt qu’à un vrai travail de recherche technique.

Jour 2

Funderbolt : Adventures in thunderbolt DMA attacks

Russ Sevinsky

Comme pour le firewire, les ports d’extension thunderbolt permettent un accès direct à la mémoire (DMA). Il est donc possible de lire et d’écrire directement en mémoire pour par exemple passer outre l’authentification de windows ou faire un dump complet de la mémoire dans des cas d’analyse forensics.

Les attaques existante sur le firewire ont déjà été réalisée grâce à des adaptateur thunderbolt to firewire mais cette présentation se focalisait sur l’attaque directe de ces nouveaux ports. Les ports thunderbolt sont en fait des extensions du bus PCIe. Le présentateur a commencé par une revue rapide de PCIe et le fait que seuls les device s’annonçant comme Legacy avait accès à la DMA.

L’auteur n’a malheureusement pas réussi à terminer son projet d’attaque DMA directe mais à priori, cela ne saurait tarder.

JTAGulator : Assisted discovery of On-Chip debug interfaces

Joe Grand

Joe “Kingpin” Grand nous présente ici son nouveau projet : le JTAGulator.

Cet outil open source basé sur un processeur Parallax permet de détecter et de s’interfacer avec un port JTAG sans connaître par avance où ce dernier se trouve. Cet outil se révèle très pratique pour découvrir ou se trouve l’interface de debug JTAG d’un périphérique ou découvrir l’interface série ainsi que son mode de fonctionnement (vitesse, utilisation de la parité, …)

La première partie de ce workshop présente en détails les composants utilisés par Kingpin pour développer cet outil ainsi que les techniques utilisées pour protéger l’appareil en cas de mauvaise utilisation, comme la protection contre les hautes tensions.

Par la suite, Joe Grand montre les fonctionnalités du JTAGulator. Son
fonctionnement principal est de découvrir le pinning d’un bus JTAG. En plaçant les sondes sur les points du circuit à tester, le JTAGulator va tester toutes les permutations de ces points afin de découvrir si un bus JTAG est présent et fonctionne. Pour ce faire, l’outil va envoyer en aveugle aux périphériques du bus de passer en mode BYPASS, qui renvoie simplement l’entrée de données sur la sortie, et envoyer des données. Si les données sont reçues, il est probable que les points soient un port JTAG. D’autres types de scan sont également disponibles, comme un scan utilisant la commande IDCODE.

Une utilisation intéressante est le comptage du nombre de périphériques sur un bus JTAG. En forçant tous les périphériques d’un bus en mode BYPASS (en envoyant la commande 0xFF), puis en envoyant une chaine de “1”, puis un “0” sur la ligne de données, il est possible,en comptant le nombre de coups de clock, de déterminer le nombre de chips présents sur le bus. Comme les données envoyées sont décalées d’une période de clock, chaque périphérique ajoute un délai d’une période, et il est ainsi possible de récupérer cette information sans avoir besoin de tracer tout le bus sur le circuit.

Plus d’informations sont disponibles sur le site www.jtagulator.com

Hacking, Surveilling and deceiving victims on Smart TV

SeungJin ‘Beist’ Lee

Les “Smart TV” sont de plus en plus nombreuses (~80 millions dans le monde) et sont présentes non seulement à la maison mais aussi en entreprise. Ces télévisions sont équippées d’un vrai système d’exploitation et fonctione comme des ordinateurs, très proche des des smartphone android. Ces TV possèdent une webcam permettant la reconaissance faciale ou gestuelle pour améliorer l’expérience utilisateur.

La première phase de la recherche de SeungJin ‘Beist’ Lee a été de trouver le moyen d’obtenir un shell interactif sur ces TV, afin d’analyser le système et trouver des vecteurs d’attaques. Beist a pu trouver un ancien firmware non chiffré et a procédé au reverse engineering de celui-ci.

Il en résulte un grand nombre de vulnérabilités, exploitable à distance ou à l’aide d’applications infectée disponible sur un “app store”

Une fois la TV “jailbreakée”, Beist a développé un rootkit permettant de prendre des photos ou des vidéos à l’air de la webcam, permettant une surveillance non détectable par une victime. Le rootkit est aussi capable d’empêcher l’extinction de la TV sans que la vitime s’en aperçoive.

En résumé, un gros travail de reverse engineering et de développement effectué par Beist, qui a remonté ces vulnérabilités aux constructeurs. Maintenant il ne reste plus qu’a implémenter une politique de patching de sa propre TV à la maison…

OptiROP: Hunting for ROP gadget in style

Nguyen Anh Quynh

Cette présentation a démarré sur l’état de l’art du Return Oriented Programming, en prenant bien le soin (20 minutes) de nous faire comprendre que les solutions existantes n’étaient pas satisfaisantes.

Ce nouvel outil permet la recherche de gadget de façon sémantique, permettant par exemple de chercher un gadget qui mette une valeur spécifique dans un registre.

L’approche est très intéressante, car elle est basée sur la traduction du code assembleur vers une représentation intermédiaire LLVM ensuite optimisée et combinée à une résolution SMT (Satisfiability Modulo Theories) pour valider le gadget recherché.
L’outil est aussi capable de trouver et chaîner plusieurs gadgets afin d’arriver au résultat demandé.

Cet outil n’est malheureusement pas encore disponible mais devrait l’être très bientôt (on l’éspère) et supportera les architectures X86 et X86_64 sur les formats Windows PE, Linux ELF et Mach-O.

Conclusions

Trop grand, c’est ce que nous retiendrons de cette édition de Black Hat. Le nombre démesuré de talks en parallèle (Huit !!!) et leur qualité largement inégale font qu’il est très difficile de s’y retrouver, ajoutons-y les événements ayant lieu au milieu de tout cela, comme les “Black Hat arsenal” qui présentent de nouveaux outils ou les événements marketing et nous obtenons une conférence qui semble vouloir “faire du chiffre” plus que de la qualité. Les participants s’y perdent un peu.

A noter également un petit air de salon de l’auto version informatique dans la salle des sponsors, avec des stands tous plus grands et tape-à-l’œil les uns que les autres.