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
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?
Quelques chiffres
Quelques chiffres Les infections Les clés USB de stockage présentent un vecteur de propagation important des malwares, de l'ordre de 25 %
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
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!
Qu'est-ce que l'usb?
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
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
Pourquoi l'usb représente-t-il un danger?
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
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 :
Le Plug and Play
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.
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
Les dangers
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
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
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.
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.
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.
Les dangers Les keyloggers Les keyloggers enregistrent toutes les frappes au clavier.
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
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.
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.
Les contre-mesures
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.
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
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».
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
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
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.
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
Exemples de périphériques hack
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
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
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
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.
Mise en œuvre des périphériques hack
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
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!
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
Mise en œuvre des périphériques hack Les clés Teensy On choisit ensuite le type USB :
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»
Mise en œuvre des périphériques hack Les clés Teensy Structure de base d'un programme Uitilisation des combinaisons de touches
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
Mise en œuvre des périphériques hack La clé Ducky Utilisation du site :
Mise en œuvre des périphériques hack La clé Ducky Create Payload Étape 1 : 2 Valider 1 Choix utilisateur
Mise en œuvre des périphériques hack La clé Ducky Create Payload étape 2 : 2 choix clavier 3 valider 1 personnalisation
Mise en œuvre des périphériques hack La clé Ducky Create Payload étape 3 :
Mise en œuvre des périphériques hack La clé Ducky Encoder : 2 choix clavier 3 valider 1 saisie du code
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é.
Démonstration d'applications
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.
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»
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
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
Des questions?
Merci de votre attention