Hack In Paris 2015 : une belle backdoor X11

Backdooring X11 with class

Je souhaite vous faire découvrir un talks de Matias Katz, hacker argentin qui nous a présenté comment backdoorer X11. J'ai apprécié le concept d'utiliser nativement une fonction système liée à Linux. Aussi, sa facilité déconcertante à la réaliser m'a convaincu. La porte dérobée X11 permet d'accéder à un ordinateur verrouillé par l'intermédiaire de "dbus" (un middlware).Il est vrai qu'une grande quantité de distribution linux utilise ce mécanisme-ci. Mon article restitue le concept global de l'attaque.

Avant-propos : le contexte

Matias s'est présenté et a rapidement su étendre l’atmosphère, il nous a dit qu'il comprenait que l'anglais n'était pas notre langue natale et qu'il n'hésiterai pas à répéter ! De plus, nous avions la possibilité de gagner des tshirt Andsec durant la conférence !
Voici le slide de présentation  :

Il a expliqué que X11 n'est pas un protocole mais un logiciel ! Puis il a demandé à l'auditorat qui avait un disque dur chiffré. Beaucoup ont levé la main dans le public. Il a poursuivit ses explications et  nous a ré-expliqué les bases : Notre ordinateur chiffré ne risque rien jusqu'au moment où il est déchiffré ! C'est à ce moment là qu'il devient vulnérable. Dans son approche il donne un exemple : quand nous nous absentons quelques minutes il nous arrive de verrouiller l'ordinateur au lieu de l'éteindre. Seulement dans les faits c'est dans ce genre de moment que nous sommes le plus vulnérable car la phase de déchiffrage est déjà initialisée. L'idée etant qu'il ne nous reste plus qu'à trouver le mot de passe... la méthode d'injection n'est pas expliquée dans le talk.

Le fonctionnement global

L'utilisation des fonctions natives de l'OS (DBUS et l'UUID) recherchent la présence de nouveaux périphériques, 0.1s. DBUS est présent sur la partie haute du système (privilége root) et il s'associe directement avec le kernel. Pour information, il est disponible sur plusieurs Manager X ce qui accroit la portée de cette attaque. La méthode du déverrouillage est bien hardware ce qui permet de laisser peu de trace du passage car :

  • Elle est non vérifiée par les antivirus
  • C'est une méthode d'exécution silencieuse qui n’éveille pas de soupçon.
  • Elle est disponible sur tous les ordinateurs !!

Il nous a démontré deux méthodes hardwares avec deux scripts :

  1. Avec une clé USB : Elle devait rester en permanence connectée sinon la session se verrouillait !
  2. Avec une sortie Jack Audio : L'effet était ici de faire l'inverse en déverrouillant la session avec le casque jack ! On retiendra surtout la combinaison spécifique créée en pattern : périphérique branché pendant une seconde, débranché 3 secondes, branché pendant une seconde. Oui l'effet est assez étonnant, cela fonctionne parfaitement !

Vous aurez l’occasion de découvrir la démonstration dans la vidéo que la hackinparis publiera sur sa chaine youtube.

Comment éviter de se prendre la porte ?

Il est conseillé de supprimer Dbus mais cela est une contrainte car il faudrait se tourner vers un XDM différent ou sinon vous avez la possibilité de désactiver votre screen lock... ce qui n'est pas PRATIQUE du tout ! Finalement, nous sommes beaucoup de Linuxiens à être exposé, à moins que ? Au moindre petit déplacement : éteignez votre machine (à condition qu'elle soit chiffrée) ! Être victime de cette méthode de backdoor ne se cantonne pas à l'usage de linux car il existe winDBus sous Windows...

Le mot de la fin : aie !

La méthode d'injection n'étant pas expliquée et le fait qu'il faut au préalable être root sur la machine nous laisse de la marge.  Ce n'est pas demain que votre collègue viendra vous fourrer son écouteur au fessier (Aie)

 

 

 

 

 

 

Commentaires