conf_usb_gare

Transcription

conf_usb_gare
Failles USB avec Hardware
Jeumont le 22/12/2014
Vicogne Frédéric
Enseignant en systèmes d'information et numérique
Intervenant en DUT MPH, DUT informatique et licence CDAISI
Concepteur/développeur de cartes numériques PIC 32bits
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Plan
Quelques Chiffres
Qu'est-ce que l'USB ?
Pourquoi l'USB représente-t-il un danger ?
Le Plug and Play
Les dangers
Les contre-mesures
Exemples de périphériques hack
Mise en œuvre des périphériques hack
Démonstration d'applications
Questions ?
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Quelques chiffres
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Quelques chiffres
Les infections
Les clés USB de stockage présentent un vecteur de propagation
important des malwares, de l'ordre de 25 %
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Quelques chiffres
Les infections
L'autoplay, disponible depuis Windows XP grâce à l'autorun, à
provoqué une augmentation significative des infections USB.
Infection Detections of Malware that Spread via AutoRun
source : Microsoft
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Quelques chiffres
Prise en charge du matériel
Presque 100 % des systèmes d'exploitation sont compatibles avec les
périphériques HID (Human Interface Device) ET Plug and Play
En particulier les claviers !
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Qu'est-ce que l'USB ?
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Qu'est-ce que l'USB ?
Les normes
L'USB, Universal Serial Bus, est un port de communication série haute
vitesse entre le système informatique et les périphériques.
Il existe trois normes :
USB 1 & 1.1 : 1996-1998 ; 190ko/s à 1,5Mo/s ; définie et développée
par les grands groupes (IBM, INTEL, MICROSOFT…)
USB 2 : 2000 ; 60Mo/s ; l'extension OTG (On The Go) est ajoutée en
2007
USB 3 : 2008 ; 625Mo/s (théorique) ; compatibilité ascendante
USB 3.1 : 2014 ; 1,2Go/s
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Qu'est-ce que l'USB ?
Les normes
Les prises sont normalisées
La puissance électrique fournie est de l'ordre de 2,5 W pour l'USB 2
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Pourquoi l'USB représente-t-il un danger ?
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Pourquoi l'USB représente-t-il un danger ?
Vulgarisation
Standard international (fonctionnement et protocoles connus par tous)
On les trouve partout (PC, Bornes développement photo, voiture,
téléphones, comptoirs, bureaux, agences bancaires…)
Tous les types de périphériques sont disponibles en USB
De plus en plus rapide et accès de plus en plus direct au kernel et à la
mémoire
Prise en charge Plug and Play
Outils d'analyse des périphériques USB dans le domaine public
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Pourquoi l'USB représente-t-il un danger ?
Le risque DMA
Le risque DMA (Direct Merory Access) est parmi les risques les plus
critiques du moment.
Un rapport de février 2012, écrit par Rory Breuk et Albert Spruyt donne
comme conclusion :
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Le Plug and Play
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Le Plug and Play
La marche automatique
PnP défini un protocole d'échange d'information entre le système
d'exploitation et le matériel afin de déterminer le type du périphérique
ainsi que le driver à charger pour son utilisation.
Une fois le matériel reconnu et le driver chargé, le système
d'exploitation lance l'application associé au type de périphérique.
Toutes ces opérations sont réalisées automatiquement sans aucune
intervention de l'utilisateur.
Ce qui en fait l'intérêt du PnP mais aussi son danger puisque avant
même de reprendre la main sur le processus, beaucoup de code
malveillant peut être injecté dans le système.
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Le Plug and Play
La marche automatique
La séquence de découverte
Utilisateur
Matériel
USB
Windows
Branche
Détecte
Ping (demande ID)
Envoie ID
Initialise et
configure
Cherche et
installe le driver
Lance
l'application
Utilise le
matériel
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les dangers
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les dangers
Les malwares
Les codes malveillants (malwares) comme les virus, vers, trojans
trouvent un vecteur de propagation dans les périphériques USB.
Exemple : FLASHM~1.VBE un ver qui se propage par les clés USB et
qui transforme les fichiers en raccourcis
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les dangers
Les malwares
Les logiciels malveillants (malwares) comme les virus, vers, trojans
trouvent un vecteur de propagation dans les périphériques USB.
Exemple : FLASHM~1.VBE un ver qui se propage par les clés USB et
qui transforme les fichiers en raccourcis
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les dangers
Le BOOT USB
Pratiquement tous les matériels informatiques récents peuvent être
bootés (démarrés) sur un périphérique USB, ce qui permet de faire
« tourner » un OS autre que celui légitime.
Utilisation d'une KALI installée sur clé USB. Cette distribution possède
tous les outils pour pirater un système comme WINDOWS ou le
réseau local.
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les dangers
Le BOOT USB
Pratiquement tous les matériels informatiques récents peuvent être
bootés (démarrés) sur un périphérique USB, ce qui permet de faire
« tourner » un OS autre que celui légitime.
Utilisation d'une KON-BOOT installée sur clé USB. Cette distribution
permet de démarrer WINDOWS et d'ouvrir des sessions utilisateurs
sans mot de passe.
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les dangers
Les HID
Les périphériques HID (Human Interface Device) USB sont disponibles
et supportés par défaut par les OS.
Leur prise en compte est Plug And Play.
Les microcontrôleurs récents possèdent une interface USB pouvant
facilement utiliser le protocole HID. Les performances technologiques
permettent du programmer une puce et de se faire passer pour un
périphérique légitime.
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les dangers
Les keyloggers
Les keyloggers enregistrent toutes les frappes au clavier.
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les dangers
Les firmwares modifiés
Les clés de stockage (flash) présentent une faille pouvant être
exploitée. En effet certains modèles peuvent avoir leur firmware
reprogrammé.
Cette possibilité permet d'ajouter un comportement malveillant à la
clé.
Parmi les comportements possibles, une clé peut se faire passer pour
une interface réseau et rediriger le trafic vers sa mémoire, se faire
passer pour un clavier et lancer des commandes automatiquement...
Puce reprogrammable
Mémoire
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les dangers
L'accès DMA
L'accès DMA (Direct Memory Access) permet de récupérer toutes les
données stockées dans la mémoire de l'ordinateur sans contrôle du
système d'exploitation.
Beaucoup d'informations sont présentes en mémoire et restent tant
qu'elles ne sont pas remplacées par d'autres.
Les « logins » et « passwords »
Les « mails »
Les documents « bureautiques »
….
Et le tout non chiffré ni protégé
La possibilité de faire passer un matériel USB pour tout type de
matériel associée à un bus haute vitesse et les extensions comme
l'OTG rendent possible les attaques DMA.
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les dangers
Outils d'analyse
Des outils d'analyse USB accessibles « grand public » peuvent être
trouvés assez facilement.
Exemple : le FaceDancer permet d'analyser le protocole et le firmware
d'un matériel USB en se faisant passer pour un « host ».
Cette étude permet de trouver les failles potentielles.
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les contre-mesures
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les contre-mesures
L'accès BIOS
La première des protections est de limiter l'accès à la configuration du
BIOS par un mot de passe.
Un mot de passe peut être également défini pour la mise sous tension.
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les contre-mesures
Le BOOT USB
Pour éviter le redémarrage avec un OS différent, la fonction « BOOT »
pour les périphériques USB doit être désactivée
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les contre-mesures
L'accès physique
Les machines ne doivent pas être accessibles physiquement aux
personnes non autorisées.
Toujours inspecter la machine sur laquelle on travaille pour détecter
des branchements « suspects ».
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les contre-mesures
L'autorisation des périphériques USB
Merci à Jérôme R.
Le paramétrage du système d'exploitation peut être configuré afin
d'interdire les périphériques USB, dans WINDOWS :
dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\S
ervices\UsbStor
3 : USB acceptée
4 : USB refusée
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les contre-mesures
La sélection des périphériques USB
Merci à Jérôme R.
Pour être plus souple, on peut définir les périphériques autorisés (liste
blanche)
Retirer les droits de 'usbstor.inf & usbstor.pnf en modification/écriture
après avoir branché les périphériques autorisés
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les contre-mesures
Configuration du pare-feu
Le pare-feu permet de fermer tous les ports (en entrée comme en
sortie) qui ne sont pas nécessaires.
Les applications peuvent aussi être autorisées/interdites à
communiquer.
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Les contre-mesures
Antivirus à jour
Un antivirus à jour va permettre de bloquer l'exécution de la plupart
des codes malveillants
Très utile également : mise à jour du système d'exploitation
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Exemples de périphériques hack
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Exemples de périphériques hack
Les clés Teensy
Les clés Teensy sont de petits circuits capables de se faire passer
pour un périphérique HID.
Elles ont la taille et la forme d'une clé USB et sont construites avec
des microcontrôleurs de structure AVR.
Leur programmation est très simple.
Environ 20 euros
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Exemples de périphériques hack
La clé Ducky
La clé Ducky réalise la même chose que les clés Teensy.
Elle possède en plus une carte SD permettant l'enregistrement du
programme mais aussi pouvant servir comme clé de stockage.
Environ 35 euros
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Exemples de périphériques hack
Le matériel numérique grand public
De plus en plus de matériels numériques simples et performants sont
disponibles pour le grand public.
Leur mise en œuvre, hard et soft, est accessible à celui qui se
débrouille un peu dans ce domaine technologique.
Arduino
Raspberry PI
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Exemples de périphériques hack
Le matériel développé
Pour les personnes possédant un peu plus de connaissances, la
conception de circuits numériques à base de microcontrôleurs
performants est une solution qui permet la personnalisation.
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Mise en œuvre des périphériques hack
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Mise en œuvre des périphériques hack
Les clés Teensy
Les clés Teensy sont programmées en langage C dans un environnement Arduino
modifié. Cet environnement s'appelle teensyduino, disponible sur le site
https://www.pjrc.com/teensy/index.html
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Mise en œuvre des périphériques hack
Les clés Teensy
La procédure d'installation est relativement simple :
Sous linux : sudo cp 49-teensy.rules /etc/udev/rules.d/
Sous windows : un driver s'installe au début du processus
On lance l'installateur en lui indiquant le dossier où se trouve l'IDE Arduino que l'on
veut modifier.
Après quelques options et copies de fichiers, Teensyduino est prêt !
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Mise en œuvre des périphériques hack
Les clés Teensy
Une fois l'environnement Arduino modifié, le choix de la clé Teensy est proposé
dans les menus.
Il existe plusieurs versions : 2.0 ; ++2.0 ; 3.0 ; 3.1
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Mise en œuvre des périphériques hack
Les clés Teensy
On choisit ensuite le type USB :
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Mise en œuvre des périphériques hack
Les clés Teensy
Le programme est structuré comme un programme Arduino avec une fonction
« setup » et une fonction « loop »
Les touches sont envoyées par le clavier émulé grâce à la fonction
« Keyboard.print »
Toutes les combinaisons de touches sont possibles en utilisant les fonctions
spéciales
« Keyboard.set_modifier »
« Keyboard.set_keyN »
« Keyboard.send_now »
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Mise en œuvre des périphériques hack
Les clés Teensy
Structure de base d'un programme
Uitilisation des combinaisons de touches
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Mise en œuvre des périphériques hack
La clé Ducky
La clé Ducky se programme grâce à un script que l'on encode dans un langage
spécifique à l'aide d'une application JAVA.
Deux possibilités sont disponibles :
- le site http://www.ducktoolkit.com/ propose d'encoder votre script et vous
fourni le fichier binaire
- un programme JAR est téléchargeable qui permet d'encoder en local
L'utilisation de JAVA rend l'encodeur multiplate-forme
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Mise en œuvre des périphériques hack
La clé Ducky
Utilisation du site :
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Mise en œuvre des périphériques hack
La clé Ducky
Create Payload
Étape 1 :
2 Valider
1 Choix utilisateur
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Mise en œuvre des périphériques hack
La clé Ducky
Create Payload étape 2 :
2 choix clavier
3 valider
1 personnalisation
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Mise en œuvre des périphériques hack
La clé Ducky
Create Payload étape 3 :
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Mise en œuvre des périphériques hack
La clé Ducky
Encoder :
2 choix clavier
3 valider
1 saisie du code
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Mise en œuvre des périphériques hack
La clé Ducky
Utilisation de l'encodeur local :
On saisit le script dans un éditeur de texte.
On l'encode après l'avoir sauvegardé.
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Démonstration d'applications
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Démonstration d'applications
Démarrage sans mot de passe
La distribution KON-BOOT permet, si l'ordinateur peut « booter » en USB, d'ouvrir
des sessions utilisateurs sans mot de passe.
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Démonstration d'applications
Le « Hello World » avec Teensy
Cette application montre un exemple
simple du fonctionnement. Le script
ouvre NotePad et écrit « Hello
World »
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Démonstration d'applications
Récupération des fichiers SAM & SYSTEM
Grâce aux fichiers SAM et SYSTEM du dossier config, on peut récupérer les mots
de passe des utilisateurs.
Le fichier SYSTEM contient la clé syskey
Le fichier SAM contient les utilisateurs et les mots de passe cryptés.
Les utilitaires bkhive et samdump2 permettent d'extraire la liste des utilisateur/hash
à partir de ces deux fichiers.
D'autres utilitaires ainsi que des sites WEB décryptent les hashs !
Code source
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Démonstration d'applications
Création d'un reverse BackDoor avec Ducky
par Aurélien Vicogne
La clé Ducky, dans notre exemple, installe un reverse BackDoor qui permet
l'ouverture d'un SHELL à distance sur une machine cible. Ce SHELL donne un
accès direct au système et au matériel.
Le script « Ducky » utilise les puissantes possibilités de PowerShell permettant de
télécharger des fichiers et de les lancer en processus cachés.
Code source
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Des questions ?
F Vicogne
Failles USB avec Hardware
Jeumont le 22/12/2014
Merci de votre attention
F Vicogne