Compte rendu de la 28C3 : Behind enemy lines

Comme chaque année la conférence du Chaos Computer Club couvre de nombreux domaines du hacking ou … autre, du déni de service à l’ADN en passant par les sushi fluorescents et quelques thèmes politiques.

Voici quelques thèmes choisis parmi les nombreuses conférences visibles.

28C3
28C3

Effective Denial of Service attacks against web application platforms
Julian Wälde and Alexander Klink ont montré comment une « simple » requête peux mettre à genoux la plupart des WAF (web application framework) actuels. L’attaque repose sur le fait que les requêtes sont stockée sous la forme d’une Hash Table. L’accès à cette structure est en moyenne bonne (O(1)) mais peut, dans certains cas rares, être beaucoup moins efficace (O(n)). L’attaque utilise justement un cas limite à savoir une multitude de clefs pointant vers le même hash. En effet la plupart des implémentations de la Hash Table utilise un hachage de type djb2 ou dérivé, pour lequel il est relativement aisé de trouver des collisions. Dès lors une seule requête, de quelques méga-octets maintient un coeur d’un processeur moderne complètement utilisé pour plusieurs heures ! Un DOS à haut rendement… les détails pour chaque implémentations testées sont disponibles :
OCERT Advisory : http://www.ocert.org/advisories/ocert-2011-003.html

28C3

OSMO-GMR
Le dernier né des projets OSMO présenté par Sylvain Munaut, après le GSM les terminaux satellitaires (Thuraya par ex.) sont à l’ordre du jour. De part la connaissance acquise lors des travaux sur le GSM et par la similarité des protocoles de téléphonie satellitaires avec celui-ci il est déjà possible de décoder une partie des informations échangée entre le terminal et le satellite, ceci directement dans votre analyseur de trame préféré.

Implémentation of MITM Attack on HDCP-Secured Links
L’attaque est implémentée sur une plateforme Linux embarquée, avec l’aide d’un FPGA Spartan-6, et est capable de fonctionner en temps réel sur les liens vidéo HD. La découverte de la master key l’année passée, permet de dériver les clés privées correspondantes de la source vidéo ce qui permets d’effectuer des modification pixel par pixel sur les données cryptées. Puisque le lien ne fait pas de vérification de CRC ou de hachage des données, il est possible de modifier ou faire des incrustations sur la vidéo.
Le point intéressant est que les données ne sont pas décryptées ce qui implique que le droit d’auteur n’est pas contourné !
Le boîtier issu de cette recherche est disponible à la vente (~100$) et permet de faire toute sortes de manipulation sur le flux vidéo (le tout est open source y compris le hardware).

Print me if you dare
Les imprimantes sont présentes partout dans nos réseaux et sont devenu bien plus que de simples … imprimantes, de ce fait leur compromission permets de les utiliser comme de véritables chevaux de Troie. Ang Vui et Jonathan Voris on montré les faiblesses présentes dans l’update du firmware chez HP, puis l’impressionnante démonstration du malware développé pour le modèle P2050. Celui-ci contient : un scanner de port, un reverse-proxy et, entre autres outils, le moyen d’exfiltrer n’importe quel document envoyé à l’imprimante ainsi qu’un moyen de mettre à jour le firmware modifié à distance. Une première estimation faite par les auteurs laisse penser qu’il y aurait plus de 100’000 imprimantes directement vulnérables…
A noter qu’une autre présentation sur le même thème a eu lieu pendant la CCC « Hacking MFPs », celle-ci portait plutôt sur l’aspect turing-complete du langage postscript et l’accès à certaine API, suivant les imprimantes, permettant de réaliser certaines attaques.
Il semblerait que Stuxnet ait relancé la recherche dans ce domaine 😉

Ooops I hacked my PBX
En cherchant à updater plusieurs dizaines de téléphone sans le faire manuellement sur chacun et en faisant un peu (beaucoup) de reverse engineering l’auteur est tombé sur un simple XOR comme encryptage de l’authentification…
En allant un peu plus loin il apparaît qu’une API de debug est probablement restée dans l’implémentation de production ! Il est maintenant possible d’écrire dans la mémoire de tous le téléphones et même dans le PBX, effectuer un reset des mots de passes…
L’équipementier incriminé n’a pas été nommé mais le nombre d’acteurs de grande ampleur dans le domaine étant réduit… 😉

Sovereign Keys
Peter Eckersley a montré la proposition de l’EFF permettant de, peut-être , trouver une solution à l’actuel problème des certificats (Komodo, Iran, …) .
Le concept repose sur de multiple serveurs effectuant une réplication entre eux de chaque information ajoutée et ceci de manière inaltérable (ajout uniquement). Ce qui permets au client de demander non plus une information ponctuelles sur la validité d’un CA mais un historique, empêchant ainsi toute manipulation. Il vient immédiatement la question de la révocation d’un certificat, celle-ci se passerait par l’utilisation de un ou plusieurs tiers choisi par le possesseur du domaine confirmant l’information. Une RFC devrait suivre

Time is on my Side
Sebastian Schinzel et son équipe ont réussi à montrer la faisabilité d’une attaque de type « time side attacks » au travers du réseau et ceci même sur un serveur distant. La théorie n’est pas nouvelle mais l’adéquation de ce type d’exploit à un réseau réel (jitter, …) à nécessité le développement d’outils dédiés. Un premier pas a été de traiter statistiquement les différents mesures soumises au aléa d’un réseau réel afin de pouvoir extraire un delta temporel entre une requête valide et invalide. Le deuxième pas fut d’utiliser une attaque publiée précédemment (dite de « Bleichenbacher ») permettant de casser RSA en environ 10⁶ requêtes. Cette méthode nécessite un oracle, qui est dans ce cas justement la mesure extraite du temps de réponse. Au final l’encryption XML décryptée et une librairie disponible.


Taking control over the Tor Network

Eric Filiol et Seun Omosowon ont montré deux faiblesses du réseau Tor permettant de catpurer des données sensibles en dépit de la cryptographie.
Une première faiblesse concerne la façon dont les itinéraires parmi les Ors sont gérés. Il est possible d’influencer et de forcer les utilisateurs à utiliser des Ors arbitraire et donc de contrôler le routage. Une seconde faiblesse se rapporte à la façon dont la cryptographie est mis en œuvre. En utilisant des malwares et des attaques basées sur le concept de backdoors cryptographiques dynamique il a été possible de contourner la cryptographie en place sans la supprimer. De fait une attaque classique, visant a prendre le contrôle des Ors et combinée à l’attaque au niveau routage permettant ainsi de forcer le trafique a passer sur les noeuds contrôlés. Différents scénarios d’attaque possibles ont été expérimentés et validés sur un réseau de simulation TOR de 50 nœuds et partiellement sur le réseau réel TOR. Une librairie est disponible.

Apple vs. Google Client Platforms
Recurity Labs a récemment mené un projet pour l’Office fédéral allemand pour la sécurité de l’information (BSI), qui (entre autres) a porté sur la plateforme iOS.
Lors de cette analyse il est apparu que l’iOS ne vérifie pas les contraintes de base des certificats X.509, à savoir le fait que le certificat peut, ou ne peut pas, être utilisé pour signer d’autres certificats (certificat d’une autorité). Ce qui implique qu’un certificat appartenant à une chaîne trustée dont vous avez la clef privée peut-être utilisé pour faire une attaque de type MITM. Ce qui tombe bien vu que l’utilisateur possède la clef privée du certificat utilisé pour s’authentifier au push Apple ! A noter que d’autres attaques sont possibles vu que ce problème existe pour toutes les applications iOS utilisant l’API cryptographique fournie par Apple. Ceci a été résolu pour les iOS>4.3.5 (ce qui ne concerne donc pas les heureux possesseurs d’un iphone 3G pour qui le hardware ne supporte pas cette mise à jour.).
Vous pouvez tester si votre appareil est vulnérable ici : https://iSSL.recurity.com
Il semblerait que l’appstore ne soit qu’un browser webkit mais sans les protections nécessaires (CSRF, SOP) de plus l’origine de la popup d’authentification n’est pas établie.
Ceci combiné à un XSS dans le champ de recherche (maintenant corrigé) permet plus ou moins … tout (injection de JavaScript, affichage d’une fausse popup d’authentification, achats sur l’appstore…).

Google n’est pas en reste non plus :
ChromeBook
La table de partition n’est pas protégée, il est donc possible de booter un kernel/firmware arbitraire et une petite modification hardware permet d’écrire sur la flash. Les ChromeBooks étant prévu pour être partagés il est d’autant plus gênant de pouvoir en prendre le contrôle.
Google web store
L’api des extensions est prévue pour faire de l’injection java script… quelques heures suffisent à créer une attaque ciblée pour un site d’e-banking souligne l’auteur.
Les extensions sont maintenant gratuites, il est possible d’ajouter l’ID à votre configuration GoogleSync ou de contruire l’URL adéquat 😉
A noter qu’une extension malicieuse peut installer une autre extension et faire de l’URL rewrite sur un download.
GoogleApps
Les GoogleApps permettent d’échanger des informations entre elles et certaines applications sont le fruit du rachat de tierces parties par Google, le code et les authentifications sont de qualité variables.
Il est possible d’utiliser des macros dans GoogleDocs, notamment d’importer des macros écrites par d’autres, or celles-ci peuvent être « améliorées » après coup par l’auteur.
D’autre part ces macros peuvent effectuer des requête http et elles s’exécutent sur le serveur (cloud) : « Only Google can DoS Google » précise l’auteur 🙂
Beaucoup de XSS sont présents sur les sites Google et un système de token est prévu pour l’accès aux données par de tierces parties, une page bénigne de demande d’accès mal/pas lue peut donc autoriser l’accès à vos données.
FanBoys quelque soit votre préférence : you are pwned !

NOC Review
Cette présentation a permis de mieux comprendre, en sus d’avoir une vision de l’architecture réseau de l’événement, pourquoi de nombreux pancartes « use more bandwith » ornaient les murs de la conférence : l’uplink consistait en deux lignes 10Gbit/s !
Pour toute information supplémentaires ainsi que pour les vidéos des conférences : http://events.ccc.de/category/28c3/

Loïc Rousselot