Prenez le contrôle d’une caméra de surveillance

 

Beaucoup de firmware et templates de caméras de vidéosurveillance ont des vulnérabilités. Si à priori cela peut paraître anodin, elles peuvent nuire à la vie privée de votre entreprise ou de votre logement si le réseau est mal sécurisé, ce qui empire les vulnérabilités logicielles pré-existantes. Nous allons voir un peu plus en détail l’origine de ce problème et et comment le résoudre si vous possedez un de ces systèmes vulnérables (Ou juste à but éducatif au cas où vous seriez un jour confrontés à ce genre de matériel).

Tour d’horizon

Nous pouvons penser au premier abord que pour pouvoir accéder à votre réseau de surveillance, il faut être un hacker / cracker chevronné et nous ne sommes donc pas concerné par ce type de problème (« Qui voudrait m’espionner, il n’y a rien d’intéressant à voir, nous sommes juste une entreprise familiale, personne ne nous trouvera, etc.. »). Or, avant d’aller plus loin, je vous propose d’ores et déjà de jeter un oeil sur ce site :

viewer-frame-mode.com

Un simple lien vous permet d’accéder aux réseaux de vidéosurveillance vulnérables dispersées un peu partout à travers la planète. Pas de compétences requises, pas besoin non plus de Optic Nerve ou de XKeyscore, juste besoin d’un peu de temps pour fouiller et pour faire quelques recherches (Peut-être y trouverez vous vos propres caméras).

Nous pouvons aussi aller plus loin avec un autre site, qui en plus de proposer des réseaux de surveillance et autres webcams personnelles, fournit aussi des bases de données (MySQL, PostgreSQL, etc…), des serveurs de jeux vidéo (Minecraft, Counter-Strike, etc…), ainsi que des systèmes de contrôle industriels (Siemens, Mitsubishi, les turbines Xzeres, etc…), ce qui comme vous pouvez le deviner peut facilier le travail des crackers et perturber le fonctionnement d’une entreprise (On a quand des turbines dans la liste, ce n’est pas DU TOUT anodin. Souvenez-vous de Stuxnet) :

shodan.io

Ce que nous allons voir plus bas pour les caméras, on peut aussi l’appliquer pour tout ce qui a été évoqué plus haut. C’est plus compliqué à compromettre, mais le principe est le même.

Les causes

Si le firmware et le template des caméras de vidéosurveillance comportent souvent des failles de sécurité, d’autres vulnérabilités sont parfois (Voire souvent…) humaines. Certains firmwares et templates ne sont pas mis à jour par les fabricants de caméras, parfois les mises à jour existent mais ne sont pas installées par les administrateurs du réseau de surveillance. Même si ces deux vulnérabilités représentent le coeur de problème, il existe aussi d’autres raisons.

L’accès à distance

Certains réseaux de surveillance ont souvent des ports ouverts, ce qui veut dire qu’ils sont accessibles en LAN (En local), mais aussi en WAN (À distance). Bien souvent, l’accès en WAN est inutile. Quand le poste de sécurité (ou poste de contrôle) se trouve au sein de l’entreprise, à quoi bon ouvrir le réseau sur l’extérieur quand personne n’y accès en remote ? Configurer correctement les ports afin de rendre impossible l’accès « au public averti » serait déjà une bonne grosse première étape. Mais cet aspect est souvent ignoré par laxisme, par naïveté, par manque de connaissances, de compétences ou tout simplement par oubli. Si vous avez un doute sur ce sujet, pensez à vérifier votre configuration ou à la faire vérifier par un professionel.

Accès restreint par un mot de passe

Comme rien n’est infaillible, surtout en informatique, protégez l’accès à votre réseau de surveillance par un mot de passe complexe. En donnant ce dernier aux personnes autorisées, vous vous assurerez qu’en cas de mauvais paramétrage des ports, les personnes malveillantes seront freinées dans leur quête de curiosité et seront obligées d’effectuer un brute-force (D’où l’intérêt de la complexité du mot de passe). Ça prend 5mn à mettre en place et ça renforcera les possibles failles logicielles et humaines.

Le transfert des données

Les personnes qui ont déjà programmé, et plus particulièrement en PHP, savent qu’il existe plusieurs manières de transférer des données d’une page à une autre. La plupart sont invisibles pour l’utilisateur, mais une d’entre elles l’est plus que le autres, même si vous n’avez jamais codé. Cette méthode s’appelle un $_GET, et permet de transférer des informations ou des paramètres directement au sein de l’URL. Vous pourrez trouver sur cette page quelques infos sur cette technique (La partie 1 de cette page suffit pour comprendre le concept).

Il se trouve que ces caméras ont aussi des paramètres, qui peuvent porter sur le format de l’image, le type de capture (Photo régulières, vidéo en temps réel, etc), et encore beaucoup d’autres. Dans l’exemple que nous allons voir un peu plus bas, la partie de l’URL qui permet de transmettre les paramètres s’appelle viewerframe. Elle permet de transférer, via l’adresse web, le mode de capture choisi (Dans notre exemple, on ciblera le mode Motion). C’est ce dont nous allons nous servir pour trouver les réseaux vulnérables grâce à la technique de recherche préférée des hackers : le Google Hacking !

Les Google Dorks

Google permet de chercher facilement plein de choses, je ne vous apprends rien (C’est probablement grâce à lui que vous lisez cet article). Mais il existe des opérateurs appelés des Dorks qui permettent d’affiner la recherche en ciblant des mots ou expressions contenues dans le texte, dans l’URL, dans le titre ou même de choisir un site précis ou aussi l’extension de notre choix (PDF, XML, etc…).

Si vous voulons trouver « Les fleurs Du Mal » en PDF, nous pouvons taper dans Google : « les fleurs du mal » ext:pdf

Si nous cherchons comment créer un fonction en PHP mais seulement sur quora.com, nous pouvons taper  : intitle:php create function site:quora.com

Ici, nous ciblons le terme PHP dans le titre et uniquement sur le site Quora.

Vous voyez maintenant le principe !

 

Passons à la pratique

Nous avons vu au-dessus que les paramètres des caméras sont transmis via l’URL. Nous allons donc cibler l’URL avec le dork « inurl: » avec les termes viewerframe, mode, motion, et le tout avec la « ponctuation » qui va bien (En retranscrivant au caractère près ce que transmettent les pages des templates). Faisons un essai avec la recherche suivante :

inurl:viewerframe?mode=motion .

Voici le résultat obtenu :

Google Dorks inurl viewerframe mode motion
Google Dorks inurl:viewerframe?mode=motion

Remarque : Si, après plusieurs recherches, Google vous demande de cliquer sur des montagnes ou des voitures (CAPTCHA) pour vérifier que vous n’êtes pas Mr Robot, passez par startpage.com. Ce site servira de proxy entre Google et vous, en plus d’anonymiser les recherches.

Il vous suffit maintenant de cliquer sur un des résultat et de jouer avec le joystick à gauche pour  tourner la caméra, la monter ou la descendre, zoomer, dézoomer, etc… Voici un exemple :

Webcam dans l'enclos d'une girafe dans un zoo japonais
Webcam dans l’enclos d’une girafe dans un zoo japonais

Le Dork que nous venons d’utiliser n’est pas le seul pour trouver des systèmes de surveillance vulnérables, il en existe d’autres. Comme dit plus haut, il en existe aussi beaucoup d’autres pour trouver d’autres types de vulnérabilités en tous genres.

 

Conclusion

Désormais, vous savez ce qui peut affaiblir votre réseau. Reprenez tout à zéro, même si vous êtes sûr de vous (En fait SURTOUT si vous êtes sûr) afin de vérifier que les ports ne sont pas ouverts inutilement ainsi que l’existence d’un mot de passe. Pour ce dernier, remplacez les habituels « admin » ou « 123456 » par un truc du genre « V&hY%5#Gf(@f6H » (Ne cherchez pas à retenir ça, KeePassX est votre ami. Il peut même vous en générer un). Et surtout, n’oubliez pas de mettre votre système à jour. Avec ces 3 points mis en place correctement, vous donnerez du fil à retordre aux crackers qui voudront s’amuser avec vous.

Enfin, n’oubliez pas non plus qu’en sécurité informatique, comme vous avez pu le comprendre avec cet article, la plus grosse faille se trouve souvent entre la chaise et le clavier.

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *