Solucom était présent à la 11ème édition de la « Hack.lu » qui s’est déroulée du 20 au 22 octobre, à Luxembourg. Chaque année cette conférence de sécurité gagne en renom avec cette année plus de 500 inscrits.
Nous vous proposons un compte
rendu des conférences auxquelles nous avons assisté. Les slides des
présentations sont également disponibles en ligne : http://archive.hack.lu/2015/.
Keynote: Internet of Tchotchke (Paul Rascagnères)
La conférence a commencé par une
introduction sur l’Internet des objets avec une présentation des différents
capteurs « connectés » disponibles sur le marché (capteur de
température, d’humidité, de courbure, etc.). Les différents outils nécessaires
à l’étude de ces capteurs ont ensuite été présentés, notamment le
matériel requis pour effectuer du reverse engineering (Bus pirate, Shikra,
oscilloscope, sniffer, émetteur/récepteur radio, etc.).
Le conférencier a ensuite
présenté quelques « hacks » :
- Dans le premier scénario, une box permettant de rechercher des ondes de fréquence 433 MHz a été conçue. L’objectif étant de capturer les ondes de sonnettes sans fil, ou de portes de garage pilotables. Il est ainsi possible de faire sonner de nombreuses sonnettes et d’ouvrir des portes de garages simplement en rejouant les radiofréquences interceptées.
- Dans le second scénario et sur le même principe que précédemment, il a été démontré qu’il était possible de contrôler à distance des sextoys sans fil dans un rayon de 30 mètres, le signal permettant de piloter ce type d’accessoire étant rejouable (pas de rolling code).
- Dans le troisième scénario, le présentateur nous a montré que les numéros de cartes de crédit sont directement disponibles dans un fichier « data.raw » d’un ATM. Il est simplement nécessaire de connecter un Bus pirate à la puce flash du contrôleur grâce au connecteur SPI intégré.
- Dans un quatrième scénario, un disque dur externe chiffré a été ciblé. Il a été observé qu’une pression sur une touche du clavier modifie le signal électrique de 3.3V à 0V et qu’il est ainsi possible d’observer ces variations pour implémenter un keylogger physique dans le boitier du disque dur. Le présentateur a également laissé entrevoir la possibilité de modifier le hardware du disque dur pour que n’importe quel code PIN soit autorisé.
- Dans un autre scénario, le présentateur s’est focalisé sur un système Linux embarqué et sur la possibilité de connecter un Shikra sur le port UART intégré pour obtenir un accès complet au système.
Security Design and High-Risk Users (Eleanor Saitta)
Dans cette présentation, les
modèles de sécurité et leurs maillons faibles ont été abordés. N’oublions pas
qu’un système est aussi fort que l’est son maillon le plus faible. Le
présentateur a insisté sur le fait que la sécurité ne vient pas des ordinateurs
mais des utilisateurs et qu’il fallait par conséquent construire un modèle de
menace pour chaque entité. Il est tout d’abord nécessaire de savoir de quoi ont
besoin les utilisateurs pour pouvoir limiter et bloquer ce qui est inutile, et
par conséquent supprimer de possibles vulnérabilités. Il faut garder en tête
que les outils de sécurité sont difficiles à utiliser et surtout à comprendre
pour un utilisateur lambda. Lorsque ces derniers vont les utiliser, ils ne
pourront alors plus faire leur travail efficacement. Paradoxalement s’il n’y a
aucune sécurité sur leur poste, ils seront alors extrêmement performants. En
effet, de manière générale, les employés ne mesurent pas les vulnérabilités
auxquelles ils pourraient être exposés et n’hésitent pas à désactiver les
mécanismes de sécurité car ils les trouvent dérangeant et n’en voient pas
l’utilité. En conséquence, il est très important de les tenir informés des
outils qui sont installés sur leur poste de travail, de préciser leur
fonctionnement et leur utilisation, et de mettre l’ensemble en relation avec
leur travail. En conclusion, tous les employés doivent participer à
l’élaboration des mesures de sécurité, qui ne doivent pas juste leur être
imposées sans qu’ils ne les comprennent.
Totally Spies! (Marion Marschalek, Paul Rascagnères, Joan Calvet)
La conférence s’est poursuivie
avec la présentation des derniers malwares découverts dans le cas d’espionnages
assimilés à des états. Les principaux malwares étudiés étant NBOT, Bunny,
Babar, Casper et Dino. L’étude montre des niveaux de complexité variés et
pointe même des morceaux de code récupérés sur Internet.
Tous ces malwares ont cependant
une approche similaire et partagent quelques caractéristiques :
- Chargement de bibliothèques en mémoire ;
- Génération et vérification systématiques d’empreintes des binaires à exécuter ;
- Identification d’antivirus au travers de commandes WMI ;
- Détection d’émulateurs ;
- Convention de nommage des malwares ;
- Partage de serveur C&C.
Des statistiques sur les serveurs
C&C ont été effectuées afin de tenter d’attribuer ces malwares. La Syrie,
l’Iran et les USA ressortent en tête mais aucune conclusion ne peut en être
tirée puisqu’il s’agit bien souvent de serveurs de rebond compromis. Quelques
indices supplémentaires laissent à penser que des francophones pourraient se
trouver derrière ces malwares (des ressources et des en-têtes HTTP en français,
des mots en français dans du code en anglais, anglais approximatif, etc.).
HackingTeam - how they infected your Android device by 0days (Attila Marosi)
Lors de cette présentation, les
outils de la Hacking Team ont été étudiés, et plus particulièrement les
différentes méthodes d’infection de smartphones Android. C’est tout d’abord
l’infrastructure technique de la Hacking Team qui a été décrite :
- Outils d’administration à distance permettant de surveiller l’ensemble des périphériques compromis ;
- Outils permettant l’infection des périphériques ;
- Réseau permettant le déploiement des malwares.
Le cas d’un RCS (Remote Control
System) Android a été détaillé. Tout d’abord avec la méthode d’installation et
de prise de contrôle du périphérique (exploitation de plusieurs 0-days) :
Ensuite, avec l’installation d’un
malware permettant l’interception de tous les contenus audio (dont les appels),
quelle que soit l’application source ainsi que la récupération de preuves
(captures d’écran par exemple).
Enfin, les différentes méthodes
d’obfuscation des différents malwares ont été abordées (protection du code par
des packers, détection d’antivirus ou de sandbox, etc.).
Scrutinizing WPA2 Password Generating Algorithms in Wireless Routers (Eduardo Novella)
Dans cette présentation,
l’objectif était de vérifier si les clés WPA2 générées par les routeurs Wi-Fi
sont bien aléatoires. L’analyse commence à partir de firmwares constructeurs
récupérés depuis Internet. Après reverse engineering, le présentateur montre
que la création de ces clés WPA2 dépend généralement de l’adresse MAC du
routeur, voire même du SSID du réseau. La présentation a ensuite continué sur
l’analyse matérielle de routeurs du marché et sur les différentes
vulnérabilités qui les affectent, telles que l’injection de commande ou la
présence de backdoors.
Stegosploit - Delivering Drive-By Exploits With Only Images (Saumil Shah)
Dans ce talk, le framework
Stegosploit nous a été présenté. Comme le précise l’auteur, il ne s’agit ni
d’un 0-day, ni d’un exploit caché dans les EXIF, ni d’un shell, ni d’un XSS. Il
s’agit en réalité d’un moyen de délivrer des exploits en tant qu’images. En
utilisant le framework, il est en effet possible d’insérer du code malveillant
dans les pixels d’une image sans qu’il n’y ait de distorsion ou d’abstraction
de l’image. Les pixels étant codés sur 8 bits, on peut insérer des données en
modifiant le LSB (Least Significant Bit) de chaque pixel, sans qu’on
puisse détecter l’altération visuellement.
L’auteur a ensuite enchaîné sur
la possibilité de créer des fichiers qui s’exécuteraient automatiquement en
embarquant une image (JPG ou PNG) et du code (HTML + CSS + JavaScript) chargé
d’exécuter la portion de code malveillante encodée dans les pixels de l’image.
Le fichier alors créé peut être interprété différemment selon son extension
(file.jpg ouvrira le logiciel de visualisation d’images, file.js ouvrira
l’interpréteur de code). Il s’agit de créer des fichiers appelés
« polyglottes », ou deux formats (ou plus) coexistent dans un seul
conteneur sans casser les spécifications de chaque format.
En conclusion de sa présentation,
l’auteur a effectué une démonstration d’un fichier polyglotte ouvert avec un
navigateur web classique. Le navigateur ne pouvant pas déterminer quel type de
fichier il doit interpréter, le fichier a alors été affiché en tant qu’image et
en parallèle le code JavaScript est exécuté, décodant les données dissimulées
dans l’image et exécutant la payload.
Learn from Malwares, A Practical guide of spear phishing for Red Teams (Paul Jung)
Lors de ce talk, l’auteur a
présenté plusieurs méthodes utilisées par les attaquants pour mettre en place
une attaque de type « spear phishing ».
Tout commence par une phase de
reconnaissance visant à collecter des informations, notamment des adresses
e-mail. Différentes commandes SMTP ont ensuite été rappelées. Tout d’abord,
celles permettant d’abuser des relais SMTP des entreprises, afin de vérifier
l’existence des e-mails précédemment récoltés. Ensuite, celles permettant
d’envoyer des e-mails avec des en-têtes modifiés, afin de faire passer un
e-mail malveillant pour un e-mail interne.
Comme dans de nombreuses attaques
de ce genre, un lien externe est présent dans le corps de l’e-mail et
l’utilisateur doit être incité à cliquer. Des statistiques intéressantes sont
alors apportées par le présentateur sur le taux de clic : sur 1200 e-mails
envoyés, le taux de clic est de 33%, représentés par 44% de femmes et 56%
d’hommes. Globalement, un lien demandant une action à l’utilisateur sera moins
efficace qu’un e-mail ne contenant qu’un simple lien externe sans aucune
explication. Il est également recommandé d’utiliser un nom de domaine
personnalisé commençant comme le nom de domaine de l’entreprise (par
exemple : http://mabanque.com.ls.ke.program.exemple.post.sitedelattaquant.com).
La cible doit également être précise puisque les périphériques utilisés ne sont
pas toujours les mêmes, bien que des tendances se dégagent : top
management sur iPad, smartphone si horaires tardives ou trop tôt dans la
journée, Mac pour les médias ou le personnel médical, etc.).
Ensuite, des méthodes de
contournement des passerelles de filtrage ont été évoquées pour faciliter le
déploiement d’un malware (archives 7-Zip ou RAR, fichiers Word MHTML contenant
des macros, écriture de packers « maison » pour contourner les
logiciels antivirus ou sandbox).
Enfin, pour l’exfiltration de
données, l’auteur mentionne l’API WinInet et les requêtes DNS.
En conclusion, le présentateur a
rappelé qu’en 2015, des documents Word avec macros et envoyés en pièce jointe
sont encore largement suffisants pour compromettre un poste de travail.
Security of Virtual Desktop Infrastructures: from great concepts to bad surprises (Maxime Clementz, Simon Petitjean)
Les deux auteurs de cette
présentation ont exposé ce qu’il a été possible de réaliser à partir d’attaques
simples sur une infrastructure de bureaux virtuels. Ils se sont ainsi focalisés
sur une console de management du marché, développée par Teradici, et permettant
l’application de profils sur des périphériques « Zero-Client »
(machines avec un simple hardware/firmware dédié à déchiffrer les images
reçues du serveur de virtualisation : aucune donnée n’est stockée sur le
périphérique).
À partir de la machine virtuelle récupérée sur le site de
Teradici, plusieurs vulnérabilités ont immédiatement pu être mises en
évidence :
- Mots de passe (4400Dominion) pour les interfaces SSH, web, FTP et base de données ;
- Page BackupDBDownload.php accessible sans authentification ;
- Nom des fichiers de sauvegardes basés sur le timestamp ;
- Chiffrement des fichiers de sauvegarde en AES256-CBC avec le même mot de passe (4400Dominion) ;
- Serveur FTP vulnérable (CVE-2015-3306), permettant l’envoi d’un fichier PHP sur le serveur.
L’exploitation de ces
vulnérabilités a permis de compromettre la console de management et ainsi de
récupérer les mots de passe administrateur de tous les Zero-Client. Également,
un certificat ACR a pu être déployé, permettant de rediriger tous les flux des
Zero-Client vers un proxy. Il suffit alors de forcer les clients à se
reconnecter pour intercepter leurs identifiants de connexion, avant de de
rediriger le flux vers le serveur d’authentification original.
How not to build an electronic voting system (Quentin Kaiser)
Lors de cette présentation,
l’auteur a commencé par rappeler qu’en mai 2014, la Belgique a relevé plusieurs
incohérences lors de la comptabilisation des résultats du scrutin effectué par
vote électronique. Il nous a ensuite présenté les principales caractéristiques
que devait respecter un système de vote électronique :
- La confidentialité pour que le vote reste personnel et anonyme ;
- La non répudiation qui assure que les votes ne sont pas contestables ;
- L’authentification pour savoir qui a voté ;
- L’intégrité qui garantit que le choix fait par le votant est bien celui qui va être pris en compte ;
- La simplicité pour l’utilisateur mais aussi pour le code afin de pouvoir le vérifier ;
- L’unicité qui permet à chaque inscrit de ne pouvoir voter qu’une seule fois.
Enfin, l’auteur nous a présenté
l’éventail des différentes vulnérabilités rencontrées sur les systèmes de vote
(fichiers sensibles téléchargeables sans restriction, mots de passe dévoilés,
interfaces d’administration accessibles, cartes magnétiques falsifiables,
etc.).
Keynote - Unpatchable: Living with a Vulnerable Implanted Device (Marie Moe)
Dans ce talk, la présentatrice a
fait une présentation sur les pacemakers - elle en est elle-même équipée - et
sur le fait que sa vie dépendait de cet implant et donc de son bon
fonctionnement. Aujourd’hui, il y a environ 500 personnes pour un million qui
vivent avec un pacemaker. Le problème c’est qu’une fois un pacemaker implémenté
en elles, ces personnes n’ont plus d’autre choix que de faire confiance au
matériel et elles ne peuvent pas le choisir. Bien que la présentatrice n’ait
pas fait la démonstration de vulnérabilités sur un pacemaker à proprement
parler, son objectif était surtout d’éveiller les esprits et d’inviter les
fabriquant à tester et à sécuriser leurs produits dès les phases d’étude et de
fabrication. Ces matériels sont souvent implantés « vulnérables » et
ne peuvent plus être mis à jour sans une intervention chirurgicale
importante.
Trusting Files Formats: Illusions or Reality? (Ange Albertini)
Lors de ce talk, le présentateur
a souhaité mettre en avant les dangers induits par les formats de fichiers
actuels. Les spécifications des formats de fichiers ont été largement
critiquées (parfois payantes, parfois fermées, rédigées après la création du
format, pas toujours claires, etc.) ainsi que leur implémentation (ajout de
fonctionnalités à un format par un logiciel par exemple). L’auteur nous a
ensuite démontré qu’il était possible de tirer parti de ces faiblesses
d’implémentation pour éventuellement tromper les utilisateurs et mécanismes de
sécurité ou pour envoyer du code malveillant.
Il a ainsi été démontré qu’un
même fichier pouvait être ouvert et interprété par plusieurs logiciels (un PDF
qui devenait un émulateur de jeux NES lorsque l’extension est changée en .SNES
ou en vidéo avec l’extension .MP4 mais aussi en image ou en fichier audio).
Il a également été démontré qu’il
était possible de contourner les standards pour tromper les logiciels avec un
même type de fichier. Dans l’exemple montré, un fichier PDF a ainsi été affiché
différemment sur chacun des lecteurs PDF du marché ou n’a fonctionné que sur un
lecteur donné.
How Mobile Applications Are Redefining Information Controls Inside of Iran (Mahsa Alimardani)
Pendant cette présentation,
l’Internet iranien, communément appelé « filternet » dans le pays, a
été vivement critiqué. Le gouvernement fait office de fournisseur d’accès
Internet, observe l’ensemble des communications et bloque tout ce qui ne peut
pas être intercepté. Les logiciels « sociaux » les plus populaires
sont ainsi bloqués (Facebook, Twitter, Snapchat, WatsApp, etc.). Le
gouvernement a en contrepartie développé et publié des applications
« copie » mais dont les flux ne sont pas chiffrés ou alors chiffrés
de telle sorte que le gouvernement est en mesure de les déchiffrer.
Geek usages for your Fitbit Flex tracker (Axelle Apvrille)
Lors de ce talk, la présentatrice
nous a tout d’abord rappelé que les données des traqueurs d’activité – ici un
Fitbit – étaient envoyées à des serveurs centraux et que celles-ci pouvaient
être revendues et exploitées par des compagnies tierces. Elle a ensuite
souhaité nous faire part de ses retours d’expérience sur les usages détournés
de son traqueur d’activité qu’il était possible d’envisager, sans qu’aucune
donnée ne soit envoyée au fabriquant :
- Contrôle des LED ;
- Générateur de nombre aléatoire ;
- Déclenchement de l’économiseur d’écran du PC lorsque la distance avec l’utilisateur devient trop importante ;
- Injection de code malveillant sur le traqueur.
Key-Logger, Video, Mouse - How to turn your KVM into a raging key-logging monster (Yaniv Balmas, Lior Oppenheim)
Pendant cette présentation, une
démonstration très didactique de reverse engineering a été effectuée. La cible
était un KVM connecté d’un côté à une machine sur un réseau sécurisé et
déconnecté d’Internet et de l’autre côté à Internet. Grâce à leurs recherches,
les présentateurs ont réussi à créer et à déployer sur le KVM un malware
permettant de relier les deux réseaux. Dans le scénario d’attaque présenté, le
malware se chargeait de récupérer automatiquement via la machine connectée à
Internet du code malveillant, pour le transmettre sur la machine sécurisée au
travers de frappes claviers émulées. Il a ainsi été possible de déployer un
logiciel malveillant sur la machine sécurisée reliée au KVM sans aucune
interaction utilisateur.
Keys? Where we’re going, we don’t need keys (Damien Cauquil)
Lors de ce talk, la sécurité
d’une « poignée connectée » a été passée en revue. Plusieurs
vulnérabilités ont ainsi été mises en avant :
- Les journaux d’événements sont transmis en clair via Bluetooth, sans aucune authentification ;
- Les clés d’ouverture/fermeture sont correctement chiffrées mais il est possible de le rejouer en changeant uniquement certains bytes ;
- L’application smartphone n’authentifie par la poignée, il est ainsi facile de réaliser une attaque de type man-in-the-middle ;
- Des commandes non documentées sont accessibles.
They Hate Us ‘Cause They Ain’t Us - How We Broke the Internet (Netanel Rubin)
Lors de ce talk, le présentateur
a remis en question la notion de « Secure Coding », qui est
aujourd’hui la seule mesure de sécurité communément appliquée dans le cycle de
développement. De nombreux cours de développement sécurisé sont disponibles,
mais les développeurs ne vont en suivre qu’un ou deux sur leur carrière. De
plus, les mêmes cours sont réutilisés au sein d’une même société, ce qui
conduit à reproduire les mêmes erreurs. Enfin, l’auteur affirme que ces cours
se focalisent sur la vérification des entrées utilisateurs et donne un faux
sentiment de sécurité.
L’auteur donne ensuite quatre
exemple de CMS open source, largement répandus et pour lesquels les notions de
développement sécurisé sont normalement appliquées :
- Cas 1, MediaWiki : l’auteur a présenté la vulnérabilité CVE-2014-1610 permettant l’exécution de code à distance sur le CMS avec les privilèges d’un administrateur ;
- Cas 2, vBulletin : l’auteur a présenté la vulnérabilité CVE-2015-7808 permettant l’exécution non authentifiée de code à distance sur le CMS ;
- Cas 3, Bugzilla : l’auteur a présenté la vulnérabilité CVE-2014-1572 permettant de contourner les mécanismes d’authentification du CMS ;
- Cas 4, Magento : l’auteur a présenté les vulnérabilités CVE-2015-1397, CVE-2015-1398 et CVE-2015-1399 permettant de contourner les mécanismes d’authentification du CMS, des injections de code SQL, deux inclusions de fichiers locales et une inclusion de fichier distante.
Hack.lu 2015 en synthèse
Cette
année encore, la hack.lu est un succès, tant sur le plan de la forme avec une
organisation sans faille que sur le fond avec des présentations de qualité et
des conférenciers de très bon niveau.
En
bref, vivement l’an prochain !
Aucun commentaire:
Publier un commentaire