Cacher sa webcam avec du sparadrap : est-ce bien sérieux ?

le 30/10/2017 par Antoine Bernard
Tags: SRE

Avez-vous déjà vu un ordinateur portable affublé d'un sparadrap ou d’une bande adhésive opaque pour masquer la webcam ? Si oui, sans doute avez-vous eu ce sentiment d'être témoin d'un excès de paranoïa.

Le MacBook Pro de Marc Zuckerberg en 2016, avec ses bandes adhésives sur la webcam et le micro.

Pourquoi autant de prévoyance ? Est-il si facile de prendre le contrôle de nos machines ?

Découvrons ensemble comment un informaticien malveillant peut pénétrer dans un système, en prendre le contrôle, puis déclencher une capture vidéo avec la webcam.

Cache cette webcam que je ne saurai voir.

Disclaimer : La prise de contrôle à distance d’un système sans l’autorisation du propriétaire est un acte passible d’une peine de prison et d’amende, cet article n’est dédié qu’à la compréhension de la sécurité en informatique et n’encourage en aucun cas l’utilisation des technologies citées ci-dessous pour des actes malveillants.

Le cadre

Pour notre démonstration nous allons prendre une machine cible type : Un ordinateur équipé de Windows 10, avec le pare-feu Windows par défaut activé et connecté à Internet via un wifi privé sécurisé (WPA2).

Dell Xps, notre machine cible (sans sparadrap).

L’attaquant est équipé, quant à lui, d’un ordinateur équipé de la distribution Kali-Linux.

Bureau de Kali-Linux

Kali-Linux

Kali-Linux est une distribution GNU/Linux basée sur Debian spécialisée dans l’audit de sécurité de système d’information et notamment le pentest (test d’intrusion).

Elle est aujourd’hui un incontournable, utilisé par les hackers malveillants, mais surtout par les professionnels et experts en sécurité des systèmes d’informations.

Gratuite, elle a la particularité d’apporter une quantité non négligeable de logiciels gratuits et libres permettant de mettre à l’épreuve la sécurité de nos ordinateurs, tablettes et smartphones.

Kali-Linux, et ses nombreux logiciels préinstallés.

L’attaque

Nous allons procéder à une attaque simple, à la portée d’un débutant en sécurité, en utilisant le maximum d’outils préinstallés dans Kali-Linux.

Le principe est simple, nous allons créer un trojan, l’envoyer à notre victime, puis prendre le contrôle de sa machine à distance. Le pare-feu Windows, par défaut, ne protégeant que du trafic entrant, notre trojan exécuté sur la machine de la cible, ne sera pas bloqué par le pare-feu. On appelle cela une attaque de type reverse-tcp. Simple non ?

Préparation de la machine attaquante

Pour commencer nous allons utiliser le logiciel seToolKit, installé de base sur Kali-Linux, il est open source et permet diverses attaques basées sur l’hameçonnage, notamment via le framework Metasploit.

Ouvrons donc un terminal sur la machine de l’attaquant et exécutons seToolkit :

Une fois lancé, seToolkit nous propose un menu pour choisir la façon dont nous allons configurer notre “payload” (charge utile en Français), qui sera caché dans le trojan :

Choisissons une attaque de type Social Engineering (fait référence à des pratiques de manipulation psychologique), voici ce que nous propose l’étape 2 :

Continuons à configurer notre trojan “basique”, avec l’option 4, pour créer le payload et préparer un serveur local. Ce serveur recevra la connexion de la victime émise par le payload présent dans notre Trojan.

A l’étape suivante, nous souhaitons configurer un trojan capable d'ouvrir une console shell sur la machine cible, puis d'en donner les droits à distance à la machine d'attaque. Choisissons donc l’option Windows Reverse_TCP Meterpreter, lorsque l’on nous demande l’adresse IP pour le “payload listener” entrez l’adresse IP de l’attaquant. Pour le port, saisissez le port libre de votre choix (nous prendrons ici le 666 pour des raisons évidentes...).

seToolKit nous demande notre adresse IP pour contacter la machine de l’attaquant à l'exécution du Trojan.

Le trojan est alors créé sous le nom “payload.exe” dans un dossier caché de notre système (/root/.set//payload.exe) et le logiciel nous propose de lancer immédiatement le listener (le serveur d’écoute pour que le Trojan retrouve notre machine) :

Ne lançons pas le listener automatiquement, étant un homme de défis, je préfère le lancer moi même.

Un beau trojan tout neuf !

Pour le moment, un double clic sur ce fichier par ma victime ne causerait aucun mal, car je n’ai pas activé mon “listener”.

Pour cela, je vais ouvrir un nouveau terminal et lancer la console du Framework Metasploit :

Une console Metasploit.

La console Metasploit ouverte, on peut préparer le serveur en spécifiant le type de payload (windows/meterpreter/reverse_tcp), notre IP et le port prévu à la réception de la connexion (les mêmes que l’on a indiqué lors de la création du Trojan).

On lance ensuite le listener avec la commande “exploit”.

Notre machine attaquante est désormais prête à recevoir la connexion via le Trojan.

L’étape suivante : envoyer le trojan à notre victime.

Plusieurs solutions possibles (soyez ambitieux !) :

  • Un mail aguicheur
  • Une intervention physique sur l'ordinateur de la victime
  • Une clé USB négligemment oubliée
  • ...

L’infection

Information importante : Windows Defender n’est pas activé pour ce test, mais un trojan de ce type serait facilement détecté par un antivirus, de même pour les outils de sécurité intégré à Google Chrome ou Gmail par exemple.

Pour rendre ce trojan difficilement détectable, des solutions existent et sont assez simples à mettre en oeuvre  :

  • Un .exe peut être injecté dans un autre .exe (comme un logiciel piraté par exemple).
  • Il peut être également réencodé pour le rendre indétectable, grâce à des outils intégrés à Kali-Linux.

Le .exe piégé sur la machine cible, attendant sagement son moment de gloire.

On y est, exécutons payload.exe sur la machine de la victime et observons ce qui se passe sur le terminal de la machine de l’attaquant :

Une session est détectée par le Listener.

Nous avons désormais le contrôle total de la machine de la victime.

Metasploit

Commençons doucement avec la commande sysinfo, afin d’en connaître plus sur la machine cible :

Il s’agit bien d’un Windows 10, build 14393 (très bon cru).

Allons fouiller dans les dossiers images (Pictures en anglais) de notre victime :

Nous trouvons des fichiers en .jpg, que nous pouvons télécharger une photo avec la commande “download” :

Nous venons de voler une photo sur l’ordinateur de ma victime.

Pour continuer la démonstration, espionnons les entrées claviers de notre cible avec la commande “keyscan_start”, puis sur l’ordinateur de la victime ouvrons le bloc note pour écrire quelques mots :

Le bloc note de la machine cible.

Retournons sur l’ordinateur de l’attaquant, et sortons un dump du keyscan :

Avec cet outil, il devient très facile de voler des identifiants et mots de passe.

Prise de contrôle de la webcam

Mais passons au test ultime, peut-on vraiment prendre contrôle d’une webcam grâce à cet outil ?

Listons les webcams disponibles :

Le prompt nous informe que l’ordinateur cible possède une webcam intégrée (c’est un ordinateur portable).

Très bien, que puis-je faire avec ?

Demandons à Meterpreter quelles sont nos options avec la commande “help” :

Les commandes webcam.

On peut donc (notamment)  :

  • Enregistrer de l’audio
  • Prendre une photo
  • Prendre une vidéo et la streamer via un navigateur web

Commençons par prendre une photo à distance :

Une belle photo de votre serviteur, un peu timide.

Allons plus loin, avec une capture vidéo en streaming via notre navigateur Firefox :

Une belle vidéo de votre serviteur, un peu surpris.

Rassurons-nous un peu, le voyant de la webcam s’est allumé, car lié physiquement à la webcam :

Cependant, à la prise de photo, le voyant ne s’allume qu’une seconde.

Et notre prise de contrôle nous permet de prendre des captures d’écran très facilement, et de manière indétectable, ce qui pourrait nous permettre de savoir si notre victime est sur son ordinateur.

Conclusion

Que d’émotions

Nous l’avons vu, avec des outils gratuits, et quelques connaissances en informatique, il est simple de créer un trojan (ma foi assez basique).

La prise de contrôle d’un système est totale et impressionnante : capture d’écran, surveillance par micro et webcam, navigation dans la machine… .

Nous ne l’avons pas étudié dans l’article, mais des attaques directes à distance (sans passer par un trojan) sont également possibles, mais plus difficiles. Il s’agit alors de scanner les différents ports de la machine cible afin d'identifier ses faiblesses (un logiciel ou une version de l’OS obsolète dans la plupart des cas).

Que faire pour s’en protéger ?

  • Se méfier des fichiers exécutables dont vous n'êtes pas sûrs de la source
  • Sortez couvert, installez un anti-virus
  • Mettre à jour régulièrement son OS et ses logiciels, et son anti-virus

L'adhésif, solution justifiée ?

Oui, et non.

Oui, car c’est finalement le niveau ultime de protection. Personne ne pourra enlever votre adhésif à distance.

Non, car la majorité des “hackers” préféreront garder les droits sur votre machine pour l’utiliser comme “zombie”. Ce que l'on vole au grand public, c'est du temps de CPU (de la puissance de calcul), des mots de passe, l'accès à ses données personnelles pour les revendre. Pour les postes à responsabilité (comme Mark Zuckerberg), c'est différent, et l'audio et la vidéo peuvent être des outils d'espionnage.