Retour sur l’édition 2019 de la Hack.lu

Retour sur l’édition 2019 de la Hack.lu

Pour cette édition 2019 de la conférence Luxembourgeoise Hack.lu qui s’est tenue du 22 au 24 octobre, XMCO vous propose un bref aperçu des conférences, qui vous seront présentées en détail dans le prochain numéro d’Actu-Sécu.

Vous pourrez retrouver une grande partie des conférences filmées, sur la chaîne Youtube suivante :  https://www.youtube.com/channel/UCI6B0zYvK-7FdM0Vgh3v3Tg

Quelques supports de présentation sont également à votre disposition sur le site officiel : http://archive.hack.lu/2019/


#1 Say Cheese – How I Ransomwared your DSLR Camera –  Eyal Itkin

Twitter : @eyalitkin

Vidéo : https://www.youtube.com/watch?v=GOtU03aqDFY

Say Cheese - How I Ransomwared Your DSLR

Le chercheur en sécurité Eyal Itkin de la société CheckPoint s’est intéressé à la possibilité de développer un ransomware sur des appareils photo reflex. En effet, les modèles récents de reflex sont capables de se connecter à différents équipements via USB et Wifi, faisant d’eux de véritables candidats pour son étude.
En utilisant un appareil Canon EOS 80D et les ressources offertes par la communauté de modding Magic Lantern (https://magiclantern.fm/), il a pu analyser les mécanismes du système d’exploitation que Canon fournit dans ses appareils : DryOS.

Le vecteur d’attaque le plus pertinent était alors le protocole PTP (Picture Transfer Protocol), utilisable à la fois via USB et plus récemment via Wifi, ce protocole n’assure ni authentification ni chiffrement. L’implémentation des différentes commandes au sein du firmware n’avait jamais été analysée jusque-là et avait donc de fortes chances d’être vulnérable.

L’analyse statique du firmware ARM au sein de IDA se trouve être compliquée, sans l’utilisation d’outils annexes. Dans ce but, Eval Itkin a développé le module “Thumbs Up”, pour permettre àl’outil IDA d’identifier de manière automatique les différentes fonctionnalités du programme. Il a également développé son second outil “Karta”, qui permet d’identifier automatiquement la présence de dépendances open-source dans le binaire:

Avec l’ensemble de ces éléments, le chercheur a alors pu poursuivre ses analyses sur les commandes du protocole PTP et identifier les commandes pouvant recevoir une entrée malveillante.

C’est ainsi qu’il a pu identifier 3 vulnérabilités permettant l’exécution de code arbitraire. Deux d’entre elles sont toutefois liées à des commandes Bluetooth, non exploitables dans le contexte d’un appareil sans carte de ce type (certains modèles de reflex ne disposent pas de de Bluetooth).
La troisième vulnérabilité référencée CVE-2019-5998 provient d’un défaut de contrôle permettant un dépassement de la pile, et est exploitable via USB et Wifi.

Afin d’automatiser son exploitation, le chercheur a ainsi pu mettre en place une borne Wifi malveillante. Lors de la connexion d’un appareil photo reflex au réseau,  la vulnérabilité est exploitée et installe un ransomware sur l’équipement.

 

#2 Fileless Malware Infection And Linux Process Injection In Linux OS – Hendrik Adrian

Twitter : @_hendrikadrian

Vidéo : https://www.youtube.com/watch?v=RvBj8C5okp0

Fileless Malware Infection And Linux Process Injection I

Le chercheur Hendrik Adrian a tenu une présentation très intéressante sur les techniques de post-exploitation Linux, notamment l’utilisation de compromissions par un malware sans fichier. En tant que membre de la Blue Team, il a également décrit comment identifier ce type d’attaque.

Selon lui, Linux présente plus de mécanismes d’exécution que Windows, ce qui complexifie la surveillance de ces événements. Cela explique en partie pourquoi le taux de détection de malwares sous Linux est plus faible que ceux sous Windows ou Mac.

Avec l’apparition de ressources initialement réservées aux équipes Red Team, il a pu remarquer que l’ouverture de différentes documentations (pentest-monkey, OSCP, etc) de post-exploitation et de framework associé a été rapidement approprié par les attaquants.

Afin d’améliorer les résultats de détection, il a orienté, dans un premier temps, ses recherches, dans le but d’énumérer les différents points d’injection qu’un attaquant pourrait utiliser pour exécuter un code arbitraire sur un système Linux  (EIP, RIP, LD_PRELOAD, ELF injection, …).

Il a souligné l’importance d’avoir des capacités d’ingénierie inverse pour la Blue Team, afin d’être en mesure de qualifier des comportements nouveaux et avoir une meilleure connaissance des techniques d’injection.

Dans le cas des injections de malware sans fichier, il est nécessaire de réaliser des analyses mémoires à chaud afin de ne pas voir disparaître une charge malveillante. Toutefois, il est souvent recommandé de compléter cette analyse par une étude forensic à froid, afin de comprendre d’où vient le point d’injection malveillant.

Il a ainsi pu montrer à l’audience les cas de compromissions notables qu’il a pu rencontrer via différentes méthodes d’exécution (modules .so, injection ELF, memfd …).

 

#3 New Tales of Wireless Input Devices – Matthias Deeg, Gerhard Klostermeier

Twitter : @matthiasdeeg, @iiiikarus

Vidéo : https://www.youtube.com/watch?v=31hWj0Fa9s0

Lors de sa présentation, Gerhard Klostermeier nous a présenté une multitude de techniques d’exploitation des appareils radio que l’on a l’habitude de voir en bureautique : souris, clavier, pointeur de présentation, etc.

Les recherches effectuées sur ces appareils consistaient à analyser le matériel (hardware) électronique et ensuite faire de l’analyse radio, pour analyser le comportement de ces appareils sur le réseau.

Plusieurs attaques ont été présentées par Gerhard. Il a été en mesure de rejouer les paquets interceptés lors de mouvements de souris, pointeurs de présentation ou de frappes de clavier.

Pour chacun des appareils et chacune de ces attaques, Gerhard a réalisé une démonstration. Par exemple, il n’est pas aisé de rejouer des paquets de souris sans fil pour réaliser des attaques malveillantes. En effet, cela nécessite une grande précision pour cliquer au bon endroit. De plus, il est compliqué d’obtenir la position initiale de la souris. Néanmoins, le clavier virtuel Windows apparaît toujours au même endroit sur l’écran de sa victime et lui permet d’écrire au clavier via la prise de contrôle d’une souris, dans le but d’exécuter des commandes arbitraires.

Les pointeurs de présentation ont également été testés par le chercheur. Gerhard nous a montré qu’un pointeur de présentation se comportait de la même manière qu’un clavier. En effet un pointeur dispose de 3 boutons qui envoient les mêmes signaux qu’un clavier. Il a aussi été possible pour Gerhard d’intercepter les communications d’un clavier, pour en extraire des mots de passe frappés au clavier.

 

#4 DOS Software Security: Is there Anyone Left to Patch a 25-year old Vulnerability – Alexandre Bartel

Vidéo : https://www.youtube.com/watch?v=PTTCtHqsUCo

Alexandre Bartel nous a présenté plusieurs vulnérabilités affectant le système DOS (Disk operating system) ainsi que ses composants (jeux, logiciels divers). En effet, Alexandre Bartel a insisté sur le fait que DOS restait présent autour de lui et dans la vie de certaines personnes. Par exemple, l’écurie McLaren utilise le système DOS pour interconnecter les formules 1 à des ordinateurs classiques.

L’outil DOSBox nous a aussi été présenté par Alexandre Bartel. Ce logiciel permet d’émuler un système DOS sur un ordinateur classique. Ce logiciel lui a permis de rechercher des vulnérabilités sur des moteurs de jeux encore utilisés aujourd’hui. Plusieurs vulnérabilités ont ainsi été identifiées par Alexandre et ont été remontées aux éditeurs. Ces remontées n’ont pas été satisfaisantes pour Alexandre Bartel, puisque chacun des éditeurs l’a renvoyé vers une autre entité non-existante.

Une vulnérabilité a aussi été identifiée sur DOSBox, le logiciel d’émulation, à l’aide d’une primitive de lecture et d’écriture sur le système de fichiers de l’hôte Linux. En les utilisant, il a été en mesure d’exécuter du code arbitraire depuis la machine virtuelle invitée sur le système l’hôte.

Cette vulnérabilité a été exploitée à l’aide du système de fichier Linux, intégrant plusieurs device comme /proc/self/mem, /proc/self/maps donnant accès à la mémoire du processus actuelle via le système de fichiers. Il suffisait alors de lire et d’écrire au bon endroit dans la mémoire du processus pour exécuter du code arbitraire.


Simon Bucquet